summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 17:10:39 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 17:10:39 +0000
commita278eee38eebe61db7f41ad6cb3b6bf5259615b1 (patch)
tree6ca44a94ce39028f251bab6be77a6aceadf0a59f
parent1068641fe33388e9c8fbbc4f2c12bb9b520678da (diff)
automatic import of python-py-lz4framed
-rw-r--r--.gitignore1
-rw-r--r--python-py-lz4framed.spec339
-rw-r--r--sources1
3 files changed, 341 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..53eb535 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/py-lz4framed-0.14.0.tar.gz
diff --git a/python-py-lz4framed.spec b/python-py-lz4framed.spec
new file mode 100644
index 0000000..8734782
--- /dev/null
+++ b/python-py-lz4framed.spec
@@ -0,0 +1,339 @@
+%global _empty_manifest_terminate_build 0
+Name: python-py-lz4framed
+Version: 0.14.0
+Release: 1
+Summary: LZ4Frame library for Python (via C bindings)
+License: Apache License 2.0
+URL: https://github.com/Iotic-Labs/py-lz4framed
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/67/e0/214f227244c725f27a64bdb56781eb1666886c863a01ce8c9dfce0aa7efa/py-lz4framed-0.14.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# Overview
+
+This is an [LZ4](http://lz4.org)-frame compression library for Python v3.2+ (and 2.7+), bound to Yann Collet's [LZ4 C implementation](https://github.com/lz4/lz4).
+
+
+# Installing / packaging
+```shell
+# To get from PyPI
+pip3 install py-lz4framed
+
+# To only build extension modules inline (e.g. in repository)
+python3 setup.py build_ext -i
+
+# To build & install globally
+python3 setup.py install
+```
+**Notes**
+
+- The above as well as all other python3-using commands should also run with v2.7+
+- This module is also available via [Anaconda (conda-forge)](https://anaconda.org/conda-forge/py-lz4framed) (with binaries for Linux, OSX and Windows)
+- PyPI releases are signed with the [Iotic Labs Software release signing key](https://developer.iotic-labs.com/iotic-labs.com.asc)
+
+
+# Usage
+Single-function operation:
+```python
+import lz4framed
+
+compressed = lz4framed.compress(b'binary data')
+
+uncompressed = lz4framed.decompress(compressed)
+```
+To iteratively compress (to a file or e.g. BytesIO instance):
+```python
+with open('myFile', 'wb') as f:
+ # Context automatically finalises frame on completion, unless an exception occurs
+ with Compressor(f) as c:
+ try:
+ while (...):
+ c.update(moreData)
+ except Lz4FramedNoDataError:
+ pass
+```
+To decompress from a file-like object:
+```python
+with open('myFile', 'rb') as f:
+ try:
+ for chunk in Decompressor(f):
+ decoded.append(chunk)
+ except Lz4FramedNoDataError:
+ # Compress frame data incomplete - error case
+ ...
+```
+See also [lz4framed/\_\_main\_\_.py](lz4framed/__main__.py) for example usage.
+
+# Documentation
+```python
+import lz4framed
+print(lz4framed.__version__, lz4framed.LZ4_VERSION, lz4framed.LZ4F_VERSION)
+help(lz4framed)
+```
+
+# Command-line utility
+```shell
+python3 -mlz4framed
+USAGE: lz4framed (compress|decompress) (INFILE|-) [OUTFILE]
+
+(De)compresses an lz4 frame. Input is read from INFILE unless set to '-', in
+which case stdin is used. If OUTFILE is not specified, output goes to stdout.
+```
+
+
+# Tests
+
+## Static
+This library has been checked using [flake8](https://pypi.python.org/pypi/flake8) and [pylint](http://www.pylint.org), using a modified configuration - see _pylint.rc_ and _flake8.cfg_.
+
+## Unit
+```shell
+python3 -m unittest discover -v .
+```
+
+# Why?
+The only existing lz4-frame interoperable implementation I was aware of at the time of writing ([lz4tools](https://github.com/darkdragn/lz4tools)) had the following limitations:
+
+- Incomplete implementation in terms of e.g. reference & memory leaks on failure
+- Lack of unit tests
+- Not thread safe
+- Does not release GIL during low level (de)compression operations
+- Did not address the requirements for an external project
+
+%package -n python3-py-lz4framed
+Summary: LZ4Frame library for Python (via C bindings)
+Provides: python-py-lz4framed
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-py-lz4framed
+# Overview
+
+This is an [LZ4](http://lz4.org)-frame compression library for Python v3.2+ (and 2.7+), bound to Yann Collet's [LZ4 C implementation](https://github.com/lz4/lz4).
+
+
+# Installing / packaging
+```shell
+# To get from PyPI
+pip3 install py-lz4framed
+
+# To only build extension modules inline (e.g. in repository)
+python3 setup.py build_ext -i
+
+# To build & install globally
+python3 setup.py install
+```
+**Notes**
+
+- The above as well as all other python3-using commands should also run with v2.7+
+- This module is also available via [Anaconda (conda-forge)](https://anaconda.org/conda-forge/py-lz4framed) (with binaries for Linux, OSX and Windows)
+- PyPI releases are signed with the [Iotic Labs Software release signing key](https://developer.iotic-labs.com/iotic-labs.com.asc)
+
+
+# Usage
+Single-function operation:
+```python
+import lz4framed
+
+compressed = lz4framed.compress(b'binary data')
+
+uncompressed = lz4framed.decompress(compressed)
+```
+To iteratively compress (to a file or e.g. BytesIO instance):
+```python
+with open('myFile', 'wb') as f:
+ # Context automatically finalises frame on completion, unless an exception occurs
+ with Compressor(f) as c:
+ try:
+ while (...):
+ c.update(moreData)
+ except Lz4FramedNoDataError:
+ pass
+```
+To decompress from a file-like object:
+```python
+with open('myFile', 'rb') as f:
+ try:
+ for chunk in Decompressor(f):
+ decoded.append(chunk)
+ except Lz4FramedNoDataError:
+ # Compress frame data incomplete - error case
+ ...
+```
+See also [lz4framed/\_\_main\_\_.py](lz4framed/__main__.py) for example usage.
+
+# Documentation
+```python
+import lz4framed
+print(lz4framed.__version__, lz4framed.LZ4_VERSION, lz4framed.LZ4F_VERSION)
+help(lz4framed)
+```
+
+# Command-line utility
+```shell
+python3 -mlz4framed
+USAGE: lz4framed (compress|decompress) (INFILE|-) [OUTFILE]
+
+(De)compresses an lz4 frame. Input is read from INFILE unless set to '-', in
+which case stdin is used. If OUTFILE is not specified, output goes to stdout.
+```
+
+
+# Tests
+
+## Static
+This library has been checked using [flake8](https://pypi.python.org/pypi/flake8) and [pylint](http://www.pylint.org), using a modified configuration - see _pylint.rc_ and _flake8.cfg_.
+
+## Unit
+```shell
+python3 -m unittest discover -v .
+```
+
+# Why?
+The only existing lz4-frame interoperable implementation I was aware of at the time of writing ([lz4tools](https://github.com/darkdragn/lz4tools)) had the following limitations:
+
+- Incomplete implementation in terms of e.g. reference & memory leaks on failure
+- Lack of unit tests
+- Not thread safe
+- Does not release GIL during low level (de)compression operations
+- Did not address the requirements for an external project
+
+%package help
+Summary: Development documents and examples for py-lz4framed
+Provides: python3-py-lz4framed-doc
+%description help
+# Overview
+
+This is an [LZ4](http://lz4.org)-frame compression library for Python v3.2+ (and 2.7+), bound to Yann Collet's [LZ4 C implementation](https://github.com/lz4/lz4).
+
+
+# Installing / packaging
+```shell
+# To get from PyPI
+pip3 install py-lz4framed
+
+# To only build extension modules inline (e.g. in repository)
+python3 setup.py build_ext -i
+
+# To build & install globally
+python3 setup.py install
+```
+**Notes**
+
+- The above as well as all other python3-using commands should also run with v2.7+
+- This module is also available via [Anaconda (conda-forge)](https://anaconda.org/conda-forge/py-lz4framed) (with binaries for Linux, OSX and Windows)
+- PyPI releases are signed with the [Iotic Labs Software release signing key](https://developer.iotic-labs.com/iotic-labs.com.asc)
+
+
+# Usage
+Single-function operation:
+```python
+import lz4framed
+
+compressed = lz4framed.compress(b'binary data')
+
+uncompressed = lz4framed.decompress(compressed)
+```
+To iteratively compress (to a file or e.g. BytesIO instance):
+```python
+with open('myFile', 'wb') as f:
+ # Context automatically finalises frame on completion, unless an exception occurs
+ with Compressor(f) as c:
+ try:
+ while (...):
+ c.update(moreData)
+ except Lz4FramedNoDataError:
+ pass
+```
+To decompress from a file-like object:
+```python
+with open('myFile', 'rb') as f:
+ try:
+ for chunk in Decompressor(f):
+ decoded.append(chunk)
+ except Lz4FramedNoDataError:
+ # Compress frame data incomplete - error case
+ ...
+```
+See also [lz4framed/\_\_main\_\_.py](lz4framed/__main__.py) for example usage.
+
+# Documentation
+```python
+import lz4framed
+print(lz4framed.__version__, lz4framed.LZ4_VERSION, lz4framed.LZ4F_VERSION)
+help(lz4framed)
+```
+
+# Command-line utility
+```shell
+python3 -mlz4framed
+USAGE: lz4framed (compress|decompress) (INFILE|-) [OUTFILE]
+
+(De)compresses an lz4 frame. Input is read from INFILE unless set to '-', in
+which case stdin is used. If OUTFILE is not specified, output goes to stdout.
+```
+
+
+# Tests
+
+## Static
+This library has been checked using [flake8](https://pypi.python.org/pypi/flake8) and [pylint](http://www.pylint.org), using a modified configuration - see _pylint.rc_ and _flake8.cfg_.
+
+## Unit
+```shell
+python3 -m unittest discover -v .
+```
+
+# Why?
+The only existing lz4-frame interoperable implementation I was aware of at the time of writing ([lz4tools](https://github.com/darkdragn/lz4tools)) had the following limitations:
+
+- Incomplete implementation in terms of e.g. reference & memory leaks on failure
+- Lack of unit tests
+- Not thread safe
+- Does not release GIL during low level (de)compression operations
+- Did not address the requirements for an external project
+
+%prep
+%autosetup -n py-lz4framed-0.14.0
+
+%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-py-lz4framed -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.14.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..963b410
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+edfda0d1f612d0a381e35f8e8468d7be py-lz4framed-0.14.0.tar.gz