Skip to main content

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)

Source distribution for deskkit 1.2.4
File Size Uploaded
deskkit-1.2.4.tar.gz 35.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deskkit 1.2.4
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

1.3.1

2 release files

1.3.0

2 release files

1.2.5

2 release files

This release

1.2.4 This release

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page