Skip to main content

Cross-platform generator (mkpanda command) for new Panda3D projects.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkpanda-0.3.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkpanda-0.3.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file mkpanda-0.3.0.tar.gz.

File metadata

  • Download URL: mkpanda-0.3.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mkpanda-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7fda86cba5f40c2796311a33a7aaae113be38368db1dc231d05d3ae62bcd55d1
MD5 a994e8f66f72cb6fff8589b0cc8116ae
BLAKE2b-256 3cbe49d540819a481995a10a3c5f36a089bbe9203a0febc5dbf1ad44bbd863c2

See more details on using hashes here.

File details

Details for the file mkpanda-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mkpanda-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mkpanda-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cce21680b173f160c68a7e344bfce7fe014276209f91cb5ee367916a054be25c
MD5 c540e67fd5fe73939aee2f9b56b40c99
BLAKE2b-256 c2059bb54b8e3f1e8c367e2f5a142956b27033ce23e9f84aac5b730b4d8a9d6c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page