Skip to main content

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

  • ezmsg
  • pylsl
  • numpy

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 (default True) — push samples with the incoming message timestamps, or with pylsl.local_clock() when False.
  • assume_lsl_clock (default False) — when use_message_timestamp is True, whether the incoming timestamps are already in the LSL clock (otherwise they are converted from the system clock).
  • sync_blocking (default False) — when True, the outlet is created with the pylsl.transp_sync_blocking transport flag, enabling the synchronous (zero-copy) outlet mode for high-bandwidth streams. Requires pylsl >= 1.18.3b1. Leave False for 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.

  1. Install uv if not already installed.
  2. Fork ezmsg-lsl and clone your fork to your local computer.
  3. Open a terminal and cd to the cloned folder.
  4. uv sync to create a .venv and install dependencies.
  5. (Optional) Install pre-commit hooks: uv run pre-commit install
  6. After editing code and making commits, Run the test suite before making a PR: uv run pytest tests
    • Currently, there are no substantial tests.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezmsg_lsl-1.12.0.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezmsg_lsl-1.12.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file ezmsg_lsl-1.12.0.tar.gz.

File metadata

  • Download URL: ezmsg_lsl-1.12.0.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}

File hashes

Hashes for ezmsg_lsl-1.12.0.tar.gz
Algorithm Hash digest
SHA256 936e54cb35d0b57bb35a1d10f6b358d8ec328aa6dc9e7e4882cdb657b0cee2bf
MD5 af94a2b47ea4d1020fe1a3ef93a34f32
BLAKE2b-256 6198d4665bf65c6c5eff8fb1a5531512f6f8e87927f8462779b12f9ba32d1e6e

See more details on using hashes here.

File details

Details for the file ezmsg_lsl-1.12.0-py3-none-any.whl.

File metadata

  • Download URL: ezmsg_lsl-1.12.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}

File hashes

Hashes for ezmsg_lsl-1.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae3c01ba8596db6e116d742aefbbd007466b4b649433e68f099b6806796c28d6
MD5 91088474b4b715170aa70be1a4bc3b27
BLAKE2b-256 45c54f98dbe893cb664630684a0c8ec6806f434a59af4d23989d276d8b274c3e

See more details on using hashes here.

Release history Release notifications | RSS feed

1.13.0

2 files

This release

1.12.0 This release

2 files

1.11.0

2 files

1.10.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.1

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page