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.0rc2.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.0rc2-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyvium-0.3.0rc2.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.0rc2.tar.gz
Algorithm Hash digest
SHA256 798a6e2ba7e4303f3ded04b44b88a0d3cd785e11b12b9e7cb1e39d06c0a4a34e
MD5 4e72a618be0eccde54a92374be0befbe
BLAKE2b-256 e3e30fd5bfdbf819a0881acb7c0e8eada0e79cc47fa22dab314ab1f3bc87424a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvium-0.3.0rc2.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.0rc2-py3-none-any.whl.

File metadata

  • Download URL: pyvium-0.3.0rc2-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.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 6832a1feb1af041755a8ef2dc0447b22b1551a7e56808dc7d2f5a9f72ee3e6e6
MD5 f21ccbf9a5c8ac13e29be235c2c075ad
BLAKE2b-256 aa97d4993c354e01124f94191b233c45bbb721b02d8f5add93a906fff5d0d575

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvium-0.3.0rc2-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