nleis.py

nleis.py: A Nonlinear Electrochemical Impedance Analysis Toolbox - Published in JOSS (2025)

https://github.com/yuefan98/nleis.py

Science Score: 100.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 12 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

2nd-nleis battery eis electrochemistry fuel-cell impedance-py lithium-ion-batteries

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 6 months ago · JSON representation ·

Repository

A NLEIS toolbox for impedance.py that provides RC level nonlinear equivalent circuit modeling (nECM) and analysis

Basic Info
  • Host: GitHub
  • Owner: yuefan98
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 3.56 MB
Statistics
  • Stars: 11
  • Watchers: 1
  • Forks: 3
  • Open Issues: 0
  • Releases: 3
Topics
2nd-nleis battery eis electrochemistry fuel-cell impedance-py lithium-ion-batteries
Created about 2 years ago · Last pushed 12 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

DOI

GitHub releaseCoveralls

DOI

nleis.py

Second-harmonic nonlinear electrochemical impedance spectroscopy (2nd-NLEIS), a special form of nonlinear electrochemical impedance spectroscopy (NLEIS), is emerging as a powerful complementary technique to traditional electrochemical impedance spectroscopy (EIS). It retains the experimental simplicity of EIS while providing additional physical insights. However, its adoption and application have been limited by the lack of open-source, user-friendly software.

nleis.py aims to address this gap by providing a Python toolbox that is designed to work with and extend the capabilities of impedance.py. Key features include:

  • Nonlinear equivalent circuit modeling (nECM)
  • Simultaneous analysis of EIS and 2nd-NLEIS data

This repository contains the most recent version of nleis.py. As of today, nleis.py supports the latest version of impedance.py (v1.7.1).

Installation

The nleis.py is avaliable in a standalone version now. You can install it directly with pip.

bash pip install nleis

See Getting started with nleis.py for instructions on how to get most of this toolbox.

In the near future, you will be able to access all the funcationality for nleis.py from impedance.py.

Dependencies

nleis.py requires the same dependencies as impedance.py puls the latest version of impedance.py:

  • Python (>=3.8)
  • SciPy (>=1.0)
  • NumPy (>=1.14)
  • Matplotlib (>=3.0)
  • Altair (>=3.0)
  • impedance(>=1.7.1)
  • pandas (>= 2.0.2)

Examples and Documentation

The detailed documentation can be found at nleispy.readthedocs.io.

Contributing to nleis.py

The nleis.py project welcomes all kinds of contributions, including bug fixes, feature requests, code reviews, new features, examples, documentation improvements, and community engagement. For any changes involving the repository, please refer to the detailed guidance in the CONTRIBUTING.md. If you encounter any issues or have suggestions, feel free to submit an issue to let us know.

We are also excited to see contributions that expand the capabilities of nleis.py. Potential future features include:

  • EIS and 2nd-NLEIS data processing from the time domain
  • Data validation for 2nd-NLEIS

Citing nleis.py

If you use nleis.py in your work, please consider citing our JOSS paper as:

bash @article{Ji2025, doi = {10.21105/joss.07424}, url = {https://doi.org/10.21105/joss.07424}, year = {2025}, publisher = {The Open Journal}, volume = {10}, number = {105}, pages = {7424}, author = {Yuefan Ji and Matthew D. Murbach and Daniel T. Schwartz}, title = {nleis.py: A Nonlinear Electrochemical Impedance Analysis Toolbox}, journal = {Journal of Open Source Software} }

Credits


This work adopted and built the nleis.py based on impedance.py (Murbach, M., Gerwe, B., Dawson-Elli, N., & Tsui, L. (2020). impedance.py: A Python package for electrochemical impedance analysis. Journal of Open Source Software, 5. https://doi.org/10.21105/joss.02349)


Contributors :battery:

Yuefan Ji
Yuefan Ji

🎨 💻 📖 ⚠️ 👀
Matt Murbach
Matt Murbach

💻 👀
Dan Schwartz
Dan Schwartz

📖 👀
Jake Anderson
Jake Anderson

💻 👀

Owner

  • Login: yuefan98
  • Kind: user

JOSS Publication

nleis.py: A Nonlinear Electrochemical Impedance Analysis Toolbox
Published
January 28, 2025
Volume 10, Issue 105, Page 7424
Authors
Yuefan Ji ORCID
Department of Chemical Engineering & Clean Energy Institute, University of Washington, Seattle, WA, United States of America
Matthew D. Murbach ORCID
Independent Researcher, United States of America
Daniel T. Schwartz ORCID
Department of Chemical Engineering & Clean Energy Institute, University of Washington, Seattle, WA, United States of America
Editor
Lucy Whalley ORCID
Tags
impedance.py Electrochemistry EIS NLEIS 2nd-NLEIS Lithium-ion Batteries Fuel Cells

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- email: yuefan@uw.edu
  family-names: Ji
  given-names: Yuefan
  orcid: "https://orcid.org/0000-0003-1912-767X"
- family-names: Murbach
  given-names: Matthew D.
  orcid: "https://orcid.org/0000-0002-6583-5995"
- family-names: Schwartz
  given-names: Daniel T.
  orcid: "https://orcid.org/0000-0003-1173-5611"
contact:
- email: yuefan@uw.edu
  family-names: Ji
  given-names: Yuefan
  orcid: "https://orcid.org/0000-0003-1912-767X"
doi: 10.5281/zenodo.14606367
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - email: yuefan@uw.edu
    family-names: Ji
    given-names: Yuefan
    orcid: "https://orcid.org/0000-0003-1912-767X"
  - family-names: Murbach
    given-names: Matthew D.
    orcid: "https://orcid.org/0000-0002-6583-5995"
  - family-names: Schwartz
    given-names: Daniel T.
    orcid: "https://orcid.org/0000-0003-1173-5611"
  date-published: 2025-01-28
  doi: 10.21105/joss.07424
  issn: 2475-9066
  issue: 105
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 7424
  title: "nleis.py: A Nonlinear Electrochemical Impedance Analysis
    Toolbox"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.07424"
  volume: 10
title: "nleis.py: A Nonlinear Electrochemical Impedance Analysis
  Toolbox"

GitHub Events

Total
  • Release event: 3
  • Watch event: 11
  • Delete event: 2
  • Issue comment event: 17
  • Push event: 44
  • Pull request review event: 2
  • Pull request review comment event: 2
  • Pull request event: 18
  • Fork event: 2
  • Create event: 7
Last Year
  • Release event: 3
  • Watch event: 11
  • Delete event: 2
  • Issue comment event: 17
  • Push event: 44
  • Pull request review event: 2
  • Pull request review comment event: 2
  • Pull request event: 18
  • Fork event: 2
  • Create event: 7

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 78
  • Total Committers: 4
  • Avg Commits per committer: 19.5
  • Development Distribution Score (DDS): 0.128
Past Year
  • Commits: 32
  • Committers: 4
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.313
Top Committers
Name Email Commits
yuefan98 9****8 68
allcontributors[bot] 4****] 4
Dan Schwartz 3****z 3
Matt Murbach m****h@u****u 3
Committer Domains (Top 20 + Academic)
uw.edu: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 31
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Total issue authors: 0
  • Total pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 1.48
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 0
  • Pull requests: 28
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 4
  • Average comments per issue: 0
  • Average comments per pull request: 1.61
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 6
Top Authors
Issue Authors
Pull Request Authors
  • yuefan98 (33)
  • mdmurbach (7)
  • dt-schwartz (6)
  • allcontributors[bot] (6)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 26 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: nleis

A NLEIS toolbox for impedance.py that provides RC level nonlinear equivalent circuit modeling (nECM) and analysis

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 26 Last month
Rankings
Dependent packages count: 9.5%
Average: 36.0%
Dependent repos count: 62.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

environment.yml pypi
  • SALib *
  • altair *
  • impedance *
  • jupyterlab *
  • matplotlib *
  • networkx *
  • numpy *
  • pandas *
  • scipy *
  • tabulate *
  • tqdm *
requirements.txt pypi
  • altair >=3.0
  • coveralls ==3.2.0
  • matplotlib >=3.5
  • nbsphinx *
  • numpy >=1.14
  • numpydoc *
  • pytest >=4.6
  • pytest-cov *
  • scipy >=1.0
  • sphinx_rtd_theme *
.github/workflows/python-publish.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/run_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
setup.py pypi
  • altair >=3.0
  • impedance >=1.7.1
  • matplotlib >=3.5
  • numpy >=1.14
  • pandas *
  • scipy >=1.0