diff options
Diffstat (limited to 'python-picwriter.spec')
| -rw-r--r-- | python-picwriter.spec | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/python-picwriter.spec b/python-picwriter.spec new file mode 100644 index 0000000..4a76e84 --- /dev/null +++ b/python-picwriter.spec @@ -0,0 +1,308 @@ +%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: [](https://travis-ci.org/DerekK88/PICwriter) +Windows: [](https://ci.appveyor.com/project/DerekK88/PICwriter) +Documentation: [](http://picwriter.readthedocs.io/en/latest/?badge=latest) +[](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: [](https://travis-ci.org/DerekK88/PICwriter) +Windows: [](https://ci.appveyor.com/project/DerekK88/PICwriter) +Documentation: [](http://picwriter.readthedocs.io/en/latest/?badge=latest) +[](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: [](https://travis-ci.org/DerekK88/PICwriter) +Windows: [](https://ci.appveyor.com/project/DerekK88/PICwriter) +Documentation: [](http://picwriter.readthedocs.io/en/latest/?badge=latest) +[](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 <Python_Bot@openeuler.org> - 0.5-1 +- Package Spec generated |
