A tiny Python wrapper around the <Software development driver DLL> for IviumSoft.
Project description
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.1239.
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 |
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 |
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyvium-0.2.1.tar.gz.
File metadata
- Download URL: pyvium-0.2.1.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bf438d5ad4984f266d8553987e0f5e283bd003fd2e57945b2d1666e38f32b9d
|
|
| MD5 |
0b04cc11331a72fc1b89a6948ad2dae0
|
|
| BLAKE2b-256 |
0320f705df2ae70ae0317b5b21a26c8fbe0ec9c211eb38b0665a24e6a56016e9
|
Provenance
The following attestation bundles were made for pyvium-0.2.1.tar.gz:
Publisher:
publish.yml on Gnpd/pyvium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvium-0.2.1.tar.gz -
Subject digest:
2bf438d5ad4984f266d8553987e0f5e283bd003fd2e57945b2d1666e38f32b9d - Sigstore transparency entry: 1666015516
- Sigstore integration time:
-
Permalink:
Gnpd/pyvium@0defd9f352828348c4474b9f1317c34992fb940f -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Gnpd
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0defd9f352828348c4474b9f1317c34992fb940f -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyvium-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pyvium-0.2.1-py3-none-any.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26573ba5f5e51aabea250dfc89d5674b77d3b2f5a47a3a71ee34e975728ab3dc
|
|
| MD5 |
2f3ea30ead39b3ca539da63838334a4d
|
|
| BLAKE2b-256 |
e4398315c29708857be2e280914febd213fc6b20f38ecb9e4fc0066bd36b7ccb
|
Provenance
The following attestation bundles were made for pyvium-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on Gnpd/pyvium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvium-0.2.1-py3-none-any.whl -
Subject digest:
26573ba5f5e51aabea250dfc89d5674b77d3b2f5a47a3a71ee34e975728ab3dc - Sigstore transparency entry: 1666015658
- Sigstore integration time:
-
Permalink:
Gnpd/pyvium@0defd9f352828348c4474b9f1317c34992fb940f -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Gnpd
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0defd9f352828348c4474b9f1317c34992fb940f -
Trigger Event:
release
-
Statement type: