Releases: ECSHackWeek/impedance.py
v1.2.1 bugfix
Patches a bug with passing kwargs from circuit.fit to the new global optimization function 🐞 🐞
v1.2 Update!
Adds a global optimization option (via scipy.optimize.basinhopping) for fitting equivalent circuits 🌍 thanks @petermattia
As always, you can update via pip install --upgrade impedance
! 🔋
Release v1.1.0
New in this release:
- 🔭 Added a new transmission line model, TLMQ (thanks @petermattia!)
- 🧸 Exposed kwargs to scipy.curve_fit to allow for weighted fitting and custom optimization (thanks @BGerwe!)
- 🐞 Fixed bug in handling single element circuits (thanks @BGerwe and @lktsui!)
- 🧹 Improved documentation and cleaned up code (thanks @aokomorowski and @BGerwe!)
Should be able to upgrade with pip install --upgrade impedance
! Thanks 🚀
v1.0.1 update
- Improved documentation and examples (@hkennyv and @BGerwe) 📚
- Adds support for different column ordering in BioLogic file imports (@nickbrady) ⚡
- Finalizes release for JOSS paper 🦺
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.
v0.5.1 (bug fixes)
Fixes bugs in passing arguments from circuit.fit()
to scipy.optimize.curve_fit
and in the Lin-KK method manual mode.
🚀 Huge thanks to @BGerwe for finding and fixing both of these bugs! 🚀
v0.5 release
New in this release:
- Added more preprocessing functions for importing data from a variety of different instrument vendors (Autolab, BioLogic, Gamry, Parstat, Powersuite, VersaStudio, ZPlot, ...) <-- huge thanks to @lktsui and @BGerwe 🚀 🚀
- @BGerwe improved documentation of the Gerischer element (
⚠️ breaking change!)
V0.4.0 release
New in this release:
- Ability to hold values constant in a circuit! 🚀
- Units for each circuit element 📏
v0.3.1 release
v0.3 release
This release improves the way custom circuits are defined and adds porous electrode (T
) and inductor (L
) elements. Thanks to everyone who contributed code, helped with issues, and reviewed PRs! 🚀