ezmsg-lsl
Interface to Lab Streaming Layer LSL in ezmsg.
Installation
pip install ezmsg-lsl
Or install the latest development version:
pip install git+https://github.com/ezmsg-org/ezmsg-lsl@dev
Dependencies
ezmsgpylslnumpy
Usage
See the examples folder for more details.
LSL Outlet
LSLOutletUnit publishes incoming AxisArray messages to an LSL stream. Key settings (LSLOutletSettings):
stream_name/stream_type— name and type advertised on the LSL stream.use_message_timestamp(defaultTrue) — push samples with the incoming message timestamps, or withpylsl.local_clock()whenFalse.assume_lsl_clock(defaultFalse) — whenuse_message_timestampisTrue, whether the incoming timestamps are already in the LSL clock (otherwise they are converted from the system clock).sync_blocking(defaultFalse) — whenTrue, the outlet is created with thepylsl.transp_sync_blockingtransport flag, enabling the synchronous (zero-copy) outlet mode for high-bandwidth streams. Requirespylsl >= 1.18.3b1. LeaveFalsefor the standard asynchronous transport.
from ezmsg.lsl.outlet import LSLOutletUnit
outlet = LSLOutletUnit(
stream_name="my_stream",
stream_type="EEG",
sync_blocking=True, # synchronous zero-copy transport
)
Developers
We use uv for development. It is not strictly required, but if you intend to contribute to ezmsg-lsl then using uv will lead to the smoothest collaboration.
- Install
uvif not already installed. - Fork ezmsg-lsl and clone your fork to your local computer.
- Open a terminal and
cdto the cloned folder. uv syncto create a .venv and install dependencies.- (Optional) Install pre-commit hooks:
uv run pre-commit install - After editing code and making commits, Run the test suite before making a PR:
uv run pytest tests- Currently, there are no substantial tests.
Metadata
Release files for ezmsg-lsl 1.15.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ezmsg_lsl-1.15.0.tar.gz | 34.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ezmsg_lsl-1.15.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.6 kB
Release files / ezmsg_lsl-1.15.0.tar.gz
| Download URL | ezmsg_lsl-1.15.0.tar.gz |
|---|---|
| Size | 34.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d572736cbd3588b1d459210618e88ba6a25e4c9d72b1b32521f05126d77cb8e
|
|
BLAKE2b-256 checksum How to use checksums |
12b908d800c304e7e45fc5d3943c34244901bd74fb308c1b668d13558e3ca2b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / ezmsg_lsl-1.15.0-py3-none-any.whl
| Download URL | ezmsg_lsl-1.15.0-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6d6b15e6b0bd194c84285b5a0b005d801366ff16012d79cd5b73c42a5f0d7b8
|
|
BLAKE2b-256 checksum How to use checksums |
89bf382895fcd1d4f6189de1c12aaac8b3e6ea4e3726b74fb961209f79b37e2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|