diff options
Diffstat (limited to 'python-gdx2py.spec')
| -rw-r--r-- | python-gdx2py.spec | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/python-gdx2py.spec b/python-gdx2py.spec new file mode 100644 index 0000000..8946a99 --- /dev/null +++ b/python-gdx2py.spec @@ -0,0 +1,244 @@ +%global _empty_manifest_terminate_build 0 +Name: python-GDX2py +Version: 2.1.1 +Release: 1 +Summary: Read and write GAMS Data eXchange (GDX) files using Python +License: MIT +URL: https://github.com/ererkka/GDX2py +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4d/32/a8bd371bb9b1d7c0bad3cb2812bb487913c7e379bfcde048d861d80b9b77/GDX2py-2.1.1.tar.gz +BuildArch: noarch + +Requires: python3-gdxcc + +%description +# GDX2py + +[](https://gdx2py.readthedocs.io/en/latest/?badge=latest) + +Read and write GAMS Data eXchange (GDX) files using Python. + +## Requirements + +- GAMS: version 24.1 or higher +- Python: 3.6 or higher +- GAMS Data Exchange API (gdxcc): 7.0 or higher + + +### Installing GAMS + +Get GAMS from [https://www.gams.com/download/](https://www.gams.com/download/) +and install it to your system. No license is needed for the use of GDX libraries. + + +## Installation + +Install with + + pip install gdx2py + + +## Usage + + >>> from gdx2py import GdxFile, GAMSSet, GAMSScalar, GAMSParameter + >>> with GdxFile('/path/to/gdx/file.gdx', mode='w') as gdx: + >>> gdx['set1'] = ['a', 'b', 'c'] # Write a simple set + >>> set1 = gdx['set1'] # Read a symbol + >>> # Write a 2-dimensional set + >>> gdx['set2'] = [('a', 'foo'), ('b', 'bar'), ('c', 'baz')] + >>> # Write a scalar with explanatory text + >>> gdx['scalar'] = GAMSScalar(3.14, expl_text="Value of pi") + >>> # Write a parameter with domain + >>> gdx['par1'] = GAMSParameter({'a': 1, 'b': 2, + 'c': 3, 'd': 4 }, + domain=['set1']) + +## Comparison to similar packages + +Compared to other packages like [PyGDX](https://github.com/khaeru/py-gdx), [gdx-pandas](https://github.com/NREL/gdx-pandas), [gdxtools](https://github.com/boxblox/gdxtools) and [gdxpy](https://github.com/jackjackk/gdxpy), *GDX2py* relies only on the Python standard library and the low-level GDX API `gdxcc` package which is available on PyPI. + + +<hr> +<center> +<table width=500px frame="none"> +<tr> +<td valign="middle" width=100px> +<img src=https://europa.eu/european-union/sites/europaeu/files/docs/body/flag_yellow_low.jpg alt="EU emblem" width=100%></td> +<td valign="middle">This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 774629.</td> +</table> +</center> + + + + +%package -n python3-GDX2py +Summary: Read and write GAMS Data eXchange (GDX) files using Python +Provides: python-GDX2py +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-GDX2py +# GDX2py + +[](https://gdx2py.readthedocs.io/en/latest/?badge=latest) + +Read and write GAMS Data eXchange (GDX) files using Python. + +## Requirements + +- GAMS: version 24.1 or higher +- Python: 3.6 or higher +- GAMS Data Exchange API (gdxcc): 7.0 or higher + + +### Installing GAMS + +Get GAMS from [https://www.gams.com/download/](https://www.gams.com/download/) +and install it to your system. No license is needed for the use of GDX libraries. + + +## Installation + +Install with + + pip install gdx2py + + +## Usage + + >>> from gdx2py import GdxFile, GAMSSet, GAMSScalar, GAMSParameter + >>> with GdxFile('/path/to/gdx/file.gdx', mode='w') as gdx: + >>> gdx['set1'] = ['a', 'b', 'c'] # Write a simple set + >>> set1 = gdx['set1'] # Read a symbol + >>> # Write a 2-dimensional set + >>> gdx['set2'] = [('a', 'foo'), ('b', 'bar'), ('c', 'baz')] + >>> # Write a scalar with explanatory text + >>> gdx['scalar'] = GAMSScalar(3.14, expl_text="Value of pi") + >>> # Write a parameter with domain + >>> gdx['par1'] = GAMSParameter({'a': 1, 'b': 2, + 'c': 3, 'd': 4 }, + domain=['set1']) + +## Comparison to similar packages + +Compared to other packages like [PyGDX](https://github.com/khaeru/py-gdx), [gdx-pandas](https://github.com/NREL/gdx-pandas), [gdxtools](https://github.com/boxblox/gdxtools) and [gdxpy](https://github.com/jackjackk/gdxpy), *GDX2py* relies only on the Python standard library and the low-level GDX API `gdxcc` package which is available on PyPI. + + +<hr> +<center> +<table width=500px frame="none"> +<tr> +<td valign="middle" width=100px> +<img src=https://europa.eu/european-union/sites/europaeu/files/docs/body/flag_yellow_low.jpg alt="EU emblem" width=100%></td> +<td valign="middle">This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 774629.</td> +</table> +</center> + + + + +%package help +Summary: Development documents and examples for GDX2py +Provides: python3-GDX2py-doc +%description help +# GDX2py + +[](https://gdx2py.readthedocs.io/en/latest/?badge=latest) + +Read and write GAMS Data eXchange (GDX) files using Python. + +## Requirements + +- GAMS: version 24.1 or higher +- Python: 3.6 or higher +- GAMS Data Exchange API (gdxcc): 7.0 or higher + + +### Installing GAMS + +Get GAMS from [https://www.gams.com/download/](https://www.gams.com/download/) +and install it to your system. No license is needed for the use of GDX libraries. + + +## Installation + +Install with + + pip install gdx2py + + +## Usage + + >>> from gdx2py import GdxFile, GAMSSet, GAMSScalar, GAMSParameter + >>> with GdxFile('/path/to/gdx/file.gdx', mode='w') as gdx: + >>> gdx['set1'] = ['a', 'b', 'c'] # Write a simple set + >>> set1 = gdx['set1'] # Read a symbol + >>> # Write a 2-dimensional set + >>> gdx['set2'] = [('a', 'foo'), ('b', 'bar'), ('c', 'baz')] + >>> # Write a scalar with explanatory text + >>> gdx['scalar'] = GAMSScalar(3.14, expl_text="Value of pi") + >>> # Write a parameter with domain + >>> gdx['par1'] = GAMSParameter({'a': 1, 'b': 2, + 'c': 3, 'd': 4 }, + domain=['set1']) + +## Comparison to similar packages + +Compared to other packages like [PyGDX](https://github.com/khaeru/py-gdx), [gdx-pandas](https://github.com/NREL/gdx-pandas), [gdxtools](https://github.com/boxblox/gdxtools) and [gdxpy](https://github.com/jackjackk/gdxpy), *GDX2py* relies only on the Python standard library and the low-level GDX API `gdxcc` package which is available on PyPI. + + +<hr> +<center> +<table width=500px frame="none"> +<tr> +<td valign="middle" width=100px> +<img src=https://europa.eu/european-union/sites/europaeu/files/docs/body/flag_yellow_low.jpg alt="EU emblem" width=100%></td> +<td valign="middle">This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 774629.</td> +</table> +</center> + + + + +%prep +%autosetup -n GDX2py-2.1.1 + +%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-GDX2py -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.1-1 +- Package Spec generated |
