pybaum 0.1.3

Last updated:

0 purchases

pybaum 0.1.3 Image
pybaum 0.1.3 Images
Add to Cart

Description:

pybaum 0.1.3

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.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.