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.4
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.4.tar.gz | 35.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| deskkit-1.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.3 kB
Release files / deskkit-1.2.4.tar.gz
| Download URL | deskkit-1.2.4.tar.gz |
|---|---|
| Size | 35.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b24a48c76fdbe3e0d763f1162ac59aa9d99a6ee01facdaa11c80c62138e149c4
|
|
BLAKE2b-256 checksum How to use checksums |
ad733fd40708d4510e55454ffb7f2b7874bbfbf572b5acf3a29db8240a6043fd
|
| 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.4-py3-none-any.whl
| Download URL | deskkit-1.2.4-py3-none-any.whl |
|---|---|
| Size | 44.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd01cd23551d8da99cd1250e086ba6b598372c464b11c7b9118e483132acb77b
|
|
BLAKE2b-256 checksum How to use checksums |
0496702037fd4647145bcada334337d2beef7cc9a3fc91d9da9d4e637776dd8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|