Installation
pybaum is available on PyPI and Anaconda.org. Install it with
$ pip install pybaum
# or
$ conda install -c conda-forge pybaum
About
pybaum provides tools to work with pytrees which is a concept borrowed from JAX.
What is a pytree?
In pybaum, we use the term pytree to refer to a tree-like structure built out of container-like Python objects. Classes are considered container-like if they are in the pytree registry, which by default includes lists, tuples, and dicts. That is:
Any object whose type is not in the pytree container registry is considered a leaf pytree.
Any object whose type is in the pytree container registry, and which contains pytrees, is considered a pytree.
For each entry in the pytree container registry, a container-like type is registered with a pair of functions that specify how to convert an instance of the container type to a (children, metadata) pair and how to convert such a pair back to an instance of the container type. Using these functions, pybaum can canonicalize any tree of registered container objects into tuples.
Example pytrees:
[1, "a", object()] # 3 leaves
(1, (2, 3), ()) # 3 leaves
[1, {"k1": 2, "k2": (3, 4)}, 5] # 5 leaves
pybaum can be extended to consider other container types as pytrees.
Metadata
Release files for pybaum 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pybaum-0.1.3.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pybaum-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.0 kB
Release files / pybaum-0.1.3.tar.gz
| Download URL | pybaum-0.1.3.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5827d90d94ba6ea68b7920f13c8df26a101b9be943fadee77bb2cc2a5c28fda3
|
|
BLAKE2b-256 checksum How to use checksums |
ad8490f2e102776051e7904f2f67c976483d18d04e19659e1e39bcec87bd5a91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / pybaum-0.1.3-py3-none-any.whl
| Download URL | pybaum-0.1.3-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1d74200d0477c7da121af2f67a236d658ec62aaef5f5c35562ec959f52efa3d
|
|
BLAKE2b-256 checksum How to use checksums |
d320bcd8f317a17900e5daeb3f87a87327399c9bbe9dcd97f4025f4663c3bdf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|