v3.4.0
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_limitwas set very low for thedpalgorithm. - #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=Nonewhich is equivalent tobackend='auto' - #208 Switches to
ConfigParserinsetad ofSafeConfigParserfor Python 3.12 compatability. - #228
backend='jaxlib'is now an alias for thejaxlibrary - #237 Switches to
rufffor formatting and linting. - #238 Removes
numpy-specific keyword args from being explicitly defined incontractand uses**kwargsinstead.
Bug Fixes
- #195 Fixes a bug where
dpwould not work for scalar-only contractions. - #200 Fixes a bug where
parse_einsum_inputwould not correctly respect shape-only contractions. - #222 Fixes an erorr in
parse_einsum_inputwhere an output subscript specified multiple times was not correctly caught. - #229 Fixes a bug where empty contraction lists in
PathInfowould cause an error.