Skip to main content

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

Project description

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.

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:

@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

💻 👀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nleis-0.2.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nleis-0.2-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

Details for the file nleis-0.2.tar.gz.

File metadata

  • Download URL: nleis-0.2.tar.gz
  • Upload date:
  • Size: 54.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nleis-0.2.tar.gz
Algorithm Hash digest
SHA256 828f3a98741580267527108165179131916d0f41abab06dfe21196db3ed308d4
MD5 98436d0ae5dc6c367cbf33fdf9d29bbc
BLAKE2b-256 f9452d76cc92b86d3488e0dc21d8955f2faad52240f560cf0165b8355e91fee3

See more details on using hashes here.

Provenance

The following attestation bundles were made for nleis-0.2.tar.gz:

Publisher: python-publish.yml on yuefan98/nleis.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nleis-0.2-py3-none-any.whl.

File metadata

  • Download URL: nleis-0.2-py3-none-any.whl
  • Upload date:
  • Size: 56.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nleis-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ecf72596249445a08e5b4d5f2a978aeb6a436108cc82626f651b7fadaf50fb4
MD5 9133640301752ba40ae9085f41cf99fb
BLAKE2b-256 1e26033b9d5df58cca2f16cd04b0c21f3d3f46a9f18f59135dfc421e5130fc4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nleis-0.2-py3-none-any.whl:

Publisher: python-publish.yml on yuefan98/nleis.py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page