diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 18:50:23 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 18:50:23 +0000 |
commit | 230c694e5ca4b74e2b00e7a52272f7107a5ac933 (patch) | |
tree | 9516c2d83aaaa239ae10d86efd4d2abf3518218b | |
parent | efe12f40cc2549c67245d474f58626deaca56bb7 (diff) |
automatic import of python-metrohash-python
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-metrohash-python.spec | 200 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 202 insertions, 0 deletions
@@ -0,0 +1 @@ +/metrohash-python-1.1.3.3.tar.gz diff --git a/python-metrohash-python.spec b/python-metrohash-python.spec new file mode 100644 index 0000000..4f1c0a4 --- /dev/null +++ b/python-metrohash-python.spec @@ -0,0 +1,200 @@ +%global _empty_manifest_terminate_build 0 +Name: python-metrohash-python +Version: 1.1.3.3 +Release: 1 +Summary: Python bindings for MetroHash +License: ISC License (ISCL) +URL: https://github.com/Dobatymo/metrohash-python +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/95/b5/4002d16e71d6a4b1c14a37d204e25aba6508b12915fe0dd07fa703ca0fa1/metrohash-python-1.1.3.3.tar.gz + + +%description +# metrohash-python + +Python bindings for the fast non-cryptograpical hash function MetroHash. MetroHash C++ library by J. Andrew Rogers, Python bindings by Dobatymo. + +## Requirements + +The library has been tested on Linux Python 3.6, and on Windows Python 3.6, 3.7. + +## Install + +``` +pip install metrohash-python +``` + +Compilation requires a C++ compiler and optionally `Cython`. + +## Examples + +The usage is similar to Python's hashlib. + +```python +>>> import metrohash +>>> h = metrohash.MetroHash128() +>>> h.update(b'asd') +>>> h.update(b'qwe') +>>> h.digest() +b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda' +>>> h.hexdigest() +'4bfb17eb3eb257bd93adf617ce6714da' +``` + +Or as simple non-incremental function: + +```python +>>> import metrohash +>>> metrohash.metrohash128(b'asdqwe') +b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda' +``` + +The interface for `MetroHash64` and `metrohash64` is the same. + + + + +%package -n python3-metrohash-python +Summary: Python bindings for MetroHash +Provides: python-metrohash-python +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-metrohash-python +# metrohash-python + +Python bindings for the fast non-cryptograpical hash function MetroHash. MetroHash C++ library by J. Andrew Rogers, Python bindings by Dobatymo. + +## Requirements + +The library has been tested on Linux Python 3.6, and on Windows Python 3.6, 3.7. + +## Install + +``` +pip install metrohash-python +``` + +Compilation requires a C++ compiler and optionally `Cython`. + +## Examples + +The usage is similar to Python's hashlib. + +```python +>>> import metrohash +>>> h = metrohash.MetroHash128() +>>> h.update(b'asd') +>>> h.update(b'qwe') +>>> h.digest() +b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda' +>>> h.hexdigest() +'4bfb17eb3eb257bd93adf617ce6714da' +``` + +Or as simple non-incremental function: + +```python +>>> import metrohash +>>> metrohash.metrohash128(b'asdqwe') +b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda' +``` + +The interface for `MetroHash64` and `metrohash64` is the same. + + + + +%package help +Summary: Development documents and examples for metrohash-python +Provides: python3-metrohash-python-doc +%description help +# metrohash-python + +Python bindings for the fast non-cryptograpical hash function MetroHash. MetroHash C++ library by J. Andrew Rogers, Python bindings by Dobatymo. + +## Requirements + +The library has been tested on Linux Python 3.6, and on Windows Python 3.6, 3.7. + +## Install + +``` +pip install metrohash-python +``` + +Compilation requires a C++ compiler and optionally `Cython`. + +## Examples + +The usage is similar to Python's hashlib. + +```python +>>> import metrohash +>>> h = metrohash.MetroHash128() +>>> h.update(b'asd') +>>> h.update(b'qwe') +>>> h.digest() +b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda' +>>> h.hexdigest() +'4bfb17eb3eb257bd93adf617ce6714da' +``` + +Or as simple non-incremental function: + +```python +>>> import metrohash +>>> metrohash.metrohash128(b'asdqwe') +b'K\xfb\x17\xeb>\xb2W\xbd\x93\xad\xf6\x17\xceg\x14\xda' +``` + +The interface for `MetroHash64` and `metrohash64` is the same. + + + + +%prep +%autosetup -n metrohash-python-1.1.3.3 + +%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-metrohash-python -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.3.3-1 +- Package Spec generated @@ -0,0 +1 @@ +246b7112c34df88a187fda2a4bbddd65 metrohash-python-1.1.3.3.tar.gz |