{ "info": { "author": "Johannes Baiter", "author_email": "johannes.baiter@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Topic :: Text Processing :: Indexing" ], "description": "python-rust-fst\r\n===============\r\n\r\n| |appveyor|\r\n| |travis|\r\n\r\n| Python bindings for `burntsushi's `__ `fst\r\n crate `__\r\n (`rustdocs `__)\r\n| for FST-backed sets and maps.\r\n\r\n| For reasons why you might want to consider using it, see BurntSushi's\r\n great\r\n| article on `\"Index[ing] 1,600,000,000 Keys with Automata and\r\n Rust\" `__.\r\n\r\n**tl;dr**:\r\n\r\n- Work with larger-than-memory sets\r\n- Perform fuzzy search using Levenshtein automata\r\n\r\nInstallation\r\n------------\r\n\r\n- You will need:\r\n\r\n - Python >= 3.3, Python or PyPy >= 2.7 with development headers\r\n installed\r\n - Rust nightly (install via `rustup `__)\r\n\r\n- Clone the repository. Installation with ``pip install git+...`` does\r\n not work\r\n currently\r\n- Run ``rustup override add nightly`` to add an override for rustup to\r\n use the\r\n nightly channel for the repository\r\n- Run ``python setup.py bdist_wheel`` to generate a wheel\r\n- Install the wheel with\r\n ``pip install dist/rust_fst-0.1-py3-none-any.whl``\r\n\r\nStatus\r\n------\r\n\r\nThe package exposes almost all functionality of the ``fst`` crate,\r\nexcept for:\r\n\r\n- Combining the results of slicing, ``search`` and ``search_re`` with\r\n set operations\r\n- Using raw transducers\r\n\r\nExamples\r\n--------\r\n\r\n.. code:: python\r\n\r\n from rust_fst import Map, Set\r\n\r\n # Building a set in memory\r\n keys = [\"fa\", \"fo\", \"fob\", \"focus\", \"foo\", \"food\", \"foul\"]\r\n s = Set.from_iter(keys)\r\n\r\n # Fuzzy searches on the set\r\n matches = list(s.search(term=\"foo\", max_dist=1))\r\n assert matches == [\"fo\", \"fob\", \"foo\", \"food\"]\r\n\r\n # Searching with a regular expression\r\n matches = list(s.search_re(r'f\\w{2}'))\r\n assert matches == [\"fob\", \"foo\"]\r\n\r\n # Store map on disk, requiring only constant memory for querying\r\n items = [(\"bruce\", 1), (\"clarence\", 2), (\"stevie\", 3)]\r\n m = Map.from_iter(items, path=\"/tmp/map.fst\")\r\n\r\n # Find all items whose key is greater or equal (in lexicographical sense) to\r\n # 'clarence'\r\n matches = dict(m['clarence':])\r\n assert matches == {'clarence': 2, 'stevie': 3}\r\n\r\nDocumentation\r\n-------------\r\n\r\nHead over to `readthedocs.org `__ for\r\nthe API documentation.\r\n\r\n| If you want to know more about performance characteristics, memory\r\n usage\r\n| and about the implementation details, please head over to the\r\n| `documentation for the Rust\r\n crate `__\r\n\r\n.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/jbaiter/python-rust-fst\r\n :target: https://ci.appveyor.com/project/jbaiter/python-rust-fst\r\n.. |travis| image:: https://travis-ci.org/jbaiter/python-rust-fst.svg\r\n :target: https://travis-ci.org/jbaiter/python-rust-fst", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jbaiter/python-rust-fst", "keywords": "fst,rust,levenshtein,automata,transducer,data_structures", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rust-fst", "package_url": "https://pypi.org/project/rust-fst/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/rust-fst/", "project_urls": { "Homepage": "https://github.com/jbaiter/python-rust-fst" }, "release_url": "https://pypi.org/project/rust-fst/0.1.2/", "requires_dist": [ "cffi (>=1.0.0)" ], "requires_python": "", "summary": "Python bindings for the Rust `fst` crate, providing sets and maps backed by finite state transducers.", "version": "0.1.2" }, "last_serial": 2135932, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "59a642d3df4f4b6ef257fb3822a252a4", "sha256": "bf093354aa40b74261fcd7e7e2146d3265710fd9d9205025662ed052351e13b0" }, "downloads": -1, "filename": "rust-fst-0.1.tar.gz", "has_sig": false, "md5_digest": "59a642d3df4f4b6ef257fb3822a252a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12857, "upload_time": "2016-05-23T10:40:47", "url": "https://files.pythonhosted.org/packages/09/77/d545744f4b1229facca55fc9936599ca6cc1cb5117b350754ed327ca3ff8/rust-fst-0.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0db7410521722f2602ca166e669fde3c", "sha256": "bb4107866472df3ed878e714726e59764867c8262b353206c812ef38c1ebb0ad" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "0db7410521722f2602ca166e669fde3c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 858064, "upload_time": "2016-05-26T17:02:10", "url": "https://files.pythonhosted.org/packages/23/12/42db4ee067877f1a9be3f4f2c1c70499036c45ab2dd0abb44b329ee66756/rust_fst-0.1.2-py2.py3-none-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3fbbad58a6af001dd674df77973bf808", "sha256": "0ee2261e89264709d8ef040965c12538bb3b7db89ee00e22f8816d19c86295ce" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "3fbbad58a6af001dd674df77973bf808", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1025960, "upload_time": "2016-05-26T17:24:57", "url": "https://files.pythonhosted.org/packages/f2/64/d8aba6d4bc2193377359086062af8367afb3d8726774fe4750f00c07653a/rust_fst-0.1.2-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9c9b5711635164b4ece93766cb6744f1", "sha256": "5ea0461726d0f044a32ae39620ab93762a0cefd0c7a825a36eff59f9d3c4f508" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "9c9b5711635164b4ece93766cb6744f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1216115, "upload_time": "2016-05-26T17:25:03", "url": "https://files.pythonhosted.org/packages/cd/24/3e47451113ab401be513e8ed64023d7c96c2203a4e1493155e9cf44b4fc4/rust_fst-0.1.2-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "472fd4fab195a7e2ea81c665014d74a7", "sha256": "04c3bcd57ed20688d885e220c0e83df69b956c929b3e1c12ed8431effa3a1e52" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "472fd4fab195a7e2ea81c665014d74a7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1256460, "upload_time": "2016-05-26T17:25:08", "url": "https://files.pythonhosted.org/packages/c0/9d/a116a1eb984c4798d8386f8366147b0a2e8562d7386f23db6327a0b007ee/rust_fst-0.1.2-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "e41fafcdd3f77a68fcf71dd756aa582d", "sha256": "e647e9ae1c38ae2e6f6967ea7bb9075bb06c020e5d0f344f4182786040105886" }, "downloads": -1, "filename": "rust-fst-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e41fafcdd3f77a68fcf71dd756aa582d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8291, "upload_time": "2016-05-26T17:25:13", "url": "https://files.pythonhosted.org/packages/fb/88/db1427d446119800e00c6e01bd2ffc2cab6babe39e84a014e6afef4a9b22/rust-fst-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0db7410521722f2602ca166e669fde3c", "sha256": "bb4107866472df3ed878e714726e59764867c8262b353206c812ef38c1ebb0ad" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "0db7410521722f2602ca166e669fde3c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 858064, "upload_time": "2016-05-26T17:02:10", "url": "https://files.pythonhosted.org/packages/23/12/42db4ee067877f1a9be3f4f2c1c70499036c45ab2dd0abb44b329ee66756/rust_fst-0.1.2-py2.py3-none-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3fbbad58a6af001dd674df77973bf808", "sha256": "0ee2261e89264709d8ef040965c12538bb3b7db89ee00e22f8816d19c86295ce" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "3fbbad58a6af001dd674df77973bf808", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1025960, "upload_time": "2016-05-26T17:24:57", "url": "https://files.pythonhosted.org/packages/f2/64/d8aba6d4bc2193377359086062af8367afb3d8726774fe4750f00c07653a/rust_fst-0.1.2-py2.py3-none-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "9c9b5711635164b4ece93766cb6744f1", "sha256": "5ea0461726d0f044a32ae39620ab93762a0cefd0c7a825a36eff59f9d3c4f508" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-win32.whl", "has_sig": false, "md5_digest": "9c9b5711635164b4ece93766cb6744f1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1216115, "upload_time": "2016-05-26T17:25:03", "url": "https://files.pythonhosted.org/packages/cd/24/3e47451113ab401be513e8ed64023d7c96c2203a4e1493155e9cf44b4fc4/rust_fst-0.1.2-py2.py3-none-win32.whl" }, { "comment_text": "", "digests": { "md5": "472fd4fab195a7e2ea81c665014d74a7", "sha256": "04c3bcd57ed20688d885e220c0e83df69b956c929b3e1c12ed8431effa3a1e52" }, "downloads": -1, "filename": "rust_fst-0.1.2-py2.py3-none-win_amd64.whl", "has_sig": false, "md5_digest": "472fd4fab195a7e2ea81c665014d74a7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1256460, "upload_time": "2016-05-26T17:25:08", "url": "https://files.pythonhosted.org/packages/c0/9d/a116a1eb984c4798d8386f8366147b0a2e8562d7386f23db6327a0b007ee/rust_fst-0.1.2-py2.py3-none-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "e41fafcdd3f77a68fcf71dd756aa582d", "sha256": "e647e9ae1c38ae2e6f6967ea7bb9075bb06c020e5d0f344f4182786040105886" }, "downloads": -1, "filename": "rust-fst-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e41fafcdd3f77a68fcf71dd756aa582d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8291, "upload_time": "2016-05-26T17:25:13", "url": "https://files.pythonhosted.org/packages/fb/88/db1427d446119800e00c6e01bd2ffc2cab6babe39e84a014e6afef4a9b22/rust-fst-0.1.2.tar.gz" } ] }