Skip to main content

pyimpspec

A package for parsing, validating, analyzing, and simulating impedance spectra.

tests build PyPI - Python Version GitHub PyPI

Table of contents

About

Pyimpspec is a Python package that provides an application programming interface (API) and a command-line interface (CLI) for working with impedance spectra. The target audience is researchers who use electrochemical impedance spectroscopy (EIS) though the program may also be useful in educational settings. Those looking for a program with a graphical user interface may wish to instead use DearEIS, which is based on pyimpspec.

The interfaces of pyimpspec implement features such as:

  • reading certain data formats and parsing the experimental data contained within
  • validation of impedance spectra using linear Kramers-Kronig tests or the Z-HIT algorithm
  • construction of circuits by, e.g., parsing circuit description codes (CDC)
  • support for user-defined circuit elements
  • estimation of the distribution of relaxation times (DRT)
  • complex non-linear least squares fitting of equivalent circuits
  • simulation of the impedance spectra of circuits
  • visualization of impedance spectra and various analysis results

See the official documentation for instructions on how to install pyimpspec, examples of how to use the API, and the API reference.

Changelog

See CHANGELOG.md for details.

Contributing

If you wish to contribute to the further development of pyimpspec, then there are several options available to you depending on your ability and the amount of time that you can spare.

If you find bugs, wish some feature was added, or find the documentation to be lacking, then please open an issue on GitHub.

If you wish to contribute code, then start by cloning the repository:

git clone https://github.com/vyrjana/pyimpspec.git

The development dependencies can be installed from within the repository directory using pip:

pip install -r ./dev-requirements.txt

Create a new branch based on either the main branch or the most recent development branch (e.g., dev-*), and submit your changes as a pull request.

Code contributions should, if it is applicable, also include unit tests, which should be implemented in files placed in the tests folder found in the root of the repository along with any assets required by the tests. It should be possible to run the tests by executing the run_tests.sh script, which uses the test discovery process built into the unittest module that is included with Python.

If it is possible, then delay the importing of dependencies until they are needed in order to reduce the overhead associated with just importing pyimpspec. Ignoring this guideline may, e.g., make using the CLI slower than it needs to be.

See CONTRIBUTORS for a list of people who have contributed to the pyimpspec project.

License

Copyright 2026 pyimpspec developers

Pyimpspec is licensed under the GPLv3 or later.

The licenses of pyimpspec's dependencies and/or sources of portions of code are included in the LICENSES folder.

Metadata

Release files for pyimpspec 5.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyimpspec 5.2.0
File Size Uploaded
pyimpspec-5.2.0.tar.gz 444.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyimpspec 5.2.0
File Interpreter ABI Platform
pyimpspec-5.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / pyimpspec-5.2.0.tar.gz

Download URL pyimpspec-5.2.0.tar.gz
Size 444.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bddb799c89dc7f46924646337b108b089979082922e844932c92fc8d052307bd
BLAKE2b-256 checksum
How to use checksums
787ea07b205967df91fb4f10041e500200ffc54afa88313e977e5db992b38f2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / pyimpspec-5.2.0-py3-none-any.whl

Download URL pyimpspec-5.2.0-py3-none-any.whl
Size 574.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c906c25292c08762b67e78c276b5d97fce79410abdb9e5fc87acf001317c70bb
BLAKE2b-256 checksum
How to use checksums
7a6f6cfc747ad29f204fc852de0474bf4a23c1da152e4d2d7b0f6aab2374d809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

5.2.0 This release

2 release files

5.1.3

2 release files

5.1.2

2 release files

5.1.1

2 release files

5.1.0

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.2.4

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page