Releases: dClimate/py-hamt
v2.2.0 - Transformers plugins, encryption, and IPFS network debugging information
Added transformer plugin to HAMT
Now users can plug in arbitrary transformers that change data before it is sent the HAMT's backing store, e.g. IPFS.
Zarr partial encryption transformers
There is a transformer plugin to create encrypted Zarrs. It is possible to also create partially encrypted Zarrs, which can be loaded and read normally without an encryption key, such that only specific variables will need the encryption key.
IPFS Network Debug Stats
You can now enable debug=True
in constructing IPFSStore
to collect stats about the amount of data sent and retrieved from IPFS.
HAMT hash indexing bug fix
Previously, py-hamt started indexing from the second byte of a hash when navigating the tree, rather than starting from the first as it should. This release fixes this. This also means previously created HAMTs will not work with this release.
Detailed List of What's Changed
- chore: upload coverage report to codecov by @Faolain in #17
- chore: add codecov badge to readme by @Faolain in #18
- fix language on top, update testing info by @abidsikder in #19
- Remove pages preview workflow by @abidsikder in #29
- docs: clarify how-to-use example by @Faolain in #28
- docs: update spacing on readme code by @Faolain in #30
- Fix off by one indexing error for hash by @abidsikder in #32
- Add network stats to ipfs store by @abidsikder in #31
- Zarr encryption with transform stage by @abidsikder in #25
Full Changelog: v2.0.4...v2.2.0
v2.0.4
Bug fix release, addresses #15
What's Changed
- Reimplement lru with python dictionary insertion order by @abidsikder in #16
Full Changelog: v2.0.3...v.2.0.4
v2.0.3
py-hamt Version 2
This release refactors and rewrites pretty much the entire library, with a focus on consolidating usage from ipldstore as well as rigorous testing. The version number was bumped due to the incompatible API changes.
Here's an overview of major changes
- py-hamt now functions as a general MutableMapping, allowing for familiar usage patterns like python dicts.
- documentation is now automatically generated and uploaded to our github pages, and is thorough.
- py-hamt provides the ability to store data on IPFS in a HAMT out of the box with its
IPFSStore
Internally
- The data structure now only uses one type of Node, greatly simplifying implementation and reducing the overall amount of code
uv
is used for project managementruff
is used for code formatting and linting- we now use fuzz testing and 100% code coverage, which allows for higher confidence from users
Align with js-ipld-hashmap
- Change fields in HAMT config to use
camelCase
- Change internal representation of keys within HAMT from
str
tobytes
Initial release
Python version of HAMT based on rvagg's JS implementation