/impedance.py

A Python package for working with electrochemical impedance data

Primary LanguagePythonMIT LicenseMIT

DOI GitHub release

PyPI - Downloads All Contributors

Build Status Documentation Status Coverage Status

impedance.py

impedance.py is a Python package for making electrochemical impedance spectroscopy (EIS) analysis reproducible and easy-to-use.

Aiming to create a consistent, scikit-learn-like API for impedance analysis, impedance.py contains modules for data preprocessing, validation, model fitting, and visualization.

For a little more in-depth discussion of the package background and capabilities, check out our Journal of Open Source Software paper.

If you have a feature request or find a bug, please 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!

Installation

The easiest way to install impedance.py is from PyPI using pip.

pip install impedance

See Getting started with impedance.py for instructions on getting started from scratch.

Dependencies

impedance.py requires:

  • Python (>=3.7)
  • SciPy (>=1.0)
  • NumPy (>=1.14)
  • Matplotlib (>=3.0)
  • Altair (>=3.0)

Several example notebooks are provided in the docs/source/examples/ directory. Opening these will require Jupyter notebook or Jupyter lab.

Examples and Documentation

Several examples can be found in the docs/source/examples/ directory (the Fitting impedance spectra notebook is a great place to start) and the documentation can be found at impedancepy.readthedocs.io.

Citing impedance.py

DOI

If you use impedance.py in published work, please consider citing https://joss.theoj.org/papers/10.21105/joss.02349 as

@article{Murbach2020,
  doi = {10.21105/joss.02349},
  url = {https://doi.org/10.21105/joss.02349},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {52},
  pages = {2349},
  author = {Matthew D. Murbach and Brian Gerwe and Neal Dawson-Elli and Lok-kun Tsui},
  title = {impedance.py: A Python package for electrochemical impedance analysis},
  journal = {Journal of Open Source Software}
}

Contributors ✨

This project started at the 2018 Electrochemical Society (ECS) Hack Week in Seattle and has benefited from a community of users and contributors since. Thanks goes to these wonderful people (emoji key):

Lok-kun Tsui
Lok-kun Tsui

💻 ⚠️ 📖
Brian Gerwe
Brian Gerwe

💻 ⚠️ 📖 👀
Neal
Neal

👀 💻
Matt Murbach
Matt Murbach

📖 👀 ⚠️ 💻
Kenny Huynh
Kenny Huynh

🐛 💻
lawrencerenna
lawrencerenna

🤔
Rowin
Rowin

🐛 💻
Michael Plews
Michael Plews

🤔
Chebuskin
Chebuskin

🐛
environmat
environmat

🐛
Abdullah Sumbal
Abdullah Sumbal

🐛
nobkat
nobkat

💻
Nick
Nick

🐛 💻
aokomorowski
aokomorowski

💻
Peter Attia
Peter Attia

💻 ⚠️ 📖
sdkang
sdkang

⚠️ 💻
lucasfdvx
lucasfdvx

🐛
Marcus Karlstad
Marcus Karlstad

🐛
Mark Bouman
Mark Bouman

🐛 💻
oslopanda
oslopanda

🐛
pililac
pililac

🐛
Kavin Teenakul
Kavin Teenakul

💻 📖
Enrico
Enrico

💻

This project follows the all-contributors specification. Contributions of any kind welcome!