%global _empty_manifest_terminate_build 0 Name: python-picwriter Version: 0.5 Release: 1 Summary: Mask generation tool License: MIT URL: http://github.com/DerekK88/picwriter Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f2/ed/838969668eb0536d535612ad45924f0ef8daf16e2f6248ecfd494df18621/picwriter-0.5.tar.gz BuildArch: noarch Requires: python3-gdspy Requires: python3-numpy %description Linux/OS: [![Build Status](https://travis-ci.org/DerekK88/PICwriter.svg?branch=master)](https://travis-ci.org/DerekK88/PICwriter) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/f9q96u9na63hy3ce?svg=true)](https://ci.appveyor.com/project/DerekK88/PICwriter) Documentation: [![Documentation Status](https://readthedocs.org/projects/picwriter/badge/?version=latest)](http://picwriter.readthedocs.io/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) # PICwriter README Picwriter (Photonic-Integrated-Circuit Writer) is a [Python](https://www.python.org/) module, built above the [gdspy](https://github.com/heitzmann/gdspy) module, aimed at simplifying the process of designing complex masks for photonic integrated circuits through a prebuilt library of easy-to-implement PCells. Supported blocks currently include: * waveguides (strip, slot, and sub-wavelength grating) * grating couplers (straight and focusing) * tapers * strip to slot waveguide mode converters * directional couplers * adiabatic couplers * spiral structures (auto-generated from specified waveguide length) * 1x2 multi-mode interferometers * 2x2 multi-mode interferometers * ring & disk resonators with automatic bus waveguide wrapping * distributed bragg reflectors * Mach-Zehnder interferometers * alignment markers (for photolithography and ebeam lithography) * metal routes * bond pads Stay tuned, more components are coming soon! In the meantime, check out the documentation for this project at [picwriter.readthedocs.io](http://picwriter.readthedocs.io). ## Features The ultimate goal of this module is to reduce the time required to generate photonic integrated circuit mask designs, by extending the functionality of the gdspy library. * High-level specification of common building blocks for photonic-integrated circuits * Fabrication specific masks. Specify the photoresist type (`'+'` or `'-'`) and fabrication type (such as `'ETCH'`) and PICwriter will generate the appropriate mask files for electron-beam or photolithography. * All library components are subclasses of the gdspy Cell class, so gdspy Cell features such as `rotation()`, `copy()`, `flatten()`, `get_bounding_box()`, etc. are all supported. ## Installation ### Dependencies: With a working version of python, all dependencies should be automatically installed through the instructions below. * [Python](http://www.python.org/) (tested with versions 2.7, 3.4, 3.5, 3.6 for Linux/OS, tested with versions 2.7, 3.4, 3.5, 3.6, 2.7-x64, 3.4-x64, 3.5-x64, 3.6-x64 for Windows.) * [gdspy](https://github.com/heitzmann/gdspy) (tested with versions 2.7, 3.4, 3.5, and 3.6) * [Numpy](http://numpy.scipy.org/) * [SciPy](https://www.scipy.org/) * [Python-future](http://python-future.org/) (only for Python 2) ### Linux / OS X Both options should automatically install all dependencies (like gdspy, numpy, etc.). Option 1: using [pip](https://docs.python.org/3/installing/): ```sh pip install picwriter ``` Option 2: download the source from [github](https://github.com/DerekK88/picwriter) and build/install with: ```sh python setup.py install ``` ### Windows The best way of obtaining the library is by installing the prebuilt binaries. * First, go to the [gdspy appveyor project page](https://ci.appveyor.com/project/heitzmann/gdspy), then click the python environment that matches your python version and processor type. For example, if you have a 64-bit processor with Python version 3.5 (you can check by running `python --version` in a command prompt) then you would click 'PYTHON=C:\Python35-x64'. Then, click the **Artifacts** tab and download the corresponding `dist\gdspy-1.X.X.X.whl` wheel file. * Open up a command prompt (type `cmd` in the search bar), navigate to your downloads, then install via: ```sh pip install dist\gdspy-1.X.X.X.whl ``` * Next, install the PICwriter library by following the same procedure as before at the [picwriter appveyor page](https://ci.appveyor.com/project/DerekK88/picwriter) to install the corresponding prebuilt picwriter `.whl` file. * In a command prompt, navigate to your downloads and install with pip: ```sh pip install dist\picwriter-1.X.X.X.whl ``` Building from source is also possible. For installing gdspy, an appropriate build environment is required for compilation of the C extension modules. %package -n python3-picwriter Summary: Mask generation tool Provides: python-picwriter BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-picwriter Linux/OS: [![Build Status](https://travis-ci.org/DerekK88/PICwriter.svg?branch=master)](https://travis-ci.org/DerekK88/PICwriter) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/f9q96u9na63hy3ce?svg=true)](https://ci.appveyor.com/project/DerekK88/PICwriter) Documentation: [![Documentation Status](https://readthedocs.org/projects/picwriter/badge/?version=latest)](http://picwriter.readthedocs.io/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) # PICwriter README Picwriter (Photonic-Integrated-Circuit Writer) is a [Python](https://www.python.org/) module, built above the [gdspy](https://github.com/heitzmann/gdspy) module, aimed at simplifying the process of designing complex masks for photonic integrated circuits through a prebuilt library of easy-to-implement PCells. Supported blocks currently include: * waveguides (strip, slot, and sub-wavelength grating) * grating couplers (straight and focusing) * tapers * strip to slot waveguide mode converters * directional couplers * adiabatic couplers * spiral structures (auto-generated from specified waveguide length) * 1x2 multi-mode interferometers * 2x2 multi-mode interferometers * ring & disk resonators with automatic bus waveguide wrapping * distributed bragg reflectors * Mach-Zehnder interferometers * alignment markers (for photolithography and ebeam lithography) * metal routes * bond pads Stay tuned, more components are coming soon! In the meantime, check out the documentation for this project at [picwriter.readthedocs.io](http://picwriter.readthedocs.io). ## Features The ultimate goal of this module is to reduce the time required to generate photonic integrated circuit mask designs, by extending the functionality of the gdspy library. * High-level specification of common building blocks for photonic-integrated circuits * Fabrication specific masks. Specify the photoresist type (`'+'` or `'-'`) and fabrication type (such as `'ETCH'`) and PICwriter will generate the appropriate mask files for electron-beam or photolithography. * All library components are subclasses of the gdspy Cell class, so gdspy Cell features such as `rotation()`, `copy()`, `flatten()`, `get_bounding_box()`, etc. are all supported. ## Installation ### Dependencies: With a working version of python, all dependencies should be automatically installed through the instructions below. * [Python](http://www.python.org/) (tested with versions 2.7, 3.4, 3.5, 3.6 for Linux/OS, tested with versions 2.7, 3.4, 3.5, 3.6, 2.7-x64, 3.4-x64, 3.5-x64, 3.6-x64 for Windows.) * [gdspy](https://github.com/heitzmann/gdspy) (tested with versions 2.7, 3.4, 3.5, and 3.6) * [Numpy](http://numpy.scipy.org/) * [SciPy](https://www.scipy.org/) * [Python-future](http://python-future.org/) (only for Python 2) ### Linux / OS X Both options should automatically install all dependencies (like gdspy, numpy, etc.). Option 1: using [pip](https://docs.python.org/3/installing/): ```sh pip install picwriter ``` Option 2: download the source from [github](https://github.com/DerekK88/picwriter) and build/install with: ```sh python setup.py install ``` ### Windows The best way of obtaining the library is by installing the prebuilt binaries. * First, go to the [gdspy appveyor project page](https://ci.appveyor.com/project/heitzmann/gdspy), then click the python environment that matches your python version and processor type. For example, if you have a 64-bit processor with Python version 3.5 (you can check by running `python --version` in a command prompt) then you would click 'PYTHON=C:\Python35-x64'. Then, click the **Artifacts** tab and download the corresponding `dist\gdspy-1.X.X.X.whl` wheel file. * Open up a command prompt (type `cmd` in the search bar), navigate to your downloads, then install via: ```sh pip install dist\gdspy-1.X.X.X.whl ``` * Next, install the PICwriter library by following the same procedure as before at the [picwriter appveyor page](https://ci.appveyor.com/project/DerekK88/picwriter) to install the corresponding prebuilt picwriter `.whl` file. * In a command prompt, navigate to your downloads and install with pip: ```sh pip install dist\picwriter-1.X.X.X.whl ``` Building from source is also possible. For installing gdspy, an appropriate build environment is required for compilation of the C extension modules. %package help Summary: Development documents and examples for picwriter Provides: python3-picwriter-doc %description help Linux/OS: [![Build Status](https://travis-ci.org/DerekK88/PICwriter.svg?branch=master)](https://travis-ci.org/DerekK88/PICwriter) Windows: [![Build status](https://ci.appveyor.com/api/projects/status/f9q96u9na63hy3ce?svg=true)](https://ci.appveyor.com/project/DerekK88/PICwriter) Documentation: [![Documentation Status](https://readthedocs.org/projects/picwriter/badge/?version=latest)](http://picwriter.readthedocs.io/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) # PICwriter README Picwriter (Photonic-Integrated-Circuit Writer) is a [Python](https://www.python.org/) module, built above the [gdspy](https://github.com/heitzmann/gdspy) module, aimed at simplifying the process of designing complex masks for photonic integrated circuits through a prebuilt library of easy-to-implement PCells. Supported blocks currently include: * waveguides (strip, slot, and sub-wavelength grating) * grating couplers (straight and focusing) * tapers * strip to slot waveguide mode converters * directional couplers * adiabatic couplers * spiral structures (auto-generated from specified waveguide length) * 1x2 multi-mode interferometers * 2x2 multi-mode interferometers * ring & disk resonators with automatic bus waveguide wrapping * distributed bragg reflectors * Mach-Zehnder interferometers * alignment markers (for photolithography and ebeam lithography) * metal routes * bond pads Stay tuned, more components are coming soon! In the meantime, check out the documentation for this project at [picwriter.readthedocs.io](http://picwriter.readthedocs.io). ## Features The ultimate goal of this module is to reduce the time required to generate photonic integrated circuit mask designs, by extending the functionality of the gdspy library. * High-level specification of common building blocks for photonic-integrated circuits * Fabrication specific masks. Specify the photoresist type (`'+'` or `'-'`) and fabrication type (such as `'ETCH'`) and PICwriter will generate the appropriate mask files for electron-beam or photolithography. * All library components are subclasses of the gdspy Cell class, so gdspy Cell features such as `rotation()`, `copy()`, `flatten()`, `get_bounding_box()`, etc. are all supported. ## Installation ### Dependencies: With a working version of python, all dependencies should be automatically installed through the instructions below. * [Python](http://www.python.org/) (tested with versions 2.7, 3.4, 3.5, 3.6 for Linux/OS, tested with versions 2.7, 3.4, 3.5, 3.6, 2.7-x64, 3.4-x64, 3.5-x64, 3.6-x64 for Windows.) * [gdspy](https://github.com/heitzmann/gdspy) (tested with versions 2.7, 3.4, 3.5, and 3.6) * [Numpy](http://numpy.scipy.org/) * [SciPy](https://www.scipy.org/) * [Python-future](http://python-future.org/) (only for Python 2) ### Linux / OS X Both options should automatically install all dependencies (like gdspy, numpy, etc.). Option 1: using [pip](https://docs.python.org/3/installing/): ```sh pip install picwriter ``` Option 2: download the source from [github](https://github.com/DerekK88/picwriter) and build/install with: ```sh python setup.py install ``` ### Windows The best way of obtaining the library is by installing the prebuilt binaries. * First, go to the [gdspy appveyor project page](https://ci.appveyor.com/project/heitzmann/gdspy), then click the python environment that matches your python version and processor type. For example, if you have a 64-bit processor with Python version 3.5 (you can check by running `python --version` in a command prompt) then you would click 'PYTHON=C:\Python35-x64'. Then, click the **Artifacts** tab and download the corresponding `dist\gdspy-1.X.X.X.whl` wheel file. * Open up a command prompt (type `cmd` in the search bar), navigate to your downloads, then install via: ```sh pip install dist\gdspy-1.X.X.X.whl ``` * Next, install the PICwriter library by following the same procedure as before at the [picwriter appveyor page](https://ci.appveyor.com/project/DerekK88/picwriter) to install the corresponding prebuilt picwriter `.whl` file. * In a command prompt, navigate to your downloads and install with pip: ```sh pip install dist\picwriter-1.X.X.X.whl ``` Building from source is also possible. For installing gdspy, an appropriate build environment is required for compilation of the C extension modules. %prep %autosetup -n picwriter-0.5 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-picwriter -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.5-1 - Package Spec generated