/impedance.py

A Python package for working with electrochemical impedance data

Primary LanguagePythonMIT LicenseMIT

GitHub release PyPI - Downloads All Contributors

Build Status Documentation Status

Codacy Badge 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 (soon-to-be submitted) 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.6)
  • SciPy (>=1.0)
  • NumPy (>=1.14)
  • Matplotlib (>=3.0)
  • Altair (>=3.0)

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

Examples and Documentation

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

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

💻 ⚠️ 📖

Brian Gerwe

💻 ⚠️ 📖

Neal

👀

Matt Murbach

📖 👀 ⚠️ 💻

Kenny Huynh

🐛 💻

lawrencerenna

🤔

Rowin

🐛 💻

Michael Plews

🤔

Chebuskin

🐛

environmat

🐛

Abdullah Sumbal

🐛

nobkat

💻

Nick

🐛 💻

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