skribblpy
A modern Python framework for skribbl.io, built around asyncio and decorator-based event handlers.
- Manage lobbies, react to game events, and send paced chat and guesses.
- Turn images into drawing commands with a Rust backend, then preview and play them back.
- Try the included word guesser, which learns from revealed answers and tracks word frequencies.
Requires CPython 3.14 or later. See Getting started for installation, optional image/CLI extras, and source builds.
A small client
from asyncio import run
from skribblpy import Event, Client, EventName
async def main() -> None:
client = Client(name='Python client', track_drawing=False)
@client.on(EventName.CHAT)
async def chat(event: Event) -> None:
if message := event.chat:
print(message)
async with client:
await client.connect()
await client.wait_closed()
if __name__ == '__main__':
run(main())
This joins through public matchmaking. Use connect('ROOM') for a specific lobby or connect(create_private=True) to create one. Handlers use async def; the context manager handles cleanup.
Guides
The wiki has the details:
- Events and lifecycle
- Chat and gameplay
- Images, drawing budgets, and the CLI
- Word guesser
- Troubleshooting and current limits
- Development and releases
Found a bug? Open an issue.
License
MIT. Third-party notices are included with the source and packaged distribution.
Release files for skribblpy 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skribblpy-0.1.0.tar.gz | 165.3 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skribblpy-0.1.0-cp314-abi3-win_amd64.whl | CPython 3.14 | abi3 | Windows x86-64 | Details |
| skribblpy-0.1.0-cp314-abi3-manylinux_2_28_x86_64.whl | CPython 3.14 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| skribblpy-0.1.0-cp314-abi3-macosx_10_12_x86_64.whl | CPython 3.14 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 1.8 MB
Release files / skribblpy-0.1.0.tar.gz
| Download URL | skribblpy-0.1.0.tar.gz |
|---|---|
| Size | 165.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e61b7336e1a4bfd11808ac830c5c62404de869806d475ec4362521220d4a7ca9
|
|
BLAKE2b-256 checksum How to use checksums |
31e60c3c80a9e952eb966e3f012669d83d6b7d5d97699f4bb60ad75b9b46e360
|
| 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 22, 2026.
Transparency logRelease files / skribblpy-0.1.0-cp314-abi3-win_amd64.whl
| Download URL | skribblpy-0.1.0-cp314-abi3-win_amd64.whl |
|---|---|
| Size | 495.5 kB |
| Tags | CPython 3.14 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
dd6c423f7507c2f76978f394bd445d4abb94aaae5b04f4b023cccf0b404889d5
|
|
BLAKE2b-256 checksum How to use checksums |
79bbcc625d6d12dc52652a0db0f799ccddb7d29607b154495c81d3f0cf29f8d3
|
| 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 22, 2026.
Transparency logRelease files / skribblpy-0.1.0-cp314-abi3-manylinux_2_28_x86_64.whl
| Download URL | skribblpy-0.1.0-cp314-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 584.4 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7b6ddfb7b4583fce8328f0c6e9b090647a1605a8da875b26187de7d5ceb16070
|
|
BLAKE2b-256 checksum How to use checksums |
9c85ebb19ae48078bff519d04a3d6c3cc375e0d77ce3a2d4ca0abcd96260db1d
|
| 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 22, 2026.
Transparency logRelease files / skribblpy-0.1.0-cp314-abi3-macosx_10_12_x86_64.whl
| Download URL | skribblpy-0.1.0-cp314-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 555.7 kB |
| Tags | CPython 3.14 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
12973b26336e1303af59f01b5e15a068758af5ec0d4a6fb018888c642286d4d8
|
|
BLAKE2b-256 checksum How to use checksums |
5765c0740f30dd64cb12d3a37561bf1d80a66802f0ee569728b42e62fa7d2618
|
| 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 22, 2026.
Transparency log