Skip to main content

Python tool for creating, editing and inspecting Penguinmod(.pmp) and Scratch(.sb3) files.

Project description

🐧 py-pmp-manip

A modular python tool for creating, editing and inspecting Penguinmod(.pmp) and Scratch(.sb3) project files.


🚀 Features

  • Loading and Creating Projects
  • Editing Projects
  • Inspecting Projects For a documentation overview and a broader usage tutorial, see docs/index.md

📦 Installation

pip install py-pmp-manip

Or clone directly:

git clone https://github.com/GermanCodeEngineer/py-pmp-manip.git
cd py-pmp-manip
pip install -e .

🧰 Basic Usage

Before using most parts of pmp_manip, you must initialize the configuration once:

from pmp_manip import init_config, get_default_config

# Start from defaults and override what you need
cfg = get_default_config()
cfg.ext_info_gen.gen_opcode_info_dir = "output/gen_opcode_info"
init_config(cfg)

References


📁 Project Structure

py-pmp-manip/
├── pmp_manip/         # Source Code
│   ├── config/                  # Configuration schema and lifecycle
│   ├── core/                    # Core functionality
│   ├── ext_info_gen/            # information generator for custom extensions
│   ├── opcode_info/             # Contains an API for and the information about all the blocks
│   ├── utility/                 # Utilities for other modules
│   └── important_consts.py      # Common important constants
├── docs/              # Documentation
├── scripts/           # Independent project-related scripts
│   └── update_pyproject_toml.py # Updates pyproject.toml with version and dependencies
└── tests/             # Unit tests

🧪 Running Tests

Just run:

pytest tests/

📄 License

GPLv3


🤝 Contributing

Pull requests, issues, and feedback are welcome! Please read the CONTRIBUTING.md guide before submitting code.


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

py_pmp_manip-1.0.1.tar.gz (117.3 kB view details)

Uploaded Source

Built Distribution

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

py_pmp_manip-1.0.1-py3-none-any.whl (141.4 kB view details)

Uploaded Python 3

File details

Details for the file py_pmp_manip-1.0.1.tar.gz.

File metadata

  • Download URL: py_pmp_manip-1.0.1.tar.gz
  • Upload date:
  • Size: 117.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for py_pmp_manip-1.0.1.tar.gz
Algorithm Hash digest
SHA256 81f9f727dadde01e93c8977b0c63c0a78953218555b9f3acaf7b259dd44eba05
MD5 9a57e0341d0faf4d18e3b097cbe94f24
BLAKE2b-256 6cae438e1ffa86e6f98700812c9194544302faf27dbc704ed9da3a0d025074e0

See more details on using hashes here.

File details

Details for the file py_pmp_manip-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: py_pmp_manip-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 141.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for py_pmp_manip-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43cb88c9f7191b9ee794b8e1798b502b35afd80cac2273c2b5c8da8be4bee5d3
MD5 49ef374f13ce5441576559616ef4bb7b
BLAKE2b-256 2904f3a7d551c9a0b951ab3b7df6bc33f35c2f5191b10b2927f0c88d40d777ab

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