PYVIUM
Python wrapper for the IviumSoft driver DLL, enabling control of Ivium potentiostats and data processing directly from Python.
PYVIUM provides both:
- Direct access to the original IviumSoft Core functions
- Higher-level Pythonic interface with exception handling and extended utilities
Features
- Full access to IviumSoft driver DLL functions
- Python-friendly interface
- Exception management
- Data processing tools
- Batch conversion utilities
- Batch mode synchronization
Requirements
PYVIUM requires IviumSoft to be installed on a Windows machine, as it uses the official driver DLL.
Download IviumSoft here:
https://www.ivium.com/support/#Software%20update
This version of PYVIUM contains the DLL from IviumSoft release 4.1247.
Installation
Install PYVIUM easily with pip:
pip install pyvium
Or with poetry:
poetry add pyvium
Quick Start
Using Core functions (direct DLL access)
To use the same functions available in the "IviumSoft driver DLL" you can import the Core class as follows. All functions return a result code (integer) and a result value if available. For further information you can check the IviumSoft documentation.
from pyvium import Core
Core.IV_open()
Core.IV_getdevicestatus()
Core.IV_close()
Using Pyvium high-level interface (recommended)
This is a wrapper around the Core functions that adds a few things:
- Exception management (you can find an example here)
- Cleaner syntax
- Additional functionality
from pyvium import Pyvium
Pyvium.open_driver()
Pyvium.get_device_status()
Pyvium.close_driver()
Data processing tools
This offers further functionality in data processing:
from pyvium import Tools
Tools.convert_idf_dir_to_csv()
Examples & Notebooks
A series of Jupyter notebooks covers the full API:
| Notebook | Topic |
|---|---|
01_getting_started |
Installation, driver lifecycle, error handling |
02_device_and_instance_management |
Connecting devices, switching instances, thread-safe scoping, multichannel |
03_direct_mode_basics |
Potential/current control, cell on/off |
04_direct_mode_signals |
DAC/ADC, digital I/O, AC signal |
05_bipotentiostat_and_we32 |
BiStat WE2 and 32-channel WE32 array |
06_method_mode |
Load, run, monitor, and save experiments |
07_data_processing |
Parse IDF files, export to CSV (no hardware needed) |
08_batch_and_synchronization |
Multi-device setpoints and parallel runs |
09_trigger_reference |
Python–IviumSoft trigger mechanisms |
10_instance_lifecycle_management |
Launch, list, adopt and close IviumSoft instances |
11_sqlite_measurement_readers |
Read IviumSoft's SQLite measurement files (no hardware needed) |
Browse them in the notebooks/ directory.
Implemented functions
The list of currently implemented functions can be found here.
Support and Consulting
If you need help implementing PYVIUM in your application, integrating Ivium instruments, or developing custom workflows, professional consulting is available.
Contact:
You can also support the project via GitHub Sponsors:
https://github.com/sponsors/Gnpd
Sponsors receive priority support and help drive future development.
Links
Release files for pyvium 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyvium-0.3.0.tar.gz | 2.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyvium-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.6 MB
Release files / pyvium-0.3.0.tar.gz
| Download URL | pyvium-0.3.0.tar.gz |
|---|---|
| Size | 2.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32709d3223baa8acc3c98ba306b9c9b282bb037ae79b1d9a1202ead2ce7f4c5c
|
|
BLAKE2b-256 checksum How to use checksums |
03d0cb5d8803c6e3afa6b93dc8c194ce14a90e735153cbda480057b0769eab61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency logRelease files / pyvium-0.3.0-py3-none-any.whl
| Download URL | pyvium-0.3.0-py3-none-any.whl |
|---|---|
| Size | 2.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21749fce39c7c66ee428d5e5f310b6514590163d05a564caa8f551d75d5e5148
|
|
BLAKE2b-256 checksum How to use checksums |
621ab5cb785f55726f59d90585f62bc8dd9edd4a61b84fe9dc36c743c24e0ab8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.
Transparency log