python-osc
Open Sound Control server and client implementations in pure Python
Decision gist · record as of 2026-08-14
Yes. python-osc is a stable, actively maintained, dependency-free implementation of a well-defined protocol. It has no known vulnerabilities, low install friction, and explicit public-domain licensing. Install it if you need to send or receive OSC messages from Python; the only constraint is a Python 3.10+ requirement.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Installation is straightforward with no external dependencies; the package is pure Python and distributed as a wheel.
- Maintenance is active with a recent release (134 days ago) and steady repository activity.
License · maintenance · safety
(unclear) — The package is released under the Unlicense (public domain dedication), which places no restrictions on use, modification, or distribution for any purpose. License treatment is marked unclear in the metadata, but the raw license text is explicit.
last release 2026-04-02 (134 days) · last repo commit 2026-07-16 · 581 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 97,269 downloads/mo, #13,160 on PyPI
Alternatives
Verify before relying
pip install python-osc
from pythonosc import udp_client
client = udp_client.SimpleUDPClient("127.0.0.1", 5005)
client.send_message("/filter", 0.5)- Whether the 'unclear' license_treatment flag reflects a known ambiguity or is a metadata artifact given the explicit Unlicense text.
- Performance characteristics under high-throughput message loads or with many concurrent connections.
What it is and what it does
python-osc is a pure-Python implementation of the Open Sound Control protocol, a network protocol for communicating musical and other real-time data between computers and synthesizers. It provides both server and client sides, supporting UDP and TCP transports with flexible concurrency modes (blocking, threading, forking, or asyncio). The library includes a dispatcher that maps OSC addresses to Python callback functions, allowing you to define handlers for incoming messages and send responses back.
The package is designed for audio/music applications, live performance control, and any scenario requiring low-latency networked messaging of structured data. It handles standard OSC argument types (integers, floats, strings, MIDI, timestamps, blobs) and supports both simple point-to-point messaging and bundled messages. With no external dependencies and active maintenance, it is ready for production use.
Use it for
- Build a networked music controller that sends OSC messages from a Python script to a DAW or synthesizer.
- Create an OSC server to receive control messages from hardware controllers or other applications and trigger Python callbacks.
- Implement real-time parameter automation by bundling multiple OSC messages and sending them atomically to a remote device.
- Integrate OSC messaging into a live performance or interactive installation where Python coordinates with external audio software.
- Route and transform OSC traffic between multiple networked audio applications using a dispatcher-based relay.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
python-osc is a stable, actively maintained, dependency-free implementation of a well-defined protocol. It has no known vulnerabilities, low install friction, and explicit public-domain licensing. Install it if you need to send or receive OSC messages from Python; the only constraint is a Python 3.10+ requirement.
Install
python-osc on PyPI
Before you install
Installation is straightforward with no external dependencies; the package is pure Python and distributed as a wheel. Maintenance is active with a recent release (134 days ago) and steady repository activity.
Requires Python 3.10 or later.
License in practice
The package is released under the Unlicense (public domain dedication), which places no restrictions on use, modification, or distribution for any purpose. License treatment is marked unclear in the metadata, but the raw license text is explicit.
Quickstart
pip install python-osc
from pythonosc import udp_client
client = udp_client.SimpleUDPClient("127.0.0.1", 5005)
client.send_message("/filter", 0.5)
Verify before relying
- Whether the 'unclear' license_treatment flag reflects a known ambiguity or is a metadata artifact given the explicit Unlicense text.
- Performance characteristics under high-throughput message loads or with many concurrent connections.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 134 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 97,269 / month, #13,160 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: Freely DistributableProgramming Language :: Python :: 3Topic :: Multimedia :: Sound/AudioTopic :: System :: Networking |
Evidence: python_osc-1.10.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “open sound control osc”
- python-oscpython-osc implements Open Sound Control (OSC) servers and clients in…
- osc-libosc-lib provides a shared library of common modules and utilities for…
- osc-placementProvides a command-line interface to the OpenStack Placement service…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also icmplib · pulsectl · sonos-websocket · pyobjc-framework-AVRouting · pyforked-daapd · PyLink · ajsonrpc · pproxy · python-songpal · python-rtmidi