Skip to main content

A tiny Python wrapper around the <Software development driver DLL> for IviumSoft.

Project description

PYVIUM

中文 | Español | English

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.1242.


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:

📧 a.gutierrez@g-npd.com

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


Download files

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

Source Distribution

pyvium-0.3.0rc1.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

pyvium-0.3.0rc1-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file pyvium-0.3.0rc1.tar.gz.

File metadata

  • Download URL: pyvium-0.3.0rc1.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

Hashes for pyvium-0.3.0rc1.tar.gz
Algorithm Hash digest
SHA256 6ae57c62084c179b9b9c0baabc1be2c982cda9c4d97ed2de31f84b85d173a947
MD5 3606a9c3960eb3bf6f5bc1be2bf7c39a
BLAKE2b-256 68d620c625836dec95f497c19fba37de503defaa28969a29c7526c92ea1dc1fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvium-0.3.0rc1.tar.gz:

Publisher: publish.yml on Gnpd/pyvium

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

File details

Details for the file pyvium-0.3.0rc1-py3-none-any.whl.

File metadata

  • Download URL: pyvium-0.3.0rc1-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

Hashes for pyvium-0.3.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a602c44bca5eefc6b65c6ae242c8fe7ffa1494657a81b1a2fe1756b2d973e4a
MD5 07092eb76e6ccebafe9d203061a3c617
BLAKE2b-256 be46c8522435b6a8b2289891b4d794d2737b2f52b068ea084319d094ca268868

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvium-0.3.0rc1-py3-none-any.whl:

Publisher: publish.yml on Gnpd/pyvium

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