skillfed

python-osc

Open Sound Control server and client implementations in pure Python

python-osc v1.10.2 97.3K downloads/30d#13,160 on PyPI581
License unclear This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a… (full text in the JSON record) Active released

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

python-osc implements Open Sound Control (OSC) servers and clients in pure Python, supporting UDP and TCP protocols with multiple concurrency models (blocking, threading, forking, asyncio) and a dispatcher-based address-to-callback routing system.

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

pip

pip install python-osc

uv

uv add python-osc

poetry

poetry add python-osc

Installing python-osc

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.

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)

Requires Python 3.10 or later.

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 This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a… (full text in the JSON record) (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)

Evidence: python_osc-1.10.2-py3-none-any.whl

Keywords: osc, sound, midi, music

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: Freely DistributableProgramming Language :: Python :: 3Topic :: Multimedia :: Sound/AudioTopic :: System :: Networking

Tags

open sound control oscosc server client pythonudp tcp audio messagingosc dispatcher routingmusic protocol networkingosc asyncio threadingsound control protocol
osc-protocolaudio-networkingasyncio-ready

More Networking packages