This release is a pre-release and may not be stable for production use.
Panda3D Pipes
"The internet is a series of pipes" — Some guy, probably.
NOT PRODUCTION READY. HEAVILY EXPERIMENTAL
A networked distributed-object framework for Panda3D built on top of Steam networking sockets. It provides authoritative server snapshots with delta compression, client-side interpolation, zone-based interest management, and a DC (distributed class) schema for defining replicated object fields — all driven by a tick-based simulation loop.
The original foundation of Panda3D pipes is based on the work of Brian Lach from the Panda3D player project.
Features
- Snapshot replication — The server captures the state of every distributed object each tick and sends delta-compressed snapshots to clients. Only changed fields are transmitted.
- Client-side interpolation — Templated C++
InterpolatedVariabletypes (float, Vec2/3/4, Quaternion) record value history and interpolate smoothly between received snapshots using linear or Hermite curves, with configurable extrapolation. - Zone-based interest — Clients subscribe to zones; the server only sends object data for zones a client cares about.
- DC schema — Shared
.dcfiles define the replicated fields, ownership rules (ownsend,clsend), and broadcast behaviour for each distributed class. - Distributed object lifecycle — Objects follow a well-defined lifecycle:
Fresh → Generated → Alive → Disabled → Deleted, with separate client, server (AI), and owner views. - Clock drift correction — A drift manager keeps the client simulation clock aligned to the server tick using sliding-window offset averaging and configurable correction thresholds.
- Ping / RTT tracking — Built-in ping protocol with a sliding-window average; per-client latency is available on both the server and client.
- Per-client rate control — Update rate, command rate, and interpolation amount are individually negotiable per client.
- C++ performance core — Snapshot packing, field unpacking (
CClientRepository), frame management, packed objects, and math utilities are implemented in C++ and exposed to Python via Panda3D's interrogate system. - Steam networking transport — Uses Valve's
SteamNetworkingSocketsfor reliable/unreliable messaging, NAT traversal, and optional Steam authentication.
Dependencies
- Panda3D 1.10.14+
- panda3d-steamworks — Python/C++ bindings for Steamworks networking
- panda3d-toolbox — Runtime helpers used by the framework
- Steam client running (required for Steam networking sockets)
- CMake 3.16+, a C++ compiler, and Python 3.10+
Building
pip install .
This invokes the CMake / interrogate pipeline via setuptools to compile the C++ extension module (panda3d_pipes).
Set SETUPTOOLS_SCM_PRETEND_VERSION to control the wheel version if building outside of CI.
Quick Start
See the examples/ directory for a minimal client/server demo. In two terminals from the repository root:
# Terminal 1 — start the server
python examples/server.py
# Terminal 2 — connect a client
python examples/client.py
The server listens on port 27015, spawns avatars for connecting clients, and relays chat messages. The client connects, sends a greeting, and periodically moves its avatar.
Configuration
Configuration is done through Panda3D PRC variables. Key defaults:
| Variable | Default | Description |
|---|---|---|
pipes-tickrate |
66 | Simulation tick rate (Hz) |
pipes-maxupdaterate |
255 | Max snapshot send rate per client |
pipes-minupdaterate |
1 | Min snapshot send rate per client |
pipes-max-clients |
24 | Maximum concurrent clients |
pipes-snapshot-history |
50 | Snapshots retained for delta compression |
pipes-password |
empty | Optional server password |
pipes-updaterate |
20 | Desired snapshot receive rate |
pipes-cmdrate |
100 | Command send rate |
pipes-interp |
0.1 | Interpolation buffer (seconds) |
pipes-interp-ratio |
2 | Ratio applied to update rate for interp |
pipes-ping-interval |
0.5 | Ping measurement interval (seconds) |
The effective interpolation delay is max(pipes-interp, pipes-interp-ratio / pipes-updaterate).
License
This project is licensed under the BSD 3-Clause License — see LICENSE for details.
The Steamworks SDK is Copyright © Valve Corporation and is subject to the rules outlined at Distributing Open Source.
Release files for panda3d-pipes 0.0.1.dev10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 47.3 MB
Release files / panda3d_pipes-0.0.1.dev10-cp314-cp314-win_amd64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 284.0 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e6c10972e236e76f02100dea6c12cf2547d624be62e0a4e73303803de9805a80
|
|
BLAKE2b-256 checksum How to use checksums |
d0dcb3dc2ab29c132dda697e03bb0c9dac15f0a6cf394843f68fc3341a5eb5c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp314-cp314-manylinux_2_39_x86_64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp314-cp314-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 9.0 MB |
| Tags | CPython 3.14 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
0b7567472b1f00973ab8b6708b1f39a4c3a9f3876dfc033bdca1e295a7208183
|
|
BLAKE2b-256 checksum How to use checksums |
45abb295e450e92f3e09fc2e04416b4409bff60be53e4fdd4fc3c6a38a9ae172
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp314-cp314-macosx_15_0_universal2.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp314-cp314-macosx_15_0_universal2.whl |
|---|---|
| Size | 205.0 kB |
| Tags | CPython 3.14 macOS 15.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
851019e9e83a7d065021b3b5d715b47b2ed54523c2c01b9e08ba2cc3e1e19c1c
|
|
BLAKE2b-256 checksum How to use checksums |
0d2c9cf66784e7b41bf15fa9c321bea0b93be49824129d4024abdfc05c5c817f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp313-cp313-win_amd64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 274.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6a1935e78d77ab07bc8a7911db07651910e53e09d283623eeb0a67dcde4fd215
|
|
BLAKE2b-256 checksum How to use checksums |
5c0c187edf7766704f88513d867f45b683144015ed4f295890120697d1b44737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp313-cp313-manylinux_2_39_x86_64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp313-cp313-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 9.0 MB |
| Tags | CPython 3.13 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
9a86b84b43b83723b795b4cbdb2a44ec8272ac519f995ef671d15f9328536a0a
|
|
BLAKE2b-256 checksum How to use checksums |
33c6a4bda077bba8441bc3edceaaf8a234d49ce386c9efb1bdea98fe7d031272
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp313-cp313-macosx_15_0_universal2.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp313-cp313-macosx_15_0_universal2.whl |
|---|---|
| Size | 204.7 kB |
| Tags | CPython 3.13 macOS 15.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
0a4aadbadffc2637e8ca71157ac1f950cb887610089de27146ae099e6e9c79d1
|
|
BLAKE2b-256 checksum How to use checksums |
3e344f319ef547333245fb5fb5fb595df23bc72cc0b9501164566f0f26c90969
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp312-cp312-win_amd64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 274.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f8a6edc749816480f190329ff46db1d46931ab674be58d9fb39c23a798e30e1c
|
|
BLAKE2b-256 checksum How to use checksums |
3d976d9e10bca6245752a8d23bbce8d44e04adbe421c64db771450fa459b05a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp312-cp312-manylinux_2_39_x86_64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp312-cp312-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 9.0 MB |
| Tags | CPython 3.12 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
2b365046c8043f47c69de9266d0cb7a16c5df488b88e8f3fd4c31a378aac7637
|
|
BLAKE2b-256 checksum How to use checksums |
0ed33f7635e1e571c38bd4b8a45aebe76f4680cff98360535846b6c20cd2b09a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp312-cp312-macosx_15_0_universal2.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp312-cp312-macosx_15_0_universal2.whl |
|---|---|
| Size | 204.4 kB |
| Tags | CPython 3.12 macOS 15.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
04d2c7bd7cb0ea68c7dbc5da94cae47f4ea49dc72e7d721ca2f3f4f55c1c697a
|
|
BLAKE2b-256 checksum How to use checksums |
c991513e319f1557d6b7986b6c4c11b3656b31242cc1712f2baac42cf318fdde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp311-cp311-win_amd64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 273.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
522de7726dd16e4d68957c78e90c83f608e8bbca93259890f4bf6d7d57e108e8
|
|
BLAKE2b-256 checksum How to use checksums |
cc226641a3f0f0f5e5695661db4b493159bd306262a183ad2921377625cd0a1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp311-cp311-manylinux_2_39_x86_64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp311-cp311-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 9.0 MB |
| Tags | CPython 3.11 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
a0f71e0375ef3de3f9f7a96fcff437252d45f680c88860accab19e7201530202
|
|
BLAKE2b-256 checksum How to use checksums |
32737a141c791267dd04106cada2a397ffd6fa50495a47872d0e9ccb43d0eae8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp311-cp311-macosx_15_0_universal2.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp311-cp311-macosx_15_0_universal2.whl |
|---|---|
| Size | 202.1 kB |
| Tags | CPython 3.11 macOS 15.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
64b66c785454c8f50a569b26c1d9a1453902898e4c918cf1dfff02840a012544
|
|
BLAKE2b-256 checksum How to use checksums |
f1df91dbc58080cb4b79c96fb25b48755ae0c1a236bb8e2e664896fa199f13c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp310-cp310-win_amd64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 273.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7972c54f1db4ee9b61c8e4bfaa8f2c3defa2b1cddae648592ea9b8db77acfa10
|
|
BLAKE2b-256 checksum How to use checksums |
1de018e7b2e4f2acc42ca43c2a6286096eb750c27a27f6ce5986e68422002059
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp310-cp310-manylinux_2_39_x86_64.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp310-cp310-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 9.0 MB |
| Tags | CPython 3.10 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
ed16bb2877dd9cc6e992a3de152e9b7eb15326ae2d6c638448877d2f9b2ddba5
|
|
BLAKE2b-256 checksum How to use checksums |
d754770c840642abe2af07fb9a2710f6a520e5100c5958bbb7d6b9092f988295
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency logRelease files / panda3d_pipes-0.0.1.dev10-cp310-cp310-macosx_15_0_universal2.whl
| Download URL | panda3d_pipes-0.0.1.dev10-cp310-cp310-macosx_15_0_universal2.whl |
|---|---|
| Size | 202.6 kB |
| Tags | CPython 3.10 macOS 15.0+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3c3de1234656defda3bf7460e88f121f5a93ebde373744ecfc181cb9e7e64bdd
|
|
BLAKE2b-256 checksum How to use checksums |
c62c14576af2c19213620d7d3374e2c4372fc6f23a74032141bff1f224b42eef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 24, 2026.
Transparency log