Skip to main content

aurora-biologic logo


PyPI version License Python Versions Checks Coverage

A standalone Python API and command line interface (CLI) to control Biologic battery cyclers.

Designed and tested on MPG2 cyclers using EC-lab 11.52 and 11.61.

Features

  • CLI and Python API
  • Connect to EC-lab cyclers
  • Retrieve status of channels
  • Load protocols onto channels
  • Start and stop experiments

For parsing binary data from Biologic, we recommend yadg.

Installation

Install on a Windows PC with EC-lab >11.52 installed.

[!IMPORTANT] EC-lab must have OLE/COM activated

OLE/COM is a Windows interface for programs to expose their functionality to third-parties, which is supported by EC-lab.

Open a terminal as administrator, go to your folder containing EClab.exe and register the server:

cmd

cd "C:/Program files (x86)/EC-lab"
eclab /regserver

powershell

cd "C:/Program files (x86)/EC-lab"
./eclab /regserver

You can also deregister in the same way with /unregserver.

Next, install this package with

pip install aurora-biologic

To see commands, use

biologic --help

The first time you run the command line, a config file is generated at:

C:\Users\<user>\AppData\Local\aurora-biologic\config.json

which will look like:

{
    "serial_to_name": {
        "12345": "MPG2-1",
        "12346": "MPG2-2"
    },
    "eclab_path": "C:/Program Files (x86)/EC-Lab/EClab.exe"
}

Rename your devices according to their serial number, and make sure the EC-lab executable path is correct and the same as the executable registered in the first step.

CLI usage

You can check what devices and channels were found with

biologic pipelines

The pipeline ID is made up of the {device name}-{channel index}, such as MPG2-1-7

These IDs are used for other functions, for example to see the status of that channel use

biologic status MPG2-1-7

[!TIP] See all commands with biologic --help.

See details of a command with biologic [command] --help e.g. biologic status --help.

API usage

Commands can also be run using Python, e.g.:

import aurora_biologic as bio

print(bio.get_status())

bio.start(
    "my_pipeline_id",
    "path/to/my_experiment.mps",
    "path/to/an/output.mpr",
)

Using commands over SSH

[!WARNING] OLE/COM requires an interactive session to function.

Standard command line functions will not work in non-interactive session, such as normal SSH from a terminal.

To use the CLI over SSH you must start a listener daemon in an interactive terminal.

On the PC with EC-lab, start the listener with:

biologic daemon

Then from the SSH session use normal CLI commands with the --ssh option, e.g.

biologic status --ssh

Instead of trying to run OLE/COM commands directly in the non-interactive session, it will send commands to the daemon, which will execute and reply.

Testing

pip install pytest
pytest  # runs without ec-lab

To test against a real EC-lab instance, ensure EC-lab is open and has at least 2 channels available (can be virtual potentiostat), then run:

pytest --real-eclab  # runs on ec-lab

The tests don't start/stop channels, but still do not run this if you have real experiments running.

Contributors

Acknowledgements

Special thanks to Julian Diener from Biologic for their advice and support.

This software was developed at the Laboratory of Materials for Energy Conversion at Empa, the Swiss Federal Laboratories for Materials Science and Technology, and supported by funding from the IntelLiGent project from the European Union’s research and innovation program under grant agreement No. 101069765, and from the Swiss State Secretariat for Education, Research, and Innovation (SERI) under contract No. 22.001422.

IntelLiGent logo IntelLiGent logo     EU flag     Swiss secretariat

Metadata

Release files for aurora-biologic 0.2.6

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

Source distribution (sdist)

Source distribution for aurora-biologic 0.2.6
File Size Uploaded
aurora_biologic-0.2.6.tar.gz 25.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aurora-biologic 0.2.6
File Interpreter ABI Platform
aurora_biologic-0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 42.0 kB

Release files / aurora_biologic-0.2.6.tar.gz

Download URL aurora_biologic-0.2.6.tar.gz
Size 25.3 kB
Tags Source
SHA-256 checksum
How to use checksums
79e4a1e8b59334264c2ecb1d74b882d9a86a82884340ddfa4f44b7bf6e54a277
BLAKE2b-256 checksum
How to use checksums
324664a8cebfd52c76d3ffcc127bc60f8a522f3fb4d222adc57007c38fc46b61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.33.1

Release files / aurora_biologic-0.2.6-py3-none-any.whl

Download URL aurora_biologic-0.2.6-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3886d8eb7dfa76a0590b1c9a2249a4c2bd23bb0ae8441d6cf1dfd9ca2ee72f54
BLAKE2b-256 checksum
How to use checksums
033a4c32a211a71360785543f88597f41c3855efaadc7819c73712671b0b4b81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.33.1

Release history Release notifications | RSS feed

This release

0.2.6 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

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