Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/google/pygtrie
Python library implementing a trie data structure.
https://github.com/google/pygtrie
Last synced: 4 months ago
JSON representation
Python library implementing a trie data structure.
- Host: GitHub
- URL: https://github.com/google/pygtrie
- Owner: google
- License: apache-2.0
- Archived: true
- Created: 2014-02-03T16:51:11.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2021-04-10T00:58:20.000Z (almost 4 years ago)
- Last Synced: 2024-08-01T16:39:57.770Z (7 months ago)
- Language: Python
- Homepage:
- Size: 137 KB
- Stars: 811
- Watchers: 18
- Forks: 133
- Open Issues: 15
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
pygtrie
=======.. image:: https://readthedocs.org/projects/pygtrie/badge/?version=latest
:target: http://pygtrie.readthedocs.io/en/latest/
:alt: Documentation Status (latest).. image:: https://readthedocs.org/projects/pygtrie/badge/?version=stable
:target: http://pygtrie.readthedocs.io/en/stable/
:alt: Documentation Status (stable)pygtrie is a Python library implementing a trie data structure.
`Trie data structure `_, also known
as radix or prefix tree, is a tree associating keys to values where
all the descendants of a node have a common prefix (associated with
that node).The trie module contains ``Trie``, ``CharTrie`` and ``StringTrie``
classes each implementing a mutable mapping interface, i.e. ``dict``
interface. As such, in most circumstances, ``Trie`` could be used as
a drop-in replacement for a ``dict``, but the prefix nature of the
data structure is trie’s real strength.The module also contains ``PrefixSet`` class which uses a trie to
store a set of prefixes such that a key is contained in the set if it
or its prefix is stored in the set.Features
--------- A full mutable mapping implementation.
- Supports iterating over as well as deleting a subtrie.
- Supports prefix checking as well as shortest and longest prefix
look-up.- Extensible for any kind of user-defined keys.
- A PrefixSet supports “all keys starting with given prefix” logic.
- Can store any value including None.
Installation
------------To install pygtrie, run::
pip install pygtrie
Or download the sources and save ``pygtrie.py`` file with your
project.Upgrading from 0.9.x
--------------------The 1.0 release introduced backwards incompatibility in naming. The
module has been renamed from ``trie`` to ``pygtrie``. Fortunately,
updating scripts using pygtrie should boil down to replacing::from pytrie import trie
with::
import pygtrie as trie