Skip to main content

Syndesi Python Implementation

Syndesi description is available here

Syndesi is a modular Python framework designed to streamline communication and control of a wide range of electronic instruments and devices. By providing a unified abstraction layer for adapters, protocols, and device drivers, Syndesi enables seamless integration with test equipment such as multimeters, oscilloscopes, power supplies, UART/USB devices, and more. Its flexible architecture supports both high-level and low-level operations, making it ideal for automation, data acquisition, and custom device interfacing in laboratory, industrial, and research environments.

Installation

The syndesi Python package can be installed through pip

pip install syndesi

The package can also be installed locally by cloning this repository

git clone https://github.com/syndesi-project/Syndesi
cd Syndesi
pip install .

Usage

The user can work with any of the three following layers :

  • Adapters : low-level communication (IP, UART, ...)
  • Protocols : Encapsulated protocols (Delimited, Modbus, ...)
  • Drivers : Device or application specific commands

Adapters

The adapter allows the user to read and write raw data through IP, serial and VISA

from syndesi import IP

my_adapter = IP('192.168.1.12', port=5025)

my_adapter.write(b'ping\n')

my_adapter.read() # -> b'pong'
from syndesi import SerialPort

arduino = SerialPort('/dev/ttyUSB0', baudrate=115200) # COMx on Windows
arduino.query(b'get_temperature\n') # -> 20.5

Protocols

Protocols encapsulate and format data

from syndesi import IP, Delimited

my_server = Delimited(IP('test.server.local', port=1234))

my_server.query('Hello world\n') # -> Hello world (\n is removed by Delimited)

Drivers

A driver only requires an adapter, the protocol (if used) is instanciated internally

from syndesi_drivers.instruments.mutlimeters.siglent.SDM3055 import SDM3055
from syndesi.adapters import IP

mm = SDM3055(IP("192.168.1.123"))

voltage = mm.measure_dc_voltage()

Metadata

Release files for syndesi 0.7.5

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

Source distribution (sdist)

Source distribution for syndesi 0.7.5
File Size Uploaded Provenance Actions
syndesi-0.7.5.tar.gz 115.2 kB With provenance Details for syndesi-0.7.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for syndesi 0.7.5
File Interpreter ABI Platform Actions
syndesi-0.7.5-py3-none-any.whl Python 3 none any Details for syndesi-0.7.5-py3-none-any.whl

Total release size: 251.3 kB

Release files / syndesi-0.7.5.tar.gz

Download URL syndesi-0.7.5.tar.gz
Size 115.2 kB
Tags Source
SHA-256 checksum
How to use checksums
79d8c09e9f6904bbba9b94dd7d062b757ddeafec7026f2fd02001c25088f988d
BLAKE2b-256 checksum
How to use checksums
7746d65b3a77b7e04c2ded1b61605b596e017fb43525078d17df42d2893fa10a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Release files / syndesi-0.7.5-py3-none-any.whl

Download URL syndesi-0.7.5-py3-none-any.whl
Size 136.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60c95a416b9d19e5ddf33b523e3c49736d03c897f39b0dca8559d2a9771cb85d
BLAKE2b-256 checksum
How to use checksums
3177aca869120b59ad6a1d90a4344d0fef941be8d9724daa91599cceb615c263
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Security for syndesi 0.7.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for syndesi-0.7.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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