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()

Release files for syndesi 0.6.1

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.6.1
File Size Uploaded
syndesi-0.6.1.tar.gz 75.7 kB Details

Built distribution (wheel)

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

Total release size: 166.4 kB

Release files / syndesi-0.6.1.tar.gz

Download URL syndesi-0.6.1.tar.gz
Size 75.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7c9d86510e0858b28801ec7e69d778c5427cd87e91839e809fb687a9f43f621b
BLAKE2b-256 checksum
How to use checksums
ecb452c00d96a016b42282d7789d0cef882f8f8552510561f777bb85875586b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

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

Download URL syndesi-0.6.1-py3-none-any.whl
Size 90.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a3418722b92e9727afa8276d515b5927fb3eab6c88104a4e79bd75e8e21d3790
BLAKE2b-256 checksum
How to use checksums
21412aba388a456fa4469ae6e69660f770cba275830a69b6c9a069bb4f881f4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

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

0.2.0

3 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

2 release files

0.0.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