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
- For more config details, see docs/config.md
- For a documentation overview and a broader usage tutorial, see docs/index.md
📁 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81f9f727dadde01e93c8977b0c63c0a78953218555b9f3acaf7b259dd44eba05
|
|
| MD5 |
9a57e0341d0faf4d18e3b097cbe94f24
|
|
| BLAKE2b-256 |
6cae438e1ffa86e6f98700812c9194544302faf27dbc704ed9da3a0d025074e0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43cb88c9f7191b9ee794b8e1798b502b35afd80cac2273c2b5c8da8be4bee5d3
|
|
| MD5 |
49ef374f13ce5441576559616ef4bb7b
|
|
| BLAKE2b-256 |
2904f3a7d551c9a0b951ab3b7df6bc33f35c2f5191b10b2927f0c88d40d777ab
|