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.0

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.0
File Size Uploaded
deskkit-1.2.0.tar.gz 34.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deskkit 1.2.0
File Interpreter ABI Platform
deskkit-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.4 kB

Release files / deskkit-1.2.0.tar.gz

Download URL deskkit-1.2.0.tar.gz
Size 34.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1e69846ab188e6c197fa9efc9b0a4084f58318aca9592eb95ad009567d86068d
BLAKE2b-256 checksum
How to use checksums
eaf39bc05d884b0248c1fa2b5f2e3f0e09af12927b181a4b8474e95c48a5a369
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.0-py3-none-any.whl

Download URL deskkit-1.2.0-py3-none-any.whl
Size 43.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fe74c4cc54e4f7f172dd6de92413c5acaea64b4be2740fc26ca6e3e2f96f7cd
BLAKE2b-256 checksum
How to use checksums
c9a25a49aec31c9b88d7560395bbb2598acc6cae0eb6ebfbe787b46c695a12f9
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

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

This release

1.2.0 This release

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