Skip to content

A Python package for working with impedance data

License

Notifications You must be signed in to change notification settings

lktsui/impedance.py

 
 

Repository files navigation

GitHub release PyPI - Downloads All Contributors

Build Status Documentation Status

Codacy Badge Coverage Status

impedance.py

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 under development 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:

  • preprocessing functions for easily loading in impedance data from a wide variety of file types
  • 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

Installation

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.

User Installation

The easiest way to install impedance.py is from PyPI using pip (see Getting started with impedance.py for instructions).

Examples and Documentation

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.

Contributors ✨

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

💻

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

About

A Python package for working with impedance data

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 87.0%
  • TeX 13.0%