Metadata-Version: 2.4
Name: spikesafe-python
Version: 1.16.8
Summary: SpikeSafe Python Library
Author-email: Vektrex <support@vektrex.com>
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema>=4.2.3
Requires-Dist: pyserial>=3.5
Dynamic: license-file

# spikesafe-python

The official Python driver supporting Vektrex SpikeSafe products:
- [SpikeSafe PSMU](https://www.vektrex.com/products/spikesafe-source-measure-unit/)
- [SpikeSafe Performance Series ("PRF")](https://www.vektrex.com/products/spikesafe-performance-series-precision-pulsed-current-sources/)

Vektrex SpikeSafe Python API used for automation of custom instrument control sequences for testing LED, laser, and electronic equipment.

The Vektrex SpikeSafe Python API powers the Python examples published on Github.

GitHub Repository: [SpikeSafe Python Samples](https://github.com/VektrexElectronicSystems/SpikeSafePythonSamples)

Library help documentation: [spikesafe_python_lib_docs](https://github.com/VektrexElectronicSystems/SpikeSafePythonSamples/tree/master/spikesafe_python_lib_docs)

Release notes: [spikesafe_python_lib_docs/_releases](https://github.com/VektrexElectronicSystems/SpikeSafePythonSamples/tree/master/spikesafe_python_lib_docs/_releases)

## About

The **spikesafe-python** package provides light-weight access Python helper classes and functions to easily communicate with to your SpikeSafe and parse data into easy to use objects.

**spikesafe-python** supports all operating systems that support the free [Python](https://www.python.org/) interpreter.

**spikesafe-python** follows [Python Software Foundation](https://devguide.python.org/#status-of-python-branches) for supporting different versions.

## Installation

Install the latest stable version of **spikesafe-python** by using instructions in [Project Setup](https://github.com/VektrexElectronicSystems/SpikeSafePythonSamples?tab=readme-ov-file#project-setup).

## Usage

To learn how to use this package, it is best to do the [Getting Started](https://github.com/VektrexElectronicSystems/SpikeSafePythonSamples/tree/master/getting_started) samples listed in order.

Then continue through the remainder of the samples listed in the order of the [Directory](https://github.com/VektrexElectronicSystems/SpikeSafePythonSamples?tab=readme-ov-file#directory).

### FAQ
Does the library depend on the system locale?

SCPI numeric formatting and response parsing are independent of the application's
locale. Command arguments use a period (`.`) as the decimal separator and no digit
grouping; responses are parsed with Python's locale-independent `float()` and
`int()`. Supply numeric values rather than localized strings such as `"1,25"`.

Custom compensation JSON files must be UTF-8 encoded, with JSON numbers using a
period as the decimal separator. TCP and serial text use UTF-8 as well. The library
does not change the application's process-wide locale.

## Support / Feedback

For further assistance with **spikesafe-python** please contact Vektrex support at support@vektrex.com. This page is regularly monitored and maintained by Vektrex engineers.

## Built With

* [Visual Studio Code](https://code.visualstudio.com/)
* [Python for Windows](https://www.python.org/downloads/windows/)

## Versioning

We use [SemVer](http://semver.org/) for versioning.

## Authors

* **Bill Thompson** - [BillThomp](https://github.com/BillThomp)
* **Eljay Gemoto** - [eljayg](https://github.com/eljayg)

## License

**spikesafe-python** is licensed under the MIT license, which allows for non-commercial and commercial use.
