CharmPkk — библиотека для создания красивых, плавных и кастомизируемых интерфейсов на чистом Python. Работает в двух режимах: в терминале (TUI — где кастомизации максимум) и в окне (GUI на базе tkinter, без внешних зависимостей). Всё построено вокруг идей «мягкого стекла», живых частиц и плавных анимаций.
Возможности Консоль (TUI)
Цвета и стили: ANSI/truecolor, 256-цветов, hex-цвета, градиенты, радуга, Style-контекст, готовые Palette-темы (dark, light, nord, dracula, gruvbox, tokyo_night, catppuccin, monokai).
Текст и рамки: выравнивание, обрезка, обёртка; 8 стилей рамок (single, double, round, heavy, dashed, dotted, ascii, shadow, none), панели, баннеры, big_text для больших ASCII-заголовков.
Виджеты: ProgressBar, FancyProgressBar (block/line/dots/star/arrow/square/shade/braille/heart), AnimatedProgressBar (плавно «догоняет» значение), MultiProgress, TaskList (как в CI), Spinner (9 пресетов кадров), Table (zebra, per-column alignment), списки, key_value, badge, statusline, tree.
Графики: sparkline, bar_chart, gauge, histogram, heatmap.
Интерактив: select, multiselect, tabs (стрелки + hotkeys), Form/Field с валидацией, Wizard/Step — пошаговые мастера.
Уведомления и диалоги: info/success/warning/error, Log, ask, ask_password, ask_number, ask_choice, confirm.
Markdown: render_markdown / print_md — заголовки, списки, цитаты, код, ссылки, inline-стили.
Анимации: 17 easing-функций, tween, Transition, Live (перерисовка блока на месте), эффекты fade_in, wave, shimmer, glitch, marquee, neon, typewriter с курсором.
Частицы (реальное время в терминале): Rain, Snow, Stars, Dust, Matrix, Bubbles, Fireflies + play()/play_preset() на N секунд на весь экран.
Терминал: скрытие/показ курсора, позиционирование, save/restore, alt_screen, смена заголовка окна, bell, flash, OSC 8 гиперссылки, OSC 52 clipboard, определение truecolor/256.
Окно (GUI, tkinter)
Темы: 10 встроенных (dark, light, nord, gruvbox, dracula, tokyo_night, catppuccin, solarized_dark/light, monokai) + ThemeManager + свои Theme.
Виджеты: StyledButton (7 вариантов × 3 размера), IconButton, StyledEntry (фокус-бордер, prefix/suffix, placeholder, password), TextArea, Toggle, Checkbox, RadioGroup, Slider, Combobox, SegmentedControl, Card, Badge, Divider, Tabs, Tooltip, Toast, Spinner, ProgressBar, TableView (сортировка, зебра, скролл, выбор строки).
Диалоги: MessageDialog, ConfirmDialog, InputDialog + модальный Frost (морозный слой поверх окна).
Композиция приложения: App с шапкой, действиями, сайдбаром, статус-баром, хелперами toast/message/confirm/input; Router/Screen — SPA-подобная навигация по одному окну; CommandPalette (Ctrl+K); ToastManager (очередь тостов в углу); Shortcuts (реестр горячих клавиш + окно-справка).
Frameless-окно: FramelessWindow + CustomTitleBar — перетаскивание, минимизация, максимизация, кнопка закрытия, ресайз по краям.
Стекло и акрил: apply_acrylic_win11 (Mica/Acrylic/Tabbed через DWMWA_SYSTEMBACKDROP_TYPE), apply_acrylic_win10 (SetWindowCompositionAttribute), make_glass_app(app) — универсальный one-call; GlassCard (градиент + светящаяся рамка + hover-glow), GlassPanel (слои-подложки), Frost (модальное затемнение).
Анимации: Animator (tween/pulse/sequence/color), animate, sequence, fade_in, fade_out, slide_in, fade_in_after, fade_out_destroy.
Эффекты: ripple (клик-волна на Canvas), Shimmer (скользящий блик), pulse, GradientFrame (вертикальный/горизонтальный градиент), NeonBorder, GlowText («дышащий» текст).
Частицы: ParticleCanvas с режимами rain, snow, stars, dust, bubbles, fireflies, matrix, custom (свой emitter), spawn_burst(x, y) (вспышки-салюты), attach_background(parent, ...) для фона под UI.
Философия Никаких тяжёлых зависимостей — только tkinter из стандартной библиотеки. Библиотека строится по слоям: colors/text/boxes → widgets/layout/charts → effects/anim/particles → screens/router/palette. Каждый слой можно использовать отдельно или собирать из них готовые приложения: установщик, конфигуратор, дашборд, CLI-утилита — что угодно.
Metadata
Release files for CharmPkk 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| charmpkk-0.4.0.tar.gz | 58.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| charmpkk-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 130.4 kB
Release files / charmpkk-0.4.0.tar.gz
| Download URL | charmpkk-0.4.0.tar.gz |
|---|---|
| Size | 58.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c723c402eadb5975d1579feaa3f6edb7ae2bfc67b03ca2705c7725692d4452d0
|
|
BLAKE2b-256 checksum How to use checksums |
c9082d1661b67ea7868ca381974ec7be6dbd6df6181b65fb6b9e5cf555e8e156
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / charmpkk-0.4.0-py3-none-any.whl
| Download URL | charmpkk-0.4.0-py3-none-any.whl |
|---|---|
| Size | 72.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a9e494063871bfd1b8e839502e8e4b9e4a73bf72d38b2dce70a864db353e39c
|
|
BLAKE2b-256 checksum How to use checksums |
7f8e43faf59fca077630bfd72450e8017f62944b4fa0398aad98178dcf4c8f5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|