- Publish Python 3.13 wheels (only CPython ones, PyPy ones are skipped until pypa/distutils#283 is fixed).
- Rebuild Cython wrapper with Cython 3.0.11.
- Added Python 3.13 support (#105).
- Rebuild Cython wrapper with Cython 3.0.10 (#105).
- Publish Linux aarch64 wheels (#101).
- Added Python 3.12 support.
- Dropped Python 2.7, 3.4, 3.5, 3.6 support.
- Added
Trie.map()
(#90). - Rebuilt Cython wrapper with Cython 3.0.2.
- Fixed benchmark documentation typos (#89).
- Add
Trie.iter_prefixes_with_ids()
method to return(prefix, id)
pairs (#83). - Rebuild Cython wrapper with Cython 0.29.33 (#88).
- Added Python 3.11 support.
- Rebuild Cython wrapper with Cython 0.29.32.
- Restored Python 2.7 support.
- Fixed README image references not working on Windows.
- Wheels are now published for all platforms.
- Fixed
ResourceWarning: unclosed file
insetup.py
. - Run
black
on the entire source code. - Moved the QA/CI to GitHub.
- Rebuild Cython wrapper with Cython 0.29.24.
- Updated
libmarisa-trie
to the latest version (0.2.6). - Fixed failing tests and usage of deprecated methods.
- Expanded supported Python version (2.7, 3.4 - 3.10).
- Removed redundant
DeprecationWarning
messages inTrie.save
andTrie.load
. - Dropped support for Python 2.6.
- Rebuild Cython wrapper with Cython 0.28.1.
- Fixed packaging issue,
MANIFEST.in
was not updated afterlibmarisa-trie
became a submodule.
- Added
BinaryTrie
for storing arbitrary sequences of bytes, e.g. IP addresses (thanks Tomasz Melcer); - Deprecated
Trie.has_keys_with_prefix
which can be trivially implemented in terms ofTrie.iterkeys
; - Deprecated
Trie.read
andTrie.write
which onlywork for "real" files and duplicate the functionality ofload
andsave
. See issue #31 on GitHub; - Updated
libmarisa-trie
to the latest version. Yay, 64-bit Windows support. - Rebuilt Cython wrapper with Cython 0.25.2.
- packaging issue is fixed.
- setup.py is switched to setuptools;
- a tiny speedup;
- wrapper is rebuilt with Cython 0.22.
trie1 == trie2
andtrie1 != trie2
now work (thanks Sergei Lebedev);for key in trie:
is fixed (thanks Sergei Lebedev);- wrapper is rebuilt with Cython 0.21.1 (thanks Sergei Lebedev);
- https://bitbucket.org/kmike/marisa-trie repo is no longer supported.
- New
Trie
methods:__getitem__
,get
,items
,iteritems
.trie[u'key']
is now the same astrie.key_id(u'key')
. - small optimization for
BytesTrie.get
. - wrapper is rebuilt with Cython 0.20.1.
- small
Trie.restore_key
optimization (it should work 5-15% faster)
- fix
Trie.restore_key
method - it was reading past declared string length; - rebuild wrapper with Cython 0.20.
has_keys_with_prefix(prefix)
method (thanks Matt Hickford)
BytesTrie.iterkeys
,BytesTrie.iteritems
,RecordTrie.iterkeys
andRecordTrie.iteritems
methods;- wrapper is rebuilt with Cython 0.19;
value_separator
parameter forBytesTrie
andRecordTrie
.
- improved trie building:
weights
optional parameter; - improved trie building: unnecessary input sorting is removed;
- wrapper is rebuilt with Cython 0.18;
- bundled marisa-trie C++ library is updated to svn r133.
- Rebuild wrapper with Cython pre-0.18;
- update benchmarks.
- Update bundled marisa-trie C++ library (this may fix more mingw issues);
- Python 3.3 support is back.
- much faster (3x-7x)
.items()
and.keys()
methods for all tries; faster (up to 3x).prefixes()
method forTrie
.
- Pickling of RecordTrie is fixed (thanks lazarou for the report);
- error messages should become more useful.
- Issues with mingw32 should be resolved (thanks Susumu Yata).
.get(key, default=None)
method forBytesTrie
andRecordTrie
;- small README improvements.
- Small code cleanup;
load
,read
andmmap
methods returns 'self';- I can't run tests (via tox) under Python 3.3 so it is removed from supported versions for now.
.prefixes()
support for RecordTrie and BytesTrie.
- RecordTrie and BytesTrie are introduced;
- IntTrie class is removed (probably temporary?);
- dumps/loads methods are renamed to tobytes/frombytes;
- benchmark & tests improvements;
- support for MARISA-trie config options is added.
- Pickling/unpickling support;
- dumps/loads methods;
- python 3.3 workaround;
- improved tests;
- benchmarks.
Initial release.