diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-pyodc.spec | 531 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 533 insertions, 0 deletions
@@ -0,0 +1 @@ +/pyodc-1.1.4.tar.gz diff --git a/python-pyodc.spec b/python-pyodc.spec new file mode 100644 index 0000000..0689ea1 --- /dev/null +++ b/python-pyodc.spec @@ -0,0 +1,531 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyodc +Version: 1.1.4 +Release: 1 +Summary: A Python interface to odc for encoding/decoding ODB-2 files. +License: Apache License Version 2.0 +URL: https://github.com/ecmwf/pyodc +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/29/65/8e3f6f80f4fa3094cbf52d63108e6c99b3a1ac8d6713866530386ad331e7/pyodc-1.1.4.tar.gz +BuildArch: noarch + + +%description +# pyodc + +[](https://pypi.org/project/pyodc/) +[](https://github.com/ecmwf/pyodc/actions/workflows/ci.yml) +[](https://pyodc.readthedocs.io/en/latest/?badge=latest) +[](https://github.com/psf/black) +[](https://github.com/ecmwf/pyodc/blob/develop/LICENSE) + +A Python interface to `odc` for encoding/decoding ODB\-2 files. + +The package contains two different implementations of the same library: + +* `pyodc` is a pure-python encoder and decoder for ODB\-2 data, which encodes data from, and decodes it into pandas data frames +* `codc` is an implementation of the same API as `pyodc` that depends on the ECMWF `odc` library, and comes with _much_ better performance + +[Documentation] [Changelog] + +## Dependencies + +### Required + +* Python 3.x + +### Optional + +* [odc] +* [pytest] +* [pandoc] +* [Jupyter Notebook] + +For `codc` to work, `odc` library must be compiled and installed on the system and made available to Python (through the CFFI mechanism) as a shared library. There are multiple ways to make the library visible to CFFI: it can be installed as a system library, the installation prefix can be passed in `odc_DIR` environment variable, or the library directory can be included in `LD_LIBRARY_PATH`. + +## Installation + +```sh +pip install --user pyodc +``` + +Check if the module was installed correctly: + +```sh +python +>>> import pyodc +>>> import codc # optional +``` + +## Usage + +An introductory Jupyter Notebook with helpful usage examples is provided in the root of this repository: + +```sh +git clone git@github.com:ecmwf/pyodc.git +cd pyodc +jupyter notebook Introduction.ipynb +``` + +## Development + +### Run Unit Tests + +To run the unit tests, make sure that the `pytest` module is installed first: + +```sh +python -m pytest +``` + +### Build Documentation + +To build the documentation locally, please install the Python dependencies first: + +```sh +cd docs +pip install -r requirements.txt +make html +``` + +The built HTML documentation will be available under the `docs/_build/html/index.html` path. + +## License + +This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + +In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. + +[Documentation]: https://pyodc.readthedocs.io/en/latest/ +[Changelog]: ./CHANGELOG.md +[odc]: https://github.com/ecmwf/odc +[pytest]: https://pytest.org +[pandoc]: https://pandoc.org/ +[Jupyter Notebook]: https://jupyter.org + +# Changelog for pyodc + +## 1.1.3 + +* Improved github/ci integration + +## 1.1.2 + +* Fixed [#6]: pip install breaks codc + +## 1.1.1 + +* Fixed [ODB-534]: PyPI package is missing CHANGELOG + +## 1.1.0 + +* Fixed [ODB-533]: Decode data starting with missing values correctly +* Fixed [ODB-530]: Bitfield column inspection returns incomplete data in pure-Python implementation +* Bumped up required `odc` version number to 1.4.0 +* Added missing frame properties accessor to `codc` interface +* Fixed [ODB-525]: Setting odc prefix variable (`odc_DIR`) does not work as expected on macOS +* Fixed [ODB-524]: Keys and values in decoded frame properties are switched on older Python version +* Added test flag to skip `codc` tests on demand (`PYODC_SKIP_CODC`) +* Fixed [ODB-523]: Additional properties parameter is omitted in encode_odb() when string is passed as file +* Fixed package setup metadata +* Added documentation + +## 1.0.4 + +* Correct support for constant codecs +* Decoding by column short name + +## 1.0.3 + +* Specify `odc` library location with `odc/ODC_DIR` +* Correct `setup.py` dependencies to include pandas +* Support missing ConstantString values encoded from ODB1 using the `odb_migrator` + +## 1.0.2 + +* String missing values should be `None` not `NaN` +* Refactor oneshot behaviour (`read_odb_oneshot` --> `read_odb(..., single=True)`) +* Raise correct error on `odc` not found +* Split `codb.py` into a full `codc` module +* Fix miscellaneous bugs + +## 1.0.1 + +* Fixed automatic selection of integral codecs + +## 1.0.0 + +* Initial version + + +[#6]: https://github.com/ecmwf/pyodc/issues/6 +[ODB-534]: https://jira.ecmwf.int/browse/ODB-534 +[ODB-533]: https://jira.ecmwf.int/browse/ODB-533 +[ODB-530]: https://jira.ecmwf.int/browse/ODB-530 +[ODB-525]: https://jira.ecmwf.int/browse/ODB-525 +[ODB-524]: https://jira.ecmwf.int/browse/ODB-524 +[ODB-523]: https://jira.ecmwf.int/browse/ODB-523 + + +%package -n python3-pyodc +Summary: A Python interface to odc for encoding/decoding ODB-2 files. +Provides: python-pyodc +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyodc +# pyodc + +[](https://pypi.org/project/pyodc/) +[](https://github.com/ecmwf/pyodc/actions/workflows/ci.yml) +[](https://pyodc.readthedocs.io/en/latest/?badge=latest) +[](https://github.com/psf/black) +[](https://github.com/ecmwf/pyodc/blob/develop/LICENSE) + +A Python interface to `odc` for encoding/decoding ODB\-2 files. + +The package contains two different implementations of the same library: + +* `pyodc` is a pure-python encoder and decoder for ODB\-2 data, which encodes data from, and decodes it into pandas data frames +* `codc` is an implementation of the same API as `pyodc` that depends on the ECMWF `odc` library, and comes with _much_ better performance + +[Documentation] [Changelog] + +## Dependencies + +### Required + +* Python 3.x + +### Optional + +* [odc] +* [pytest] +* [pandoc] +* [Jupyter Notebook] + +For `codc` to work, `odc` library must be compiled and installed on the system and made available to Python (through the CFFI mechanism) as a shared library. There are multiple ways to make the library visible to CFFI: it can be installed as a system library, the installation prefix can be passed in `odc_DIR` environment variable, or the library directory can be included in `LD_LIBRARY_PATH`. + +## Installation + +```sh +pip install --user pyodc +``` + +Check if the module was installed correctly: + +```sh +python +>>> import pyodc +>>> import codc # optional +``` + +## Usage + +An introductory Jupyter Notebook with helpful usage examples is provided in the root of this repository: + +```sh +git clone git@github.com:ecmwf/pyodc.git +cd pyodc +jupyter notebook Introduction.ipynb +``` + +## Development + +### Run Unit Tests + +To run the unit tests, make sure that the `pytest` module is installed first: + +```sh +python -m pytest +``` + +### Build Documentation + +To build the documentation locally, please install the Python dependencies first: + +```sh +cd docs +pip install -r requirements.txt +make html +``` + +The built HTML documentation will be available under the `docs/_build/html/index.html` path. + +## License + +This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + +In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. + +[Documentation]: https://pyodc.readthedocs.io/en/latest/ +[Changelog]: ./CHANGELOG.md +[odc]: https://github.com/ecmwf/odc +[pytest]: https://pytest.org +[pandoc]: https://pandoc.org/ +[Jupyter Notebook]: https://jupyter.org + +# Changelog for pyodc + +## 1.1.3 + +* Improved github/ci integration + +## 1.1.2 + +* Fixed [#6]: pip install breaks codc + +## 1.1.1 + +* Fixed [ODB-534]: PyPI package is missing CHANGELOG + +## 1.1.0 + +* Fixed [ODB-533]: Decode data starting with missing values correctly +* Fixed [ODB-530]: Bitfield column inspection returns incomplete data in pure-Python implementation +* Bumped up required `odc` version number to 1.4.0 +* Added missing frame properties accessor to `codc` interface +* Fixed [ODB-525]: Setting odc prefix variable (`odc_DIR`) does not work as expected on macOS +* Fixed [ODB-524]: Keys and values in decoded frame properties are switched on older Python version +* Added test flag to skip `codc` tests on demand (`PYODC_SKIP_CODC`) +* Fixed [ODB-523]: Additional properties parameter is omitted in encode_odb() when string is passed as file +* Fixed package setup metadata +* Added documentation + +## 1.0.4 + +* Correct support for constant codecs +* Decoding by column short name + +## 1.0.3 + +* Specify `odc` library location with `odc/ODC_DIR` +* Correct `setup.py` dependencies to include pandas +* Support missing ConstantString values encoded from ODB1 using the `odb_migrator` + +## 1.0.2 + +* String missing values should be `None` not `NaN` +* Refactor oneshot behaviour (`read_odb_oneshot` --> `read_odb(..., single=True)`) +* Raise correct error on `odc` not found +* Split `codb.py` into a full `codc` module +* Fix miscellaneous bugs + +## 1.0.1 + +* Fixed automatic selection of integral codecs + +## 1.0.0 + +* Initial version + + +[#6]: https://github.com/ecmwf/pyodc/issues/6 +[ODB-534]: https://jira.ecmwf.int/browse/ODB-534 +[ODB-533]: https://jira.ecmwf.int/browse/ODB-533 +[ODB-530]: https://jira.ecmwf.int/browse/ODB-530 +[ODB-525]: https://jira.ecmwf.int/browse/ODB-525 +[ODB-524]: https://jira.ecmwf.int/browse/ODB-524 +[ODB-523]: https://jira.ecmwf.int/browse/ODB-523 + + +%package help +Summary: Development documents and examples for pyodc +Provides: python3-pyodc-doc +%description help +# pyodc + +[](https://pypi.org/project/pyodc/) +[](https://github.com/ecmwf/pyodc/actions/workflows/ci.yml) +[](https://pyodc.readthedocs.io/en/latest/?badge=latest) +[](https://github.com/psf/black) +[](https://github.com/ecmwf/pyodc/blob/develop/LICENSE) + +A Python interface to `odc` for encoding/decoding ODB\-2 files. + +The package contains two different implementations of the same library: + +* `pyodc` is a pure-python encoder and decoder for ODB\-2 data, which encodes data from, and decodes it into pandas data frames +* `codc` is an implementation of the same API as `pyodc` that depends on the ECMWF `odc` library, and comes with _much_ better performance + +[Documentation] [Changelog] + +## Dependencies + +### Required + +* Python 3.x + +### Optional + +* [odc] +* [pytest] +* [pandoc] +* [Jupyter Notebook] + +For `codc` to work, `odc` library must be compiled and installed on the system and made available to Python (through the CFFI mechanism) as a shared library. There are multiple ways to make the library visible to CFFI: it can be installed as a system library, the installation prefix can be passed in `odc_DIR` environment variable, or the library directory can be included in `LD_LIBRARY_PATH`. + +## Installation + +```sh +pip install --user pyodc +``` + +Check if the module was installed correctly: + +```sh +python +>>> import pyodc +>>> import codc # optional +``` + +## Usage + +An introductory Jupyter Notebook with helpful usage examples is provided in the root of this repository: + +```sh +git clone git@github.com:ecmwf/pyodc.git +cd pyodc +jupyter notebook Introduction.ipynb +``` + +## Development + +### Run Unit Tests + +To run the unit tests, make sure that the `pytest` module is installed first: + +```sh +python -m pytest +``` + +### Build Documentation + +To build the documentation locally, please install the Python dependencies first: + +```sh +cd docs +pip install -r requirements.txt +make html +``` + +The built HTML documentation will be available under the `docs/_build/html/index.html` path. + +## License + +This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + +In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. + +[Documentation]: https://pyodc.readthedocs.io/en/latest/ +[Changelog]: ./CHANGELOG.md +[odc]: https://github.com/ecmwf/odc +[pytest]: https://pytest.org +[pandoc]: https://pandoc.org/ +[Jupyter Notebook]: https://jupyter.org + +# Changelog for pyodc + +## 1.1.3 + +* Improved github/ci integration + +## 1.1.2 + +* Fixed [#6]: pip install breaks codc + +## 1.1.1 + +* Fixed [ODB-534]: PyPI package is missing CHANGELOG + +## 1.1.0 + +* Fixed [ODB-533]: Decode data starting with missing values correctly +* Fixed [ODB-530]: Bitfield column inspection returns incomplete data in pure-Python implementation +* Bumped up required `odc` version number to 1.4.0 +* Added missing frame properties accessor to `codc` interface +* Fixed [ODB-525]: Setting odc prefix variable (`odc_DIR`) does not work as expected on macOS +* Fixed [ODB-524]: Keys and values in decoded frame properties are switched on older Python version +* Added test flag to skip `codc` tests on demand (`PYODC_SKIP_CODC`) +* Fixed [ODB-523]: Additional properties parameter is omitted in encode_odb() when string is passed as file +* Fixed package setup metadata +* Added documentation + +## 1.0.4 + +* Correct support for constant codecs +* Decoding by column short name + +## 1.0.3 + +* Specify `odc` library location with `odc/ODC_DIR` +* Correct `setup.py` dependencies to include pandas +* Support missing ConstantString values encoded from ODB1 using the `odb_migrator` + +## 1.0.2 + +* String missing values should be `None` not `NaN` +* Refactor oneshot behaviour (`read_odb_oneshot` --> `read_odb(..., single=True)`) +* Raise correct error on `odc` not found +* Split `codb.py` into a full `codc` module +* Fix miscellaneous bugs + +## 1.0.1 + +* Fixed automatic selection of integral codecs + +## 1.0.0 + +* Initial version + + +[#6]: https://github.com/ecmwf/pyodc/issues/6 +[ODB-534]: https://jira.ecmwf.int/browse/ODB-534 +[ODB-533]: https://jira.ecmwf.int/browse/ODB-533 +[ODB-530]: https://jira.ecmwf.int/browse/ODB-530 +[ODB-525]: https://jira.ecmwf.int/browse/ODB-525 +[ODB-524]: https://jira.ecmwf.int/browse/ODB-524 +[ODB-523]: https://jira.ecmwf.int/browse/ODB-523 + + +%prep +%autosetup -n pyodc-1.1.4 + +%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-pyodc -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.4-1 +- Package Spec generated @@ -0,0 +1 @@ +83253a0fd5fc3329150a96e9fc3b885d pyodc-1.1.4.tar.gz |
