pyqtrapid
A modern CLI scaffolding tool and architecture boilerplate generator for PyQt6, PySide6, and PyQt5 applications.
pyqtrapid empowers Python developers to launch clean, scalable desktop GUI applications in seconds using proven software design patterns (MVP/MVVM), modern dark themes, built-in resource management, and test suites out of the box.
🚀 Features
- Multi-Binding Support: Seamlessly scaffold projects targeting PyQt6, PySide6 (Qt for Python 6), or legacy PyQt5.
- Clean Architecture (MVP): Enforces Model-View-Presenter architecture out of the box to separate UI layouts from domain logic and state.
- Dynamic Jinja2 Scaffolding: Fast, customizable template engine generating modern package configurations (
pyproject.toml). - Included Dark Theme: Comes pre-configured with a sleek modern QSS dark theme stylesheet.
- Built-in Test Suite: Pre-configured
pytestsuite for testing domain models without Qt UI dependencies.
📦 Installation
Install pyqtrapid via pip:
pip install pyqtrapid
Or install locally in editable mode:
pip install -e .
⚡ Quick Start
1. Scaffold a New Project
To create a new project using the default PyQt6 binding:
pyqtrapid startproject my_app
2. Choose Your Qt Binding
Specify your preferred Qt Python binding (pyqt6, pyside6, or pyqt5):
# Target PySide6 (Official Qt for Python 6)
pyqtrapid startproject my_app --binding pyside6
# Target PyQt5
pyqtrapid startproject my_app --binding pyqt5
3. Run Your Scaffolded Application
cd my_app
pip install -e .
python main.py
🏗️ Generated Architecture
pyqtrapid scaffolds projects structured for long-term scalability and clean maintenance:
my_app/
├── main.py # Entry point (QApplication & window runner)
├── pyproject.toml # Project dependencies and pytest settings
├── src/
│ ├── app.py # Component wiring & factory function
│ ├── models/ # Pure Python domain state & models
│ ├── views/ # Qt Widgets & visual layouts
│ ├── presenters/ # Presentation logic connecting Views & Models
│ └── resources/ # QSS stylesheets, icons & static assets
├── ui/ # Qt Designer .ui files
└── tests/ # Unit tests (pytest)
👤 Author
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
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 pyqtrapid-0.1.0.tar.gz.
File metadata
- Download URL: pyqtrapid-0.1.0.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64966c81edcd3df474035e1f78d0a3d9141da5824ef82bd2e6f8f4bb10d7d660
|
|
| MD5 |
500c335ada8ecc5dc211938bf45a2c51
|
|
| BLAKE2b-256 |
0c45497ed001fa739dfe39ef951ddb33c0ee2243bb885e128e13a464be5b9c63
|
File details
Details for the file pyqtrapid-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyqtrapid-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b035309c4abe73507918733b74fadfd1bc35157b7dbcd6108c722cc926036f15
|
|
| MD5 |
cfbb94dd3d904bb33b0e15a54e9f7c98
|
|
| BLAKE2b-256 |
2c904ee6ece77180631a1a77cb5903b5ecec7dd4ca4b4eb7231e6ce927e0942e
|