Skip to content

v1.0 Release!

Compare
Choose a tag to compare
@mdmurbach mdmurbach released this 29 Apr 05:01

🎉 🎉 🎉 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 to CPE)
  • Semi-infinite Warburg element (A renamed to W)
  • Short (finite-length) Warburg element (new element, Ws)
  • Open (finite-space) Warburg element (W renamed to Wo)
  • 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.