diff options
author | CoprDistGit <copr-devel@lists.fedorahosted.org> | 2023-02-24 10:40:41 +0000 |
---|---|---|
committer | CoprDistGit <copr-devel@lists.fedorahosted.org> | 2023-02-24 10:40:41 +0000 |
commit | f3edc8e412914b3d992c86b0e905ff303f0107a3 (patch) | |
tree | 260483f53669446007c00ba452070b2b47cf5ed3 /python-fastavro.spec | |
parent | 900164e84a541be383485baaf44c158deec6e3ca (diff) |
automatic import of python3-fastavroopeneuler20.03
Diffstat (limited to 'python-fastavro.spec')
-rw-r--r-- | python-fastavro.spec | 397 |
1 files changed, 397 insertions, 0 deletions
diff --git a/python-fastavro.spec b/python-fastavro.spec new file mode 100644 index 0000000..e6bbeee --- /dev/null +++ b/python-fastavro.spec @@ -0,0 +1,397 @@ +%global _empty_manifest_terminate_build 0 +Name: python-fastavro +Version: 1.7.2 +Release: 1 +Summary: Fast read/write of AVRO files +License: MIT +URL: https://github.com/fastavro/fastavro +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9c/22/4dbd4e88640a7fd083d97c7d1de2e8d4f3cccc5d52d8f61a930363bcdb41/fastavro-1.7.2.tar.gz + + +%description +# fastavro +[](https://github.com/fastavro/fastavro/actions) +[](http://fastavro.readthedocs.io/en/latest/?badge=latest) +[](https://codecov.io/gh/fastavro/fastavro) + + +Because the Apache Python `avro` package is written in pure Python, it is +relatively slow. In one test case, it takes about 14 seconds to iterate through +a file of 10,000 records. By comparison, the JAVA `avro` SDK reads the same file in +1.9 seconds. + +The `fastavro` library was written to offer performance comparable to the Java +library. With regular CPython, `fastavro` uses C extensions which allow it to +iterate the same 10,000 record file in 1.7 seconds. With PyPy, this drops to 1.5 +seconds (to be fair, the JAVA benchmark is doing some extra JSON +encoding/decoding). + +`fastavro` supports the following Python versions: + +* Python 3.7 +* Python 3.8 +* Python 3.9 +* Python 3.10 +* Python 3.11 +* PyPy3 + +## Supported Features + +* File Writer +* File Reader (iterating via records or blocks) +* Schemaless Writer +* Schemaless Reader +* JSON Writer +* JSON Reader +* Codecs (Snappy, Deflate, Zstandard, Bzip2, LZ4, XZ) +* Schema resolution +* Aliases +* Logical Types +* Parsing schemas into the canonical form +* Schema fingerprinting + +## Missing Features + +* Anything involving Avro's RPC features + +[Cython]: http://cython.org/ + +# Documentation + +Documentation is available at http://fastavro.readthedocs.io/en/latest/ + +# Installing +`fastavro` is available both on [PyPI](http://pypi.python.org/pypi) + + pip install fastavro + +and on [conda-forge](https://conda-forge.github.io) `conda` channel. + + conda install -c conda-forge fastavro + +# Contributing + +* Bugs and new feature requests typically start as GitHub issues where they can be discussed. I try to resolve these as time affords, but PRs are welcome from all. +* Get approval from discussing on the GitHub issue before opening the pull request +* Tests must be passing for pull request to be considered + +Developer requirements can be installed with `pip install -r developer_requirements.txt`. +If those are installed, you can run the tests with `./run-tests.sh`. If you have trouble +installing those dependencies, you can run `docker build .` to run the tests inside +a Docker container. This won't test on all versions of Python or on PyPy, so it's possible +to still get CI failures after making a pull request, but we can work through those errors +if/when they happen. `.run-tests.sh` only covers the Cython tests. In order to test the +pure Python implementation, comment out `python setup.py build_ext --inplace` +and re-run. + +NOTE: Some tests might fail when running the tests locally. An example of this +is this codec tests. If the supporting codec library is not available, the test +will fail. These failures can be ignored since the tests will on pull requests +and will be run in the correct environments with the correct dependencies set up. + +### Releasing + +We release both to [PyPI][pypi] and to [conda-forge][conda-forge]. + +We assume you have [twine][twine] installed and that you've created your own +fork of [fastavro-feedstock][feedstock]. + +* Make sure the tests pass +* Run `make tag` +* Wait for all artifacts to be built and published the the Github release +* Run `make publish` +* The conda-forge PR should get created and merged automatically + +[conda-forge]: https://conda-forge.org/ +[feedstock]: https://github.com/conda-forge/fastavro-feedstock +[pypi]: https://pypi.python.org/pypi +[twine]: https://pypi.python.org/pypi/twine + + +# Changes + +See the [ChangeLog] + +[ChangeLog]: https://github.com/fastavro/fastavro/blob/master/ChangeLog + +# Contact + +[Project Home](https://github.com/fastavro/fastavro) + + +%package -n python3-fastavro +Summary: Fast read/write of AVRO files +Provides: python-fastavro +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-fastavro +# fastavro +[](https://github.com/fastavro/fastavro/actions) +[](http://fastavro.readthedocs.io/en/latest/?badge=latest) +[](https://codecov.io/gh/fastavro/fastavro) + + +Because the Apache Python `avro` package is written in pure Python, it is +relatively slow. In one test case, it takes about 14 seconds to iterate through +a file of 10,000 records. By comparison, the JAVA `avro` SDK reads the same file in +1.9 seconds. + +The `fastavro` library was written to offer performance comparable to the Java +library. With regular CPython, `fastavro` uses C extensions which allow it to +iterate the same 10,000 record file in 1.7 seconds. With PyPy, this drops to 1.5 +seconds (to be fair, the JAVA benchmark is doing some extra JSON +encoding/decoding). + +`fastavro` supports the following Python versions: + +* Python 3.7 +* Python 3.8 +* Python 3.9 +* Python 3.10 +* Python 3.11 +* PyPy3 + +## Supported Features + +* File Writer +* File Reader (iterating via records or blocks) +* Schemaless Writer +* Schemaless Reader +* JSON Writer +* JSON Reader +* Codecs (Snappy, Deflate, Zstandard, Bzip2, LZ4, XZ) +* Schema resolution +* Aliases +* Logical Types +* Parsing schemas into the canonical form +* Schema fingerprinting + +## Missing Features + +* Anything involving Avro's RPC features + +[Cython]: http://cython.org/ + +# Documentation + +Documentation is available at http://fastavro.readthedocs.io/en/latest/ + +# Installing +`fastavro` is available both on [PyPI](http://pypi.python.org/pypi) + + pip install fastavro + +and on [conda-forge](https://conda-forge.github.io) `conda` channel. + + conda install -c conda-forge fastavro + +# Contributing + +* Bugs and new feature requests typically start as GitHub issues where they can be discussed. I try to resolve these as time affords, but PRs are welcome from all. +* Get approval from discussing on the GitHub issue before opening the pull request +* Tests must be passing for pull request to be considered + +Developer requirements can be installed with `pip install -r developer_requirements.txt`. +If those are installed, you can run the tests with `./run-tests.sh`. If you have trouble +installing those dependencies, you can run `docker build .` to run the tests inside +a Docker container. This won't test on all versions of Python or on PyPy, so it's possible +to still get CI failures after making a pull request, but we can work through those errors +if/when they happen. `.run-tests.sh` only covers the Cython tests. In order to test the +pure Python implementation, comment out `python setup.py build_ext --inplace` +and re-run. + +NOTE: Some tests might fail when running the tests locally. An example of this +is this codec tests. If the supporting codec library is not available, the test +will fail. These failures can be ignored since the tests will on pull requests +and will be run in the correct environments with the correct dependencies set up. + +### Releasing + +We release both to [PyPI][pypi] and to [conda-forge][conda-forge]. + +We assume you have [twine][twine] installed and that you've created your own +fork of [fastavro-feedstock][feedstock]. + +* Make sure the tests pass +* Run `make tag` +* Wait for all artifacts to be built and published the the Github release +* Run `make publish` +* The conda-forge PR should get created and merged automatically + +[conda-forge]: https://conda-forge.org/ +[feedstock]: https://github.com/conda-forge/fastavro-feedstock +[pypi]: https://pypi.python.org/pypi +[twine]: https://pypi.python.org/pypi/twine + + +# Changes + +See the [ChangeLog] + +[ChangeLog]: https://github.com/fastavro/fastavro/blob/master/ChangeLog + +# Contact + +[Project Home](https://github.com/fastavro/fastavro) + + +%package help +Summary: Development documents and examples for fastavro +Provides: python3-fastavro-doc +%description help +# fastavro +[](https://github.com/fastavro/fastavro/actions) +[](http://fastavro.readthedocs.io/en/latest/?badge=latest) +[](https://codecov.io/gh/fastavro/fastavro) + + +Because the Apache Python `avro` package is written in pure Python, it is +relatively slow. In one test case, it takes about 14 seconds to iterate through +a file of 10,000 records. By comparison, the JAVA `avro` SDK reads the same file in +1.9 seconds. + +The `fastavro` library was written to offer performance comparable to the Java +library. With regular CPython, `fastavro` uses C extensions which allow it to +iterate the same 10,000 record file in 1.7 seconds. With PyPy, this drops to 1.5 +seconds (to be fair, the JAVA benchmark is doing some extra JSON +encoding/decoding). + +`fastavro` supports the following Python versions: + +* Python 3.7 +* Python 3.8 +* Python 3.9 +* Python 3.10 +* Python 3.11 +* PyPy3 + +## Supported Features + +* File Writer +* File Reader (iterating via records or blocks) +* Schemaless Writer +* Schemaless Reader +* JSON Writer +* JSON Reader +* Codecs (Snappy, Deflate, Zstandard, Bzip2, LZ4, XZ) +* Schema resolution +* Aliases +* Logical Types +* Parsing schemas into the canonical form +* Schema fingerprinting + +## Missing Features + +* Anything involving Avro's RPC features + +[Cython]: http://cython.org/ + +# Documentation + +Documentation is available at http://fastavro.readthedocs.io/en/latest/ + +# Installing +`fastavro` is available both on [PyPI](http://pypi.python.org/pypi) + + pip install fastavro + +and on [conda-forge](https://conda-forge.github.io) `conda` channel. + + conda install -c conda-forge fastavro + +# Contributing + +* Bugs and new feature requests typically start as GitHub issues where they can be discussed. I try to resolve these as time affords, but PRs are welcome from all. +* Get approval from discussing on the GitHub issue before opening the pull request +* Tests must be passing for pull request to be considered + +Developer requirements can be installed with `pip install -r developer_requirements.txt`. +If those are installed, you can run the tests with `./run-tests.sh`. If you have trouble +installing those dependencies, you can run `docker build .` to run the tests inside +a Docker container. This won't test on all versions of Python or on PyPy, so it's possible +to still get CI failures after making a pull request, but we can work through those errors +if/when they happen. `.run-tests.sh` only covers the Cython tests. In order to test the +pure Python implementation, comment out `python setup.py build_ext --inplace` +and re-run. + +NOTE: Some tests might fail when running the tests locally. An example of this +is this codec tests. If the supporting codec library is not available, the test +will fail. These failures can be ignored since the tests will on pull requests +and will be run in the correct environments with the correct dependencies set up. + +### Releasing + +We release both to [PyPI][pypi] and to [conda-forge][conda-forge]. + +We assume you have [twine][twine] installed and that you've created your own +fork of [fastavro-feedstock][feedstock]. + +* Make sure the tests pass +* Run `make tag` +* Wait for all artifacts to be built and published the the Github release +* Run `make publish` +* The conda-forge PR should get created and merged automatically + +[conda-forge]: https://conda-forge.org/ +[feedstock]: https://github.com/conda-forge/fastavro-feedstock +[pypi]: https://pypi.python.org/pypi +[twine]: https://pypi.python.org/pypi/twine + + +# Changes + +See the [ChangeLog] + +[ChangeLog]: https://github.com/fastavro/fastavro/blob/master/ChangeLog + +# Contact + +[Project Home](https://github.com/fastavro/fastavro) + + +%prep +%autosetup -n fastavro-1.7.2 + +%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-fastavro -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri Feb 24 2023 Python_Bot <Python_Bot@openeuler.org> - 1.7.2-1 +- Package Spec generated |