Skip to main content

Python interface to the Lab Streaming Layer

Project description

pylsl

Build Status Build status

This is the Python interface to the Lab Streaming Layer (LSL). LSL is an overlay network for real-time exchange of time series between applications, most often used in research environments. LSL has clients for many other languages and platforms that are compatible with each other.

Let us know if you encounter any bugs (ideally using the issue tracker on the GitHub project).

Installation

Prepared distributions

Note: The manylinux wheels are currently broken. We are awaiting manylinux2010 rollout. Follow here.

The following platforms are supported with direct installation from pypi using pip: pip install pylsl

macOS 10.6+ manylinux i686 manylinux x86_64 Windows 32bit Windows 64bit
Python 2.7
Python 3.4
Python 3.5
Python 3.6
Python 3.7

More or less experimental releases are in tstenner's anaconda repo, install with conda install -c tstenner pylsl.

Self-built

If your platform is not supported by any of the prepared distributions then you will have to find or build a liblsl shared library for your platform. You might be able to find the appropriate liblsl shared object (*.so on Linux, *.dylib on MacOS, or *.dll on Windows) from the liblsl release page.

  • Copy the shared object into liblsl-Python/pylsl/lib (use cp -L on platforms that use symlinks).
  • From the liblsl-Python working directory, run pip install ..
    • Note: You can use pip install -e . to install while keeping the files in-place. This is convenient for developing pylsl.

Usage

See the examples in pylsl/examples. Note that these can be run directly from the commandline with (e.g.) python -m pylsl.examples.SendStringMarkers.

For maintainers

Continuous Integration

pylsl uses continuous integration. It uses AppVeyor for Windows and Linux, and Travis-CI for MacOS. Whenever a new commit is pushed, AppVeyor and Travis build liblsl, copy it into the correct directory, install pylsl, then test its basic functionality. In addition, whenever a new git tag is used on a commit that is pushed to the master branch, the CI systems will deploy new wheels to pypi.

Manual Distrubtion

  1. Manual way:
    1. rm -Rf build dist *.egg-info
    2. python setup.py sdist bdist_wheel
    3. Additional steps on Linux:
      • auditwheel repair dist/*.whl -w dist
      • rm dist/*-linux_x86_64.whl
    4. twine upload dist/*
  2. For conda
    1. build liblsl: conda build ../liblsl/
    2. conda build .

Known Issues

  • On Linux one currently cannot call pylsl functions from a thread that is not the main thread.

Acknowledgments

Pylsl was primarily written by Christian Kothe while at Swartz Center for Computational Neuroscience, UCSD. The LSL project was funded by the Army Research Laboratory under Cooperative Agreement Number W911NF-10-2-0022 as well as through NINDS grant 3R01NS047293-06S1. Thanks for contributions, bug reports, and suggestions go to Bastian Venthur, Chadwick Boulay, David Medine, Clemens Brunner, and Matthew Grivich.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pylsl-1.13.6-py2.py3-none-win_amd64.whl (363.5 kB view details)

Uploaded Python 2 Python 3 Windows x86-64

pylsl-1.13.6-py2.py3-none-win32.whl (336.3 kB view details)

Uploaded Python 2 Python 3 Windows x86

pylsl-1.13.6-py2.py3-none-manylinux1_x86_64.whl (744.2 kB view details)

Uploaded Python 2 Python 3

pylsl-1.13.6-py2.py3-none-macosx_10_13_x86_64.whl (983.3 kB view details)

Uploaded Python 2 Python 3 macOS 10.13+ x86-64

File details

Details for the file pylsl-1.13.6-py2.py3-none-win_amd64.whl.

File metadata

  • Download URL: pylsl-1.13.6-py2.py3-none-win_amd64.whl
  • Upload date:
  • Size: 363.5 kB
  • Tags: Python 2, Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/2.7.17

File hashes

Hashes for pylsl-1.13.6-py2.py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f93d77db5b96843a4f4b3268cd980d3aa2cf2f32705f0eae567f3b0080ea3fae
MD5 cffcada788afdd0af04e154227414865
BLAKE2b-256 02c27b58adda02dbfa8f76bf835879d36b83dfc1da2eaa50d124d13a515e148c

See more details on using hashes here.

File details

Details for the file pylsl-1.13.6-py2.py3-none-win32.whl.

File metadata

  • Download URL: pylsl-1.13.6-py2.py3-none-win32.whl
  • Upload date:
  • Size: 336.3 kB
  • Tags: Python 2, Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/2.7.17

File hashes

Hashes for pylsl-1.13.6-py2.py3-none-win32.whl
Algorithm Hash digest
SHA256 0afd05c70bd532ded6d525bc03d794c86f29f01c1d1680ee525a39dcf2fd603b
MD5 94c02349240fe881a7ae39e6e9d7a4d6
BLAKE2b-256 ed5af9fb83b288459eca12cecdf3be810e18f3a52681ec91830ab4dcf4a0d87d

See more details on using hashes here.

File details

Details for the file pylsl-1.13.6-py2.py3-none-manylinux1_x86_64.whl.

File metadata

  • Download URL: pylsl-1.13.6-py2.py3-none-manylinux1_x86_64.whl
  • Upload date:
  • Size: 744.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/2.7.17

File hashes

Hashes for pylsl-1.13.6-py2.py3-none-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a112142ec0cab20bead37b64c44b45073d490ac4821def2622166aeb250da5bd
MD5 380b31dc2cc44e0a9f5a7c250de1cae7
BLAKE2b-256 c9736ea8d30fd7d210c64b89f7175c41b862d6e0d160f39cc084e55b409038c4

See more details on using hashes here.

File details

Details for the file pylsl-1.13.6-py2.py3-none-macosx_10_13_x86_64.whl.

File metadata

  • Download URL: pylsl-1.13.6-py2.py3-none-macosx_10_13_x86_64.whl
  • Upload date:
  • Size: 983.3 kB
  • Tags: Python 2, Python 3, macOS 10.13+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/2.7.17

File hashes

Hashes for pylsl-1.13.6-py2.py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 46dfe6f9c675645d69a952fc080b55d53223a8649849448b8de09c5b81e7d490
MD5 8229ce10351610f5d12e776e4ded293b
BLAKE2b-256 fabbcc04cd88ca93b964007bb408f9cd4271166d65c15273f9f02bc1d4e2a1ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page