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         # panda3d
├── .gitignore
├── README.md
├── run.sh                   # Linux/macOS launcher
└── run.bat                  # Windows launcher

Next steps in the generated project

cd /path/to/my-game
python3 -m venv .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.2.0.tar.gz (7.2 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.2.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mkpanda-0.2.0.tar.gz
Algorithm Hash digest
SHA256 400e4b9691dbd60eabd00e3026702f3ddf7dd6cb3604bc4fbb784783fe7c1559
MD5 318090f223f1ecb152a4b6bef556822d
BLAKE2b-256 4963d87c4c0cf6a16ff8622f636aa759839808503fcf0270c1328f80abe4825e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mkpanda-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2993d672b7fa5b070404ddc03753a0483620a3fc826be4dcb93bbb73b506eace
MD5 a9dd4951355671c2cbe3ac7cb7612bfb
BLAKE2b-256 ebdcf25c3127f7f77ccc2a7152c138ecdcede13c1794c2e5e9cb93539c31ffd4

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