Skip to main content
Pre-release

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++ InterpolatedVariable types (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 .dc files 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 SteamNetworkingSockets for 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)

Table of built distributions (wheels) for panda3d-pipes 0.0.1.dev10
File
panda3d_pipes-0.0.1.dev10-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
panda3d_pipes-0.0.1.dev10-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details
panda3d_pipes-0.0.1.dev10-cp314-cp314-macosx_15_0_universal2.whl CPython 3.14 CPython 3.14 macOS 15.0+ universal2 (ARM64, x86-64) Details
panda3d_pipes-0.0.1.dev10-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
panda3d_pipes-0.0.1.dev10-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
panda3d_pipes-0.0.1.dev10-cp313-cp313-macosx_15_0_universal2.whl CPython 3.13 CPython 3.13 macOS 15.0+ universal2 (ARM64, x86-64) Details
panda3d_pipes-0.0.1.dev10-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
panda3d_pipes-0.0.1.dev10-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
panda3d_pipes-0.0.1.dev10-cp312-cp312-macosx_15_0_universal2.whl CPython 3.12 CPython 3.12 macOS 15.0+ universal2 (ARM64, x86-64) Details
panda3d_pipes-0.0.1.dev10-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
panda3d_pipes-0.0.1.dev10-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details
panda3d_pipes-0.0.1.dev10-cp311-cp311-macosx_15_0_universal2.whl CPython 3.11 CPython 3.11 macOS 15.0+ universal2 (ARM64, x86-64) Details
panda3d_pipes-0.0.1.dev10-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
panda3d_pipes-0.0.1.dev10-cp310-cp310-manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ x86-64 Details
panda3d_pipes-0.0.1.dev10-cp310-cp310-macosx_15_0_universal2.whl CPython 3.10 CPython 3.10 macOS 15.0+ universal2 (ARM64, x86-64) Details

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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

This release

0.0.1.dev10 This release

15 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page