AutoEIS

AutoEIS: Automated equivalent circuit modeling from electrochemical impedance spectroscopy data using statistical machine learning - Published in JOSS (2025)

https://github.com/autodial/autoeis

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: iop.org, joss.theoj.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation ·

Repository

A tool for automated extraction of equivalent circuit models (ECM) from electrochemical impedance spectroscopy (EIS) data

Basic Info
Statistics
  • Stars: 52
  • Watchers: 3
  • Forks: 12
  • Open Issues: 18
  • Releases: 15
Created almost 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

DOI example workflow

[!NOTE] AutoEIS is now published in the Journal of Open Source Software (JOSS). You can find the paper here. If you find AutoEIS useful, please consider citing it in your work.

Sadeghi et al., (2025). AutoEIS: Automated equivalent circuit modeling from electrochemical impedance spectroscopy data using statistical machine learning. Journal of Open Source Software, 10(109), 6256, https://doi.org/10.21105/joss.06256

Zhang, Runze, et al. "Editors’ choice—AutoEIS: automated bayesian model selection and analysis for electrochemical impedance spectroscopy." Journal of The Electrochemical Society 170.8 (2023): 086502. https://doi.org/10.1149/1945-7111/aceab2

[!TIP] Want to get notified about major announcements/new features? Please click on "Watch" -> "Custom" -> Check "Releases". Starring the repository alone won't notify you when we make a new release. This is particularly useful since we're actively working on adding new features/improvements to AutoEIS. Currently, we might issue a new release every month, so rest assured that you won't be spammed.

AutoEIS

What is AutoEIS?

AutoEIS (Auto ee-eye-ess) is a Python package that automatically proposes statistically plausible equivalent circuit models (ECMs) for electrochemical impedance spectroscopy (EIS) analysis. The package is designed for researchers and practitioners in the fields of electrochemical analysis, including but not limited to explorations of electrocatalysis, battery design, and investigations of material degradation.

Contributing

AutoEIS is still under development and the API might change. If you find any bugs or have any suggestions, please file an issue or directly submit a pull request. We would greatly appreciate any contributions from the community. Please refer to the contributing guide.

Installation

Pip

Open a terminal (or command prompt on Windows) and run the following command:

bash pip install -U autoeis

Julia dependencies will be automatically installed at first import. It's recommended that you have your own Julia installation, but if you don't, Julia itself will also be installed automatically.

How to install Julia? If you decided to have your own Julia installation (recommended), the official way to install Julia is via juliaup. Juliaup provides a command line interface to automatically install Julia (optionally multiple versions side by side). Working with juliaup is straightforward; Please follow the instructions on its GitHub page.

Usage

Visit our example notebooks page to learn how to use AutoEIS.

[!WARNING] The examples are designed to be run interactively, so you should use a Jupyter notebook-like environment like Jupyter Lab, IPython Notebook, or VSCode. The examples may not work as expected if you run them in a non-interactive environment like a Python REPL. For a smooth experience, please use a supported environment.

Workflow

The schematic workflow of AutoEIS is shown below:

AutoEIS workflow

It includes: data pre-processing, ECM generation, circuit post-filtering, Bayesian inference, and the model evaluation process. Through this workflow, AutoEis can prioritize the statistically optimal ECM and also retain suboptimal models with lower priority for subsequent expert inspection. A detailed workflow can be found in the paper.

Acknowledgement

Thanks to Prof. Jason Hattrick-Simpers, Dr. Robert Black, Dr. Debashish Sur, Dr. Parisa Karimi, Dr. Brian DeCost, Dr. Kangming Li, and Prof. John R. Scully for their guidance and support. Also, thanks to Dr. Shijing Sun, Prof. Keryn Lian, Dr. Alvin Virya, Dr. Austin McDannald, Dr. Fuzhan Rahmanian, and Prof. Helge Stein for their feedback and discussions. Special shoutout to Prof. John R. Scully and Dr. Debashish Sur for letting us use their corrosion data to showcase the functionality of AutoEIS—your help has been invaluable!

Owner

  • Name: AUTODIAL
  • Login: AUTODIAL
  • Kind: organization

JOSS Publication

AutoEIS: Automated equivalent circuit modeling from electrochemical impedance spectroscopy data using statistical machine learning
Published
May 16, 2025
Volume 10, Issue 109, Page 6256
Authors
Mohammad Amin Sadeghi ORCID
University of Toronto, Canada
Runze Zhang ORCID
University of Toronto, Canada
Jason Hattrick-Simpers ORCID
University of Toronto, Canada
Editor
Lucy Whalley ORCID
Tags
python julia electrochemistry materials science electrochemical impedance spectroscopy equivalent circuit model statistical machine learning bayesian inference evolutionary search

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Sadeghi
  given-names: Mohammad Amin
  orcid: "https://orcid.org/0000-0002-6756-9117"
- family-names: Zhang
  given-names: Runze
  orcid: "https://orcid.org/0009-0004-9088-7924"
- family-names: Hattrick-Simpers
  given-names: Jason
  orcid: "https://orcid.org/0000-0003-2937-3188"
contact:
- family-names: Hattrick-Simpers
  given-names: Jason
  orcid: "https://orcid.org/0000-0003-2937-3188"
doi: 10.5281/zenodo.15066846
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Sadeghi
    given-names: Mohammad Amin
    orcid: "https://orcid.org/0000-0002-6756-9117"
  - family-names: Zhang
    given-names: Runze
    orcid: "https://orcid.org/0009-0004-9088-7924"
  - family-names: Hattrick-Simpers
    given-names: Jason
    orcid: "https://orcid.org/0000-0003-2937-3188"
  date-published: 2025-05-16
  doi: 10.21105/joss.06256
  issn: 2475-9066
  issue: 109
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6256
  title: "AutoEIS: Automated equivalent circuit modeling from
    electrochemical impedance spectroscopy data using statistical
    machine learning"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06256"
  volume: 10
title: "AutoEIS: Automated equivalent circuit modeling from
  electrochemical impedance spectroscopy data using statistical machine
  learning"

GitHub Events

Total
  • Create event: 9
  • Release event: 1
  • Issues event: 8
  • Watch event: 22
  • Delete event: 2
  • Issue comment event: 10
  • Push event: 55
  • Pull request review comment event: 1
  • Pull request review event: 5
  • Pull request event: 11
  • Fork event: 7
Last Year
  • Create event: 9
  • Release event: 1
  • Issues event: 8
  • Watch event: 22
  • Delete event: 2
  • Issue comment event: 10
  • Push event: 55
  • Pull request review comment event: 1
  • Pull request review event: 5
  • Pull request event: 11
  • Fork event: 7

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 76
  • Total pull requests: 58
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 10
  • Total pull request authors: 6
  • Average comments per issue: 1.07
  • Average comments per pull request: 0.09
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 12
  • Average time to close issues: 14 days
  • Average time to close pull requests: 1 day
  • Issue authors: 7
  • Pull request authors: 5
  • Average comments per issue: 0.9
  • Average comments per pull request: 0.33
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ma-sadeghi (53)
  • RunzeZhang123 (9)
  • benjamin5988 (4)
  • RonM700 (3)
  • Kevin-Mattheus-Moerman (1)
  • eddotman (1)
  • fg-personal (1)
  • vyrjana (1)
Pull Request Authors
  • ma-sadeghi (80)
  • RunzeZhang123 (5)
  • Wenda-Lou (2)
  • SaraQiuyuShi (2)
  • zhechengyin (2)
  • eddotman (1)
Top Labels
Issue Labels
enhancement (29) bug (17) maintenance (11) documentation (5) proposal (4) question (1) duplicate (1)
Pull Request Labels
enhancement (25) maintenance (24) bug (17) documentation (2) refactor (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 875 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 40
  • Total maintainers: 2
pypi.org: autoeis

A tool for automated EIS analysis by proposing statistically plausible ECMs.

  • Versions: 40
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 875 Last month
Rankings
Dependent packages count: 6.6%
Average: 27.9%
Dependent repos count: 30.6%
Downloads: 46.4%
Maintainers (2)
Last synced: 6 months ago

Dependencies

Dockerfile docker
  • ubuntu 18.04 build
.github/workflows/gh-pages.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/nightly.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • julia-actions/cache v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • julia-actions/cache v1 composite
  • julia-actions/setup-julia v1 composite
pyproject.toml pypi
  • arviz *
  • click *
  • dill *
  • impedance *
  • ipython *
  • ipywidgets *
  • jax *
  • julia *
  • matplotlib *
  • mpire *
  • numpy *
  • numpyro *
  • pandas *
  • rich *
  • tqdm *