Libraries
Choose an Osmium library for a ready-to-use client, or pair the protocol definitions with a protobuf implementation in your language of choice.
Community Libraries
Osmium only maintains a select few official SDK examples. This table is a non-exhaustive list of third-party libraries that have been validated by the community.
| Language | Package | Description |
|---|---|---|
| JavaScript / TypeScript | @osmiumchat/sdk | Client SDK for Osmium |
| JavaScript / TypeScript | @osmiumchat/proto | Generated protobuf types for Osmium |
| Python | ijsbol/osmium-chat | A Python API wrapper for Osmium |
Examples
The JavaScript bot example and Go bot example show complete login and event-handling flows.
Protobuf libraries
If you’d rather work with the protocol directly, these are Protobuf libraries that have been tested to work well with the Osmium protocol definitions and provide ergonomic code generation.
| Language | Library | Use it for |
|---|---|---|
| JavaScript | protobuf.js (Uncollapse fork) | Runtime protobuf support with improved bigint handling |
| TypeScript | ts-proto | Generating typed TypeScript from .proto files |
| Lua | lua-protobuf | Encoding and decoding protobuf messages in Lua |
| Python | python-betterproto | Generating typed Python clients and message classes |
Protocol definitions
All libraries use the public osmiumchat/proto repository. The protocol reference provides a browseable guide to all methods, classes, enums, and field types.