Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PyOSC

Tests
Python library to support OSC (Open Sound Control).

About the Project

I had issues getting the support I needed out of any of the other packages, so I decided to build my own from scratch. I wanted something that was simple to use, and handled OSC peers in a way that makes sense to me, given that most libruaryies try and apply a client server model that doesn't really exist in OSC. I also wanted to support both UDP and TCP transport protocols, as well as both OSC version 1.0 and 1.1. I wanted to make sure the library was flexible enough for me to work the way I wanted to work, and that it would be easy to treat OSC more as an API, than as a messaging protocol.

Features

  • Support for both UDP and TCP transport protocols
  • Flexible message handling with customizable handlers
  • Support for both OSC version 1.0 and 1.1
  • Background processing of incoming messages to avoid blocking the main thread
  • Simple API for sending OSC messages to remote hosts

Installation

PyPI - Version

You can install PyOSC using pip:

pip install pyopensoundcontrol

or when using poetry:

poetry add pyopensoundcontrol

Documentation

The documentation is currently hosted here, with the source files located inside the docs directory in this repository should you want to contribute to it or run it locally.

Bugs and Issues

If you encounter any bugs or issues, please report them on the GitHub Issues page. Make sure to include a clear description of the problem, steps to reproduce it, and any relevant code snippets or error messages.

Contributing

Contributions are welcome! If you would like to contribute to the project, please follow these steps:

  1. Fork the repository and create a new branch for your feature or bug fix.
  2. Make your changes and ensure that they are well-documented and tested.
  3. Submit a pull request with a clear description of your changes and why they are needed.
  4. The maintainers will review your pull request and provide feedback or merge it if it meets the project's standards.
  5. Please read the CONTRIBUTING.md file for more detailed guidelines on contributing to the project.

Roadmap

See ROADMAP.md for the current roadmap and upcoming features

Dependencies and Thank yous

  • oscparser - A pure Python OSC message parser that supports both OSC 1.0 and 1.1 formats. This library was written by a friend of mine specifically for this project to ensure we have a reliable and flexible OSC parsing solution that meets our needs.
  • pytest - A testing framework for Python that makes it easy to write simple and scalable test cases.
  • socket - A built-in Python library for low-level network communication, used for sending and receiving OSC messages over UDP and TCP.
  • threading - A built-in Python library for creating and managing threads, used to handle incoming OSC messages without blocking the main thread.
  • typing - A built-in Python library that provides support for type hints, used to improve code readability and maintainability.
  • select - A built-in Python library that provides access to the select() function, used for monitoring multiple file descriptors (sockets) for events such as incoming data.
  • Material for MKDocs - A modern and responsive theme for MkDocs, used to create the documentation for this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for pyopensoundcontrol 2.0.0b18

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

Source distribution (sdist)

Source distribution for pyopensoundcontrol 2.0.0b18
File Size Uploaded
pyopensoundcontrol-2.0.0b18.tar.gz 20.7 kB Details

Built distribution (wheel)

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

Total release size: 39.8 kB

Release files / pyopensoundcontrol-2.0.0b18.tar.gz

Download URL pyopensoundcontrol-2.0.0b18.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5fd8bad16c7b9e11924416faf2a14f1dbb5267218756a0053e4de037988efbc3
BLAKE2b-256 checksum
How to use checksums
867fb2287969788b43e92d2bf0fe0d75aaad88723d7b714d6ca9ad7639c84b50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 8, 2026.

Transparency log

Release files / pyopensoundcontrol-2.0.0b18-py3-none-any.whl

Download URL pyopensoundcontrol-2.0.0b18-py3-none-any.whl
Size 19.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
303480e471a1625f4736e644ef9c31cb0d6aeb5c18eccd746126566dca73b9cf
BLAKE2b-256 checksum
How to use checksums
9cb14a44f911791d6ca474de838dfcfd3c6a6f95899b7b388202456d5ffa20a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 8, 2026.

Transparency log
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