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] --helpe.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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| aurora_biologic-0.2.6.tar.gz | 25.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|