diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-keyvi.spec | 163 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 165 insertions, 0 deletions
@@ -0,0 +1 @@ +/keyvi-0.5.6.tar.gz diff --git a/python-keyvi.spec b/python-keyvi.spec new file mode 100644 index 0000000..127caa6 --- /dev/null +++ b/python-keyvi.spec @@ -0,0 +1,163 @@ +%global _empty_manifest_terminate_build 0 +Name: python-keyvi +Version: 0.5.6 +Release: 1 +Summary: Python package for keyvi +License: ASL 2.0 +URL: http://keyvi.org +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/5b/4a/b3cf8dc6fce0608f48b9c3eff9ff3b5c943ba8dfd46e218653968258388e/keyvi-0.5.6.tar.gz +BuildArch: noarch + +Requires: python3-msgpack + +%description +Keyvi - the short form for "Key value index" is a key value store (KVS) optimized for size and lookup speed. The usage of shared memory makes it scalable and resistant. The biggest difference to other stores is the underlying data structure based on [finite state machine](https://en.wikipedia.org/wiki/Finite-state_machine). Storage is very space efficient, fast and by design makes various sorts of approximate matching be it fuzzy string matching or geo highly efficient. The immutable FST data structure can be used stand-alone for static datasets. If you need online writes, you can use keyvi index, a _near realtime index_. + +## Quick Start + +Install keyvi with + +``` +pip3 install keyvi +``` + +create your first very simple index: + +``` +import keyvi.index +index = keyvi.index.Index("test-index") + +index.Set('key', '{"answer": 42, "condition": "always"}') +index.Flush() +# get the entry for key +m = index.Get('key') +print(m.GetValue()) + +# match fuzzy(levenshtein distance) with max edit distance 1, exact prefix 2 +m = index.GetFuzzy("kei", 1, 2) +print(m.GetMatchedString()) +``` + +For more information visit http://keyvi.org + + + + +%package -n python3-keyvi +Summary: Python package for keyvi +Provides: python-keyvi +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-keyvi +Keyvi - the short form for "Key value index" is a key value store (KVS) optimized for size and lookup speed. The usage of shared memory makes it scalable and resistant. The biggest difference to other stores is the underlying data structure based on [finite state machine](https://en.wikipedia.org/wiki/Finite-state_machine). Storage is very space efficient, fast and by design makes various sorts of approximate matching be it fuzzy string matching or geo highly efficient. The immutable FST data structure can be used stand-alone for static datasets. If you need online writes, you can use keyvi index, a _near realtime index_. + +## Quick Start + +Install keyvi with + +``` +pip3 install keyvi +``` + +create your first very simple index: + +``` +import keyvi.index +index = keyvi.index.Index("test-index") + +index.Set('key', '{"answer": 42, "condition": "always"}') +index.Flush() +# get the entry for key +m = index.Get('key') +print(m.GetValue()) + +# match fuzzy(levenshtein distance) with max edit distance 1, exact prefix 2 +m = index.GetFuzzy("kei", 1, 2) +print(m.GetMatchedString()) +``` + +For more information visit http://keyvi.org + + + + +%package help +Summary: Development documents and examples for keyvi +Provides: python3-keyvi-doc +%description help +Keyvi - the short form for "Key value index" is a key value store (KVS) optimized for size and lookup speed. The usage of shared memory makes it scalable and resistant. The biggest difference to other stores is the underlying data structure based on [finite state machine](https://en.wikipedia.org/wiki/Finite-state_machine). Storage is very space efficient, fast and by design makes various sorts of approximate matching be it fuzzy string matching or geo highly efficient. The immutable FST data structure can be used stand-alone for static datasets. If you need online writes, you can use keyvi index, a _near realtime index_. + +## Quick Start + +Install keyvi with + +``` +pip3 install keyvi +``` + +create your first very simple index: + +``` +import keyvi.index +index = keyvi.index.Index("test-index") + +index.Set('key', '{"answer": 42, "condition": "always"}') +index.Flush() +# get the entry for key +m = index.Get('key') +print(m.GetValue()) + +# match fuzzy(levenshtein distance) with max edit distance 1, exact prefix 2 +m = index.GetFuzzy("kei", 1, 2) +print(m.GetMatchedString()) +``` + +For more information visit http://keyvi.org + + + + +%prep +%autosetup -n keyvi-0.5.6 + +%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-keyvi -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.6-1 +- Package Spec generated @@ -0,0 +1 @@ +5a47dd238397eda1dbb1feb47c5408ac keyvi-0.5.6.tar.gz |
