impedance.py
is a Python module for working with impedance data.
This project started at the 2018 Electrochemical Society (ECS) Hack Week in Seattle and has grown from there.
Using a scikit-learn-like API, we hope to make visualizing, fitting, and analyzing impedance spectra more intuitive and reproducible.
impedance.py is currently in a beta phase and new features are rapidly being added. If you have a feature request or find a bug, please feel free to file an issue or, better yet, make the code improvements and submit a pull request! The goal is to build an open-source tool that the entire impedance community can improve and use!
impedance.py currently provides:
- a simple API for fitting, predicting, and plotting impedance
- validation methods for checking measurement validity
- equivalent circuit fitting with customizable models
- convenient Nyquist plots including confidence interval estimation for fit circuits
several features are currently being improved upon:
- interactive plotting with altair
- physics-based impedance models for lithium-ion batteries
impedance.py requires:
- Python (>=3.5)
- SciPy (>=1.0)
- NumPy (>=1.14)
- Matplotlib (>=3.0)
Several example notebooks are provided in the examples/ directory. Opening these will require Jupyter notebook or Jupyter lab.
The easiest way to install impedance.py is from PyPI using pip:
pip install impedance
Several examples can be found in the examples/
directory (the fitting_tutorial.ipynb is a great place to start) and the documentation can be found at impedancepy.readthedocs.io.