DeskKit
DeskKit — конструктор десктоп-приложений на Qt (PySide6 / PyQt6) и MySQL. Собирайте приложение из модулей, экспортируйте автономный проект с чистым Python-кодом.
Установка
pip install deskkit[pyside] # PySide6
pip install deskkit[pyqt] # PyQt6
Конструктор (AppBuilder)
Приложение собирается блоками — включайте только нужное:
from deskkit import AppBuilder
AppBuilder("Склад")
.database("warehouse_db", password="secret")
.with_auth(guest=False) # авторизация без гостя
.with_search() # поиск
.with_filter("supplier", "category") # фильтры
.with_sort("stock_quantity") # сортировка
.with_crud() # добавление / изменение / удаление
.with_formatting() # условное оформление строк
.export("my_warehouse", tips=True, flowchart=True)
.run()
Отключение блоков
AppBuilder("Витрина")
.database("shop_db")
.without_auth() # сразу каталог, без входа
.without_crud() # только просмотр
.without_filters()
.without_sort()
.export("vitrina", tips=False)
.run()
Готовые профили предметных областей
from deskkit import AppBuilder
AppBuilder.from_preset("library").export("biblio").run()
AppBuilder.from_preset("warehouse").database("wh").export("sklad").run()
AppBuilder.from_preset("cinema").export("kino").run()
Доступные профили: shop, library, warehouse, autoservice, cinema.
Экспорт автономного проекта
По умолчанию export_project=True — создаётся папка с обычным кодом (без import deskkit):
my_app/
├── main.py
├── settings.py # модули вкл/выкл в классе Features
├── database.py
├── ui/
├── sql/database.sql
├── docs/flowchart.svg # блок-схема ГОСТ 19.701-90 (если flowchart=True)
├── tips/ # подсказки по модулям (если tips=True)
└── requirements.txt
| Параметр | По умолчанию | Описание |
|---|---|---|
export_project |
True |
Экспорт автономного проекта |
include_tips |
True |
Папка tips/ с подсказками |
include_flowchart |
True |
SVG блок-схема в docs/ |
run_generated |
True |
Запустить проект после экспорта |
Блок-схема (ГОСТ 19.701-90)
from deskkit import AppConfig, save_flowchart, generate_flowchart
cfg = AppBuilder("Приложение").build()
save_flowchart(cfg, "docs/flowchart.svg")
svg = generate_flowchart(cfg) # строка SVG
Символы: овал — начало/конец, прямоугольник — процесс, ромб — условие, параллелограмм — ввод/вывод.
PDF: откройте SVG в браузере → «Печать» → «Сохранить как PDF».
Модули приложения
| Блок | Метод конструктора | Описание |
|---|---|---|
| Авторизация | with_auth() / without_auth() |
Вход по логину из БД |
| Гость | with_auth(guest=True/False) |
Кнопка «без авторизации» |
| Поиск | with_search() |
По всем текстовым полям |
| Фильтр поставщика | with_filter("supplier") |
Выпадающий список |
| Фильтр категории | with_filter("category") |
Выпадающий список |
| Сортировка | with_sort("поле") |
Кнопка ↑↓ |
| CRUD | with_crud() |
Форма редактирования |
| Роли | with_roles() |
Разный UI для ролей |
| Форматирование | with_formatting() |
Цвет строк по условиям |
Конфигурация через JSON
from deskkit import AppConfig, ShopApp
ShopApp(AppConfig.from_json("app.json")).run()
{
"title": "Каталог",
"database": "my_db",
"password": "",
"features": {
"auth": true,
"search": true,
"supplier_filter": true,
"sort": true,
"crud": true
},
"include_tips": true,
"include_flowchart": true,
"output_dir": "my_app"
}
Лицензия
MIT
Release files for deskkit 1.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| deskkit-1.2.5.tar.gz | 40.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| deskkit-1.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 89.8 kB
Release files / deskkit-1.2.5.tar.gz
| Download URL | deskkit-1.2.5.tar.gz |
|---|---|
| Size | 40.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
551a4d28d169da4e06e5c5c8ff8d2f2aecc4fc9db3a43e9ecbc0bd5e78e792bd
|
|
BLAKE2b-256 checksum How to use checksums |
5b246a0bc2228b35a00fcd80feb12b0f2d744006c7784fd742bc64f9b52cd7e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / deskkit-1.2.5-py3-none-any.whl
| Download URL | deskkit-1.2.5-py3-none-any.whl |
|---|---|
| Size | 49.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7891a69406c8fcfa56f64d7a9f3bcc1c82cbc6d3572fd0f41fe0bcce9e59714d
|
|
BLAKE2b-256 checksum How to use checksums |
18463b2881c6fe0fc2d9b5b183710711abf501226d7d466b4b51d9dbab0f03ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|