3.4.0 / 2024-09-26
NumPy has been removed from opt_einsum
as a dependency allowing for more flexible installs. Type hints have been added to the code base as well as an overhaul of the documentation to MkDocs here: https://dgasmith.github.io/opt_einsum/
New Features
- #160 Migrates docs to MkDocs Material and GitHub pages hosting.
- #161 Adds Python type annotations to the code base.
- #204 Removes NumPy as a hard dependency.
Enhancements
- #154 Prevents an infinite recursion error when the
memory_limit
was set very low for thedp
algorithm. - #155 Adds flake8 spell check to the doc strings
- #159 Migrates to GitHub actions for CI.
- #174 Prevents double contracts of floats in dynamic paths.
- #196 Allows
backend=None
which is equivalent tobackend='auto'
- #208 Switches to
ConfigParser
insetad ofSafeConfigParser
for Python 3.12 compatability. - #228
backend='jaxlib'
is now an alias for thejax
library - #237 Switches to
ruff
for formatting and linting. - #238 Removes
numpy
-specific keyword args from being explicitly defined incontract
and uses**kwargs
instead.
Bug Fixes
- #195 Fixes a bug where
dp
would not work for scalar-only contractions. - #200 Fixes a bug where
parse_einsum_input
would not correctly respect shape-only contractions. - #222 Fixes an erorr in
parse_einsum_input
where an output subscript specified multiple times was not correctly caught. - #229 Fixes a bug where empty contraction lists in
PathInfo
would cause an error.