Skip to main content

panda3d-boilerplate

Cross-platform generator for new Panda3D projects. Installs as a global mkpanda command.

Install

Requires Python 3.8+ and pipx (recommended) or pip.

pipx install mkpanda

Or directly from GitHub (for the latest unreleased changes on main):

pipx install git+https://github.com/Bebopskull/panda3d-boilerplate.git

Use

mkpanda /path/to/my-game

Optional second argument sets the display name (defaults to the directory name):

mkpanda /path/to/my-game "My Awesome Game"

Update

pipx upgrade mkpanda

Or to force-reinstall the latest from GitHub (bypasses PyPI cache):

pipx install --force git+https://github.com/Bebopskull/panda3d-boilerplate.git

Releasing a new version (maintainers)

  1. Bump version in pyproject.toml (SemVer: patch for fixes, minor for features, major for breaking changes).
  2. Commit and push to main.
  3. Build and upload:
    rm -rf dist/ build/
    pyproject-build
    twine upload dist/*
    
    (Requires ~/.pypirc with a PyPI API token. See pipx docs and the PyPI token guide.)

Uninstall

pipx uninstall mkpanda

What it creates

my-game/
├── src/
│   ├── main.py              # ShowBase entry point
│   ├── scenes/              # Scene/state system (base + menu example)
│   ├── input/               # Centralized input manager
│   └── utils/logger.py      # Stdout logging
├── assets/
│   ├── models/
│   ├── textures/
│   ├── sounds/
│   ├── fonts/
│   └── shaders/
├── config/config.prc        # Window, audio, model paths
├── tests/
├── requirements.txt         # project-specific deps (Panda3D is expected to be system-installed)
├── .gitignore
├── README.md
├── run.sh                   # Linux/macOS launcher
└── run.bat                  # Windows launcher

Next steps in the generated project

Panda3D must already be installed on your system (e.g. pip install --user panda3d). The generated venv uses --system-site-packages so it inherits that install instead of re-downloading Panda3D per project.

cd /path/to/my-game
python3 -m venv --system-site-packages .venv
source .venv/bin/activate         # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python src/main.py

Contributing

Open to PRs. The repo layout:

  • panda3d_boilerplate/cli.py — the mkpanda entry point
  • panda3d_boilerplate/templates/ — files copied into new projects (with {{PROJECT_NAME}} substitution)
  • pyproject.toml — packaging metadata; bump version for releases

To test changes locally:

git clone https://github.com/Bebopskull/panda3d-boilerplate.git
cd panda3d-boilerplate
pipx install --force .
mkpanda /tmp/test-project "Test"

License

MIT

Metadata

Release files for mkpanda 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mkpanda 0.3.0
File Size Uploaded Provenance Actions
mkpanda-0.3.0.tar.gz 7.6 kB Without provenance Details for mkpanda-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mkpanda 0.3.0
File Interpreter ABI Platform Actions
mkpanda-0.3.0-py3-none-any.whl Python 3 none any Details for mkpanda-0.3.0-py3-none-any.whl

Total release size: 19.0 kB

Release files / mkpanda-0.3.0.tar.gz

Download URL mkpanda-0.3.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7fda86cba5f40c2796311a33a7aaae113be38368db1dc231d05d3ae62bcd55d1
BLAKE2b-256 checksum
How to use checksums
3cbe49d540819a481995a10a3c5f36a089bbe9203a0febc5dbf1ad44bbd863c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mkpanda-0.3.0-py3-none-any.whl

Download URL mkpanda-0.3.0-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cce21680b173f160c68a7e344bfce7fe014276209f91cb5ee367916a054be25c
BLAKE2b-256 checksum
How to use checksums
c2059bb54b8e3f1e8c367e2f5a142956b27033ce23e9f84aac5b730b4d8a9d6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for mkpanda 0.3.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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