thales-remote


Namethales-remote JSON
Version 1.2.4 PyPI version JSON
download
home_page
SummaryLibrary to control Zahner Zennium potentiostats
upload_time2024-01-31 15:00:25
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT License Copyright (c) 2024 Zahner-Elektrik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords potentiostat electrochemistry chemistry eis cyclic voltammetry fuel-cell battery
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Thales-Remote-Python](https://doc.zahner.de/github_resources/Thales-Remote-Python.png)

Thales-Remote-Python is a Python extension which uses the Zahner [Remote2](https://doc.zahner.de/manuals/remote2.pdf) to control [Zahner ZENNIUM Potentiostats](https://zahner.de/products#potentiostats).  
It was developed to **easily integrate** [Zahner ZENNIUM Potentiostats](https://zahner.de/products#potentiostats) into Python scripts for more **complex measurement** tasks and for **automation purposes**.

The measurement methods **Impedance Spectroscopy (EIS)**, **Cyclic Voltammetry (CV)**, **Current–Voltage characteristic (IE)**,and **DC sequences** are supported. Also constant current or constant voltage can be output and current and voltage can be measured. Single frequency impedance measurement is also possible. Other supported functions are the remote control of the [BC-MUX](https://zahner.de/products-details/multiplexer/bc-mux) and the import of ism files in Python.  

# 📚 Documentation

The complete documentation of the individual functions can be found on the [API documentation website](https://doc.zahner.de/thales_remote/).  

# 🔧 Installation

The package can be installed via pip.

```
pip install thales_remote
```

> ⚠️ Since v1.1.1 works only with Thales ≥ 5.8.6. For previous versions of Thales Software, please download an older version of the package.
>
> For example: ``` pip install thales_remote==1.0.1 ```

The class [BCMuxInterface](https://doc.zahner.de/thales_remote/bc_mux_interface.html) to control the [BC-MUX](https://zahner.de/products-details/multiplexer/bc-mux) is located in the Python file [BCMuxInterface.py](Examples/BCMuxInterface/BCMuxInterface.py), from this file the class can be imported.

# 🔬 Measurement Data Analysis

There is a separate Python package on [GitHub](https://github.com/Zahner-elektrik/Zahner-Analysis-Python) and [PyPI/pip](https://pypi.org/project/zahner-analysis/) for analyzing measurement data.

In this repository there are examples of how to fit equivalent electrical circuit models to electrochemical impedance spectra, also known as EIS equivalent circuit fitting. The model parameters can be further processed after the fit with Python, for example for the comparison of serial measurements.

# 🔨 Basic Usage

The [Jupyter](https://jupyter.org/) notebook [BasicIntroduction.ipynb](Examples/BasicIntroduction/BasicIntroduction.ipynb) explains the fundamentals of using the library.

```python
"""
Connect to the Zahner Zennium Potentiostat
"""
zenniumConnection = ThalesRemoteConnection()
zenniumConnection.connectToTerm("localhost", "ScriptRemote")
zahnerZennium = ThalesRemoteScriptWrapper(zenniumConnection)
zahnerZennium.forceThalesIntoRemoteScript()

"""
Read the measured voltage and current.
"""
print("Potential: " + str(zahnerZennium.getPotential()))
print("Current: " + str(zahnerZennium.getCurrent()))


"""
Single frequency impedance measurement at 1 V DC and 2 kHz
with 10mV amplitude for 3 periods.
"""
zahnerZennium.setPotentiostatMode(PotentiostatMode.POTMODE_POTENTIOSTATIC)
zahnerZennium.setPotential(1)

zahnerZennium.enablePotentiostat()
    
zahnerZennium.setFrequency(2000)
zahnerZennium.setAmplitude(10e-3)
zahnerZennium.setNumberOfPeriods(3)

zahnerZennium.getImpedance()

zahnerZennium.disablePotentiostat()
zenniumConnection.disconnectFromTerm()
```

# 📖 Examples

There is at least one example for each possible electrochemical method that can be controlled remotely.

[BasicIntroduction.ipynb](Examples/BasicIntroduction/BasicIntroduction.ipynb) is the most basic introduction, which describes the connection setup in detail. For each example there is a [Jupyter](https://jupyter.org/) notebook which explains the example code in detail. For the user there is a Python script for each example which contains the pure Python code so that Jupyter does not need to be installed.

In the examples only one method is explained and parameterized at a time for better comprehension. But the methods can also be combined flexibly in a Python script, for example a CV measurement followed by an EIS measurement.

## [BasicIntroduction.ipynb](Examples/BasicIntroduction/BasicIntroduction.ipynb)

* Basic introduction to remote control
* Switch potentiostat on or off
* Setting potentiostat potentiostatic or galvanostatic
* Setting output potential or current
* Read potential and current
* Single frequency impedance measurement

## [EISImportPlot.ipynb](Examples/EISImportPlot/EISImportPlot.ipynb)

* Measurement of an impedance spectrum - EIS
* **Importing the measurement results from the ism file into Python**
* **Plotting the spectrum in bode and nyquist representation with the matplotlib library**

## [EISPad4.ipynb](Examples/EISPad4/EISPad4.ipynb)

* Measurement of an impedance spectrum on a stack with single cells connected to the [PAD4](https://zahner.de/products-details/addon-cards/pad4) card
* DC measurement using PAD4 as ACQ channel
* Single frequency impedance measurement with PAD4 channels

## [DynamicDCSequenceEIS.ipynb](Examples/DynamicDCSequenceEIS/DynamicDCSequenceEIS.ipynb)

* [Zahner DC Sequencer](https://doc.zahner.de/manuals/sequencer.pdf) measurement
* Sequencer file generation with [Jinja2](https://jinja.palletsprojects.com/en/3.1.x/) template engine
* Measurements at different current strengths or current densities
* EIS measurement

## [FileExchangeEIS.ipynb](Examples/FileExchangeEIS/FileExchangeEIS.ipynb)

* Measurement of an impedance spectrum - EIS
* Importing the measurement results from the ism file into Python
* **Acquiring the measurement files with Python via network**

## [EIS.ipynb](Examples/EIS/EIS.ipynb)

* Setting output file naming for impedance spectras
* Parametrizing an impedance spectrum
* Measurement with an external potentiostat (EPC-Device)

## [CyclicVoltammetry.ipynb](Examples/CyclicVoltammetry/CyclicVoltammetry.ipynb)

* Measure cylic voltammetry measurement
* Setting output file naming for CV measurements
* Parametrizing an CV measurement
* Importing the measurement results from the isc file into Python
* **Acquiring the measurement files with Python via network**

## [CVImportPlot.ipynb](Examples/CVImportPlot/CVImportPlot.ipynb)

* Measure cylic voltammetry measurement
* Setting output file naming for CV measurements
* Parametrizing an CV measurement
* Importing the measurement results from the isc file into Python
* **Acquiring the measurement files with Python via network**

## [CurrentVoltageCurve.ipynb](Examples/CurrentVoltageCurve/CurrentVoltageCurve.ipynb)

* Setting output file naming for IE measurements
* Parametrizing an IE measurement
* Importing the measurement results from the iss file into Python

## [DCSequencer.ipynb](Examples/DCSequencer/DCSequencer.ipynb)

* The [Zahner sequencer](https://doc.zahner.de/manuals/sequencer.pdf) outputs current and voltage curves defined in a text file.
* Setting output file naming for sequence measurements
* Parametrizing an sequence measurement
* Measurement with an [external potentiostat](https://zahner.de/products#external-potentiostats) or [external load](https://zahner.de/products#electronic-loads) ([EPC-Device](https://zahner.de/products-details/addon-cards/epc42))

## [EISCVLaTeX.ipynb](Examples/EISCVLaTeX/EISCVLaTeX.ipynb)

* Measure impedance specta and cyclic voltammetry
* Plotting the measurement data.
* Create a PDF with the measurement data using [LaTeX](https://www.latex-project.org/)

## [EISvsParameter.ipynb](Examples/EISvsParameter/EISvsParameter.ipynb)

* Setting output file naming for impedance spectra
* Measure impedance spectra with different DC parameters
* Importing the measurement results from the ism file into Python
* Display impedance and phase in contourplots with the matplotlib library

## [ExternalDeviceFRA.ipynb](Examples/ExternalDeviceFRA/ExternalDeviceFRA.ipynb)

* Configure FRA Probe measurement
* Measure EIS with FRA Probe

## [LoadWithExternalSource.ipynb](Examples/LoadWithExternalSource/LoadWithExternalSource.ipynb)

* Measure EIS at OCP with the [electronic load EL1002](https://zahner.de/products-details/electronic-loads/el1002) and the [Delta Elektronika SM3300 SM 18-220](https://www.delta-elektronika.nl/en/products/dc-power-supplies-3300w-sm3300-series.html)
* Remote control [Delta Elektronika SM3300 SM 18-220](https://www.delta-elektronika.nl/en/products/dc-power-supplies-3300w-sm3300-series.html)
* **Acquiring the measurement files with Python via network**
* **Plotting the spectrum in bode representation with the matplotlib library**

## [ImpedanceMultiCellCycle.ipynb](Examples/ImpedanceMultiCellCycle/ImpedanceMultiCellCycle.ipynb)

* Multichannel operation with several external potentiostats, of the latest generation, type **PP2x2, XPOT2 or EL1002**
* Shared [Zennium series](https://zahner.de/products#potentiostats) device for impedance measurements
* Operation of the power potentiostats standalone without thales with the Python package [zahner_potentiostat](https://github.com/Zahner-elektrik/zahner_potentiostat)

## [ImpedanceRampHotSwap.ipynb](Examples/ImpedanceRampHotSwap/ImpedanceRampHotSwap.ipynb)

* Switch between Thales/EPC and SCPI/standalone operation of the external potentiostats (PP2x2, XPOT2 or EL1002) **without switching off the potentiostat**
* Shared [Zennium series](https://zahner.de/products#potentiostats) device for impedance measurements
* Operation of the power potentiostats standalone without thales with the Python package [zahner_potentiostat](https://github.com/Zahner-elektrik/zahner_potentiostat)

## [LabVIEW.ipynb](Examples/LabVIEW/LabVIEW.ipynb)

* Using the **thales_remote** Python package with the [LabVIEW Python Node](https://www.ni.com/docs/en-US/bundle/labview-api-ref/page/menus/categories/computer/python-node-mnu.html)

## [BCMuxInterface.ipynb](Examples/BCMuxInterface/BCMuxInterface.ipynb)

* Remote control of the BC-MUX
* Class which realizes the remote control

# 📧 Having a question?

Send a [mail](mailto:support@zahner.de?subject=Thales-Remote-Python%20Question&body=Your%20Message) to our support team.

# ⁉️ Found a bug or missing a specific feature?

Feel free to **create a new issue** with an appropriate title and description in the [Thales-Remote-Python repository issue tracker](https://github.com/Zahner-elektrik/Thales-Remote-Python/issues). Or send a [mail](mailto:support@zahner.de?subject=Thales-Remote-Python%20Question&body=Your%20Message) to our support team.  
If you have already found a solution to your issue or feature, **we would be happy to review your pull request**!

# ✅ Requirements

Programming is done with the latest Python version at the time of commit.

For the [thales_remote](thales_remote) package only the Python standard library was used.
If measurement data are imported and plotted, the package [zahner_analysis](https://github.com/Zahner-elektrik/Zahner-Analysis-Python) is used.

For standalone communication without Thales with the PP2x2, XPOT2 or EL1002 devices the [zahner_potentiostat](https://github.com/Zahner-elektrik/zahner_potentiostat) package is used.

The packages [matplotlib](https://matplotlib.org/), [SciPy](https://scipy.org/) and [NumPy](https://numpy.org/) are used in some examples to display the measurement data graphically.
Jupyter is not necessary, since each example is also available as a Python file.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "thales-remote",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "potentiostat,electrochemistry,chemistry,eis,cyclic voltammetry,fuel-cell,battery",
    "author": "",
    "author_email": "Maximilian Krapp <maximilian.krapp@zahner.de>",
    "download_url": "https://files.pythonhosted.org/packages/7f/13/9707ac27168852712ae2d0a79412cf01aa55110ea7993d62f43c310f699a/thales_remote-1.2.4.tar.gz",
    "platform": null,
    "description": "![Thales-Remote-Python](https://doc.zahner.de/github_resources/Thales-Remote-Python.png)\n\nThales-Remote-Python is a Python extension which uses the Zahner [Remote2](https://doc.zahner.de/manuals/remote2.pdf) to control [Zahner ZENNIUM Potentiostats](https://zahner.de/products#potentiostats).  \nIt was developed to **easily integrate** [Zahner ZENNIUM Potentiostats](https://zahner.de/products#potentiostats) into Python scripts for more **complex measurement** tasks and for **automation purposes**.\n\nThe measurement methods **Impedance Spectroscopy (EIS)**, **Cyclic Voltammetry (CV)**, **Current\u2013Voltage characteristic (IE)**,and **DC sequences** are supported. Also constant current or constant voltage can be output and current and voltage can be measured. Single frequency impedance measurement is also possible. Other supported functions are the remote control of the [BC-MUX](https://zahner.de/products-details/multiplexer/bc-mux) and the import of ism files in Python.  \n\n# \ud83d\udcda Documentation\n\nThe complete documentation of the individual functions can be found on the [API documentation website](https://doc.zahner.de/thales_remote/).  \n\n# \ud83d\udd27 Installation\n\nThe package can be installed via pip.\n\n```\npip install thales_remote\n```\n\n> \u26a0\ufe0f Since v1.1.1 works only with Thales \u2265 5.8.6. For previous versions of Thales Software, please download an older version of the package.\n>\n> For example: ``` pip install thales_remote==1.0.1 ```\n\nThe class [BCMuxInterface](https://doc.zahner.de/thales_remote/bc_mux_interface.html) to control the [BC-MUX](https://zahner.de/products-details/multiplexer/bc-mux) is located in the Python file [BCMuxInterface.py](Examples/BCMuxInterface/BCMuxInterface.py), from this file the class can be imported.\n\n# \ud83d\udd2c Measurement Data Analysis\n\nThere is a separate Python package on [GitHub](https://github.com/Zahner-elektrik/Zahner-Analysis-Python) and [PyPI/pip](https://pypi.org/project/zahner-analysis/) for analyzing measurement data.\n\nIn this repository there are examples of how to fit equivalent electrical circuit models to electrochemical impedance spectra, also known as EIS equivalent circuit fitting. The model parameters can be further processed after the fit with Python, for example for the comparison of serial measurements.\n\n# \ud83d\udd28 Basic Usage\n\nThe [Jupyter](https://jupyter.org/) notebook [BasicIntroduction.ipynb](Examples/BasicIntroduction/BasicIntroduction.ipynb) explains the fundamentals of using the library.\n\n```python\n\"\"\"\nConnect to the Zahner Zennium Potentiostat\n\"\"\"\nzenniumConnection = ThalesRemoteConnection()\nzenniumConnection.connectToTerm(\"localhost\", \"ScriptRemote\")\nzahnerZennium = ThalesRemoteScriptWrapper(zenniumConnection)\nzahnerZennium.forceThalesIntoRemoteScript()\n\n\"\"\"\nRead the measured voltage and current.\n\"\"\"\nprint(\"Potential: \" + str(zahnerZennium.getPotential()))\nprint(\"Current: \" + str(zahnerZennium.getCurrent()))\n\n\n\"\"\"\nSingle frequency impedance measurement at 1 V DC and 2 kHz\nwith 10mV amplitude for 3 periods.\n\"\"\"\nzahnerZennium.setPotentiostatMode(PotentiostatMode.POTMODE_POTENTIOSTATIC)\nzahnerZennium.setPotential(1)\n\nzahnerZennium.enablePotentiostat()\n    \nzahnerZennium.setFrequency(2000)\nzahnerZennium.setAmplitude(10e-3)\nzahnerZennium.setNumberOfPeriods(3)\n\nzahnerZennium.getImpedance()\n\nzahnerZennium.disablePotentiostat()\nzenniumConnection.disconnectFromTerm()\n```\n\n# \ud83d\udcd6 Examples\n\nThere is at least one example for each possible electrochemical method that can be controlled remotely.\n\n[BasicIntroduction.ipynb](Examples/BasicIntroduction/BasicIntroduction.ipynb) is the most basic introduction, which describes the connection setup in detail. For each example there is a [Jupyter](https://jupyter.org/) notebook which explains the example code in detail. For the user there is a Python script for each example which contains the pure Python code so that Jupyter does not need to be installed.\n\nIn the examples only one method is explained and parameterized at a time for better comprehension. But the methods can also be combined flexibly in a Python script, for example a CV measurement followed by an EIS measurement.\n\n## [BasicIntroduction.ipynb](Examples/BasicIntroduction/BasicIntroduction.ipynb)\n\n* Basic introduction to remote control\n* Switch potentiostat on or off\n* Setting potentiostat potentiostatic or galvanostatic\n* Setting output potential or current\n* Read potential and current\n* Single frequency impedance measurement\n\n## [EISImportPlot.ipynb](Examples/EISImportPlot/EISImportPlot.ipynb)\n\n* Measurement of an impedance spectrum - EIS\n* **Importing the measurement results from the ism file into Python**\n* **Plotting the spectrum in bode and nyquist representation with the matplotlib library**\n\n## [EISPad4.ipynb](Examples/EISPad4/EISPad4.ipynb)\n\n* Measurement of an impedance spectrum on a stack with single cells connected to the [PAD4](https://zahner.de/products-details/addon-cards/pad4) card\n* DC measurement using PAD4 as ACQ channel\n* Single frequency impedance measurement with PAD4 channels\n\n## [DynamicDCSequenceEIS.ipynb](Examples/DynamicDCSequenceEIS/DynamicDCSequenceEIS.ipynb)\n\n* [Zahner DC Sequencer](https://doc.zahner.de/manuals/sequencer.pdf) measurement\n* Sequencer file generation with [Jinja2](https://jinja.palletsprojects.com/en/3.1.x/) template engine\n* Measurements at different current strengths or current densities\n* EIS measurement\n\n## [FileExchangeEIS.ipynb](Examples/FileExchangeEIS/FileExchangeEIS.ipynb)\n\n* Measurement of an impedance spectrum - EIS\n* Importing the measurement results from the ism file into Python\n* **Acquiring the measurement files with Python via network**\n\n## [EIS.ipynb](Examples/EIS/EIS.ipynb)\n\n* Setting output file naming for impedance spectras\n* Parametrizing an impedance spectrum\n* Measurement with an external potentiostat (EPC-Device)\n\n## [CyclicVoltammetry.ipynb](Examples/CyclicVoltammetry/CyclicVoltammetry.ipynb)\n\n* Measure cylic voltammetry measurement\n* Setting output file naming for CV measurements\n* Parametrizing an CV measurement\n* Importing the measurement results from the isc file into Python\n* **Acquiring the measurement files with Python via network**\n\n## [CVImportPlot.ipynb](Examples/CVImportPlot/CVImportPlot.ipynb)\n\n* Measure cylic voltammetry measurement\n* Setting output file naming for CV measurements\n* Parametrizing an CV measurement\n* Importing the measurement results from the isc file into Python\n* **Acquiring the measurement files with Python via network**\n\n## [CurrentVoltageCurve.ipynb](Examples/CurrentVoltageCurve/CurrentVoltageCurve.ipynb)\n\n* Setting output file naming for IE measurements\n* Parametrizing an IE measurement\n* Importing the measurement results from the iss file into Python\n\n## [DCSequencer.ipynb](Examples/DCSequencer/DCSequencer.ipynb)\n\n* The [Zahner sequencer](https://doc.zahner.de/manuals/sequencer.pdf) outputs current and voltage curves defined in a text file.\n* Setting output file naming for sequence measurements\n* Parametrizing an sequence measurement\n* Measurement with an [external potentiostat](https://zahner.de/products#external-potentiostats) or [external load](https://zahner.de/products#electronic-loads) ([EPC-Device](https://zahner.de/products-details/addon-cards/epc42))\n\n## [EISCVLaTeX.ipynb](Examples/EISCVLaTeX/EISCVLaTeX.ipynb)\n\n* Measure impedance specta and cyclic voltammetry\n* Plotting the measurement data.\n* Create a PDF with the measurement data using [LaTeX](https://www.latex-project.org/)\n\n## [EISvsParameter.ipynb](Examples/EISvsParameter/EISvsParameter.ipynb)\n\n* Setting output file naming for impedance spectra\n* Measure impedance spectra with different DC parameters\n* Importing the measurement results from the ism file into Python\n* Display impedance and phase in contourplots with the matplotlib library\n\n## [ExternalDeviceFRA.ipynb](Examples/ExternalDeviceFRA/ExternalDeviceFRA.ipynb)\n\n* Configure FRA Probe measurement\n* Measure EIS with FRA Probe\n\n## [LoadWithExternalSource.ipynb](Examples/LoadWithExternalSource/LoadWithExternalSource.ipynb)\n\n* Measure EIS at OCP with the [electronic load EL1002](https://zahner.de/products-details/electronic-loads/el1002) and the [Delta Elektronika SM3300 SM 18-220](https://www.delta-elektronika.nl/en/products/dc-power-supplies-3300w-sm3300-series.html)\n* Remote control [Delta Elektronika SM3300 SM 18-220](https://www.delta-elektronika.nl/en/products/dc-power-supplies-3300w-sm3300-series.html)\n* **Acquiring the measurement files with Python via network**\n* **Plotting the spectrum in bode representation with the matplotlib library**\n\n## [ImpedanceMultiCellCycle.ipynb](Examples/ImpedanceMultiCellCycle/ImpedanceMultiCellCycle.ipynb)\n\n* Multichannel operation with several external potentiostats, of the latest generation, type **PP2x2, XPOT2 or EL1002**\n* Shared [Zennium series](https://zahner.de/products#potentiostats) device for impedance measurements\n* Operation of the power potentiostats standalone without thales with the Python package [zahner_potentiostat](https://github.com/Zahner-elektrik/zahner_potentiostat)\n\n## [ImpedanceRampHotSwap.ipynb](Examples/ImpedanceRampHotSwap/ImpedanceRampHotSwap.ipynb)\n\n* Switch between Thales/EPC and SCPI/standalone operation of the external potentiostats (PP2x2, XPOT2 or EL1002) **without switching off the potentiostat**\n* Shared [Zennium series](https://zahner.de/products#potentiostats) device for impedance measurements\n* Operation of the power potentiostats standalone without thales with the Python package [zahner_potentiostat](https://github.com/Zahner-elektrik/zahner_potentiostat)\n\n## [LabVIEW.ipynb](Examples/LabVIEW/LabVIEW.ipynb)\n\n* Using the **thales_remote** Python package with the [LabVIEW Python Node](https://www.ni.com/docs/en-US/bundle/labview-api-ref/page/menus/categories/computer/python-node-mnu.html)\n\n## [BCMuxInterface.ipynb](Examples/BCMuxInterface/BCMuxInterface.ipynb)\n\n* Remote control of the BC-MUX\n* Class which realizes the remote control\n\n# \ud83d\udce7 Having a question?\n\nSend a [mail](mailto:support@zahner.de?subject=Thales-Remote-Python%20Question&body=Your%20Message) to our support team.\n\n# \u2049\ufe0f Found a bug or missing a specific feature?\n\nFeel free to **create a new issue** with an appropriate title and description in the [Thales-Remote-Python repository issue tracker](https://github.com/Zahner-elektrik/Thales-Remote-Python/issues). Or send a [mail](mailto:support@zahner.de?subject=Thales-Remote-Python%20Question&body=Your%20Message) to our support team.  \nIf you have already found a solution to your issue or feature, **we would be happy to review your pull request**!\n\n# \u2705 Requirements\n\nProgramming is done with the latest Python version at the time of commit.\n\nFor the [thales_remote](thales_remote) package only the Python standard library was used.\nIf measurement data are imported and plotted, the package [zahner_analysis](https://github.com/Zahner-elektrik/Zahner-Analysis-Python) is used.\n\nFor standalone communication without Thales with the PP2x2, XPOT2 or EL1002 devices the [zahner_potentiostat](https://github.com/Zahner-elektrik/zahner_potentiostat) package is used.\n\nThe packages [matplotlib](https://matplotlib.org/), [SciPy](https://scipy.org/) and [NumPy](https://numpy.org/) are used in some examples to display the measurement data graphically.\nJupyter is not necessary, since each example is also available as a Python file.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 Zahner-Elektrik  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Library to control Zahner Zennium potentiostats",
    "version": "1.2.4",
    "project_urls": {
        "Bug Tracker": "https://github.com/Zahner-elektrik/Thales-Remote-Python/issues",
        "Documentation": "https://doc.zahner.de/thales_remote/",
        "Examples": "https://github.com/Zahner-elektrik/Thales-Remote-Python",
        "Homepage": "https://zahner.de/",
        "Source Code": "https://github.com/Zahner-elektrik/Thales-Remote-Python"
    },
    "split_keywords": [
        "potentiostat",
        "electrochemistry",
        "chemistry",
        "eis",
        "cyclic voltammetry",
        "fuel-cell",
        "battery"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8a510426c2ae41f211eb4188df96b93ec458017e641ce2214be9edef4f254e1",
                "md5": "7de63d74ba1ace6e138ed71df16d3e4d",
                "sha256": "bbdf48a76102622fc14170faf9f5df9d0068c1054fe9186868715aa7b92b914a"
            },
            "downloads": -1,
            "filename": "thales_remote-1.2.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7de63d74ba1ace6e138ed71df16d3e4d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 35324,
            "upload_time": "2024-01-31T15:00:22",
            "upload_time_iso_8601": "2024-01-31T15:00:22.752121Z",
            "url": "https://files.pythonhosted.org/packages/d8/a5/10426c2ae41f211eb4188df96b93ec458017e641ce2214be9edef4f254e1/thales_remote-1.2.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f139707ac27168852712ae2d0a79412cf01aa55110ea7993d62f43c310f699a",
                "md5": "0f548e8cc51facb83c53a9804f21f0c2",
                "sha256": "0cdc725810e55779f036c348fe1084d8ba28b08f423cfba74aac04a84198a1c4"
            },
            "downloads": -1,
            "filename": "thales_remote-1.2.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0f548e8cc51facb83c53a9804f21f0c2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 2174121,
            "upload_time": "2024-01-31T15:00:25",
            "upload_time_iso_8601": "2024-01-31T15:00:25.784679Z",
            "url": "https://files.pythonhosted.org/packages/7f/13/9707ac27168852712ae2d0a79412cf01aa55110ea7993d62f43c310f699a/thales_remote-1.2.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-31 15:00:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Zahner-elektrik",
    "github_project": "Thales-Remote-Python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "thales-remote"
}
        
Elapsed time: 0.21485s