v1.0 Release!
🎉 🎉 🎉 We've come a long ways from the first commit in 2018! 🎉 🎉 🎉
With the release of a version 1.0 (and soon-to-be submitted JOSS paper), impedance.py is moving from a beta project to a "production-ready" package (although we know quite a few folks who've been using it in academic as well as commercial settings for a while now 😄). While we still plan on adding new features and improving the open-source impedance analysis workflow, the API and modularity of the package should remain consistent so that tools and wrappers can easily be built around it.
Highlights of this release:
- Fixes bug and significantly improves LinKK validation method 🚀 (@BGerwe)
- Multi-letter circuit elements 📛 (@nealde)
- New and improved data visualizations including interactive Altair charts 📈 (@BGerwe, @mdmurbach)
- Increase test coverage to 100%!!! 🎉 (@BGerwe, @mdmurbach, @lktsui)
- Additional file types and improved data preprocessing 📁 (@lktsui)
- New equivalent circuit elements 👏 (@hkennyv, @BGerwe)
- Improved documentation and additional examples ✍️ (@BGerwe, @mdmurbach)
- General performance and code readability improvements 👍
Backwards incompatible changes:
Element renaming:
With the new flexibility to have multi-letter circuit elements, several of the elements were renamed to be more in line with typical electrochemical naming practices:
- Constant phase element (
E
renamed toCPE
) - Semi-infinite Warburg element (
A
renamed toW
) - Short (finite-length) Warburg element (new element,
Ws
) - Open (finite-space) Warburg element (
W
renamed toWo
) - Finite-length Gerischer Element (new element,
Gs
)
Module restructuring:
In order to provide flexibility for future model additions and analysis methods, the package was restructured slightly to move the circuits module into impedance.models
. For example, importing the CustomCircuit class has changed from from impedance.circuits import CustomCircuit
to from impedance.models.circuits import CustomCircuit
. We think there are a lot of exciting opportunities to add additional statistical or physics-based models and having this consistent structure will allow for visualization, model comparison/selection, and preprocessing methods to be interchangeable across models.
Acknowledgements
We're up to quite a few contributors to the package! In addition to the folks who contributed to this release above, we're also thankful to all of the contributors over the past few years.