Skip to main content

Requirements

repod requires Python 3.12 or later. It does not support older Python versions due to its use of modern features like PEP 695 generics and the removal of asyncore in Python 3.12.
You can check your Python version by running python --version or python3 --version in your terminal.

Install with pip

The easiest way to install repod is via pip:
pip install repodnet
The package name is repodnet on PyPI, but you import it as repod in your code:
from repod import Server, Channel, ConnectionListener

Install with uv

If you’re using uv (a fast Python package manager), you can add repod to your project:
uv add repodnet

Core dependencies

repod has minimal dependencies and only requires one external package:

msgpack

Fast and efficient binary serialization library. Automatically installed with repod.Version requirement: msgpack>=1.0.0
All other functionality is built on Python’s standard library:
  • asyncio — Asynchronous I/O and event loops
  • socket — Low-level TCP networking
  • threading — Background thread support for synchronous game loops
  • queue — Thread-safe message queues

Optional dependencies

Depending on what you’re building, you may want to install additional packages:

For running examples

The repod repository includes several example projects. If you want to run these locally, you’ll need additional game framework dependencies:
No additional dependencies required — uses standard input/output.

For development

If you’re contributing to repod or want to run tests and linting:
uv sync --dev
This installs development dependencies:
  • pytest>=8.0 — Testing framework
  • ruff>=0.15.4 — Linting and formatting
  • ty>=0.0.20 — Type checker

Verify installation

After installation, verify that repod is correctly installed:
1

Import the library

Open a Python REPL and try importing repod:
python3
>>> import repod
>>> repod.__all__
['DEFAULT_HOST', 'DEFAULT_PORT', 'Channel', 'Client', 'ConnectionListener', 'Server', 'configure_logging', 'decode', 'encode', 'read_message']
2

Check the version

You can verify the installed version by checking the package metadata:
pip show repodnet
This should display information about the installed package, including the version number.
3

Run a quick test

Try creating a simple server instance:
>>> from repod import Server, Channel
>>> 
>>> class TestChannel(Channel):
...     pass
... 
>>> class TestServer(Server):
...     channel_class = TestChannel
... 
>>> server = TestServer(host="127.0.0.1", port=5071)
>>> print(f"Server created at {server.address}")
Server created at ('127.0.0.1', 5071)
If all the above steps work without errors, repod is correctly installed and ready to use!

Troubleshooting

Make sure you installed repodnet (not repod) via pip:
pip install repodnet
Also verify you’re using the correct Python environment. If you’re using a virtual environment, make sure it’s activated.
repod requires Python 3.12 or later. If you see errors about missing features or incompatible syntax, check your Python version:
python3 --version
If you have an older version, you’ll need to upgrade Python before installing repod.
msgpack is a compiled extension and requires a C compiler. On most systems it installs without issues, but if you encounter problems:Linux: Install build essentials:
sudo apt-get install build-essential python3-dev
macOS: Install Xcode command line tools:
xcode-select --install
Windows: Install Visual Studio Build Tools from Microsoft.

Next steps

Now that repod is installed, you’re ready to build your first multiplayer game:

Quick Start

Build a complete client-server application in minutes

Build docs developers (and LLMs) love