Metadata-Version: 2.4
Name: ctkforge
Version: 0.3.1
Summary: CustomTkinter extension widgets: data table, popups / messageboxes, and spinbox.
Author: Rafalus
License: MIT
Project-URL: Homepage, https://github.com/RafalusWorks/ctkforge
Project-URL: Repository, https://github.com/RafalusWorks/ctkforge
Project-URL: Documentation, https://github.com/RafalusWorks/ctkforge#readme
Project-URL: Issues, https://github.com/RafalusWorks/ctkforge/issues
Project-URL: Discussions, https://github.com/RafalusWorks/ctkforge/discussions
Keywords: customtkinter,customtkinter-table,ctktable,tkinter,gui,widgets,table,data-table,popup,messagebox,dialog,spinbox
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: customtkinter>=6.0.0
Requires-Dist: pillow>=10.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: ruff>=0.8.0; extra == "dev"
Dynamic: license-file

# CTkForge

Custom extension widgets for [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter): high-performance data table, popups / messageboxes, and spinbox.

[![PyPI version](https://img.shields.io/pypi/v/ctkforge.svg)](https://pypi.org/project/ctkforge/)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

![CTkForge Preview](docs/assets/ctkforge_preview.jpg)

## Installation

```bash
pip install ctkforge
```

## Components

| Component | Description | Documentation |
| :--- | :--- | :--- |
| [**CTkTable**](docs/table.md) | High-performance data table with smart sorting, row/cell selection, cell editing, and clipboard support. | [API Reference](docs/table.md) • [User Guide](docs/table_user_guide.md) |
| [**CTkPopup**](docs/popup.md) | Modern modal dialogs for alerts, confirmations, and errors with auto-scrolling and keyboard shortcuts. | [API Reference](docs/popup.md) • [User Guide](docs/popup_user_guide.md) |
| [**CTkSpinbox**](docs/spinbox.md) | Numeric input widget with classic arrow steppers, mouse wheel control, limits, and custom steps. | [API Reference](docs/spinbox.md) |
| [**Utilities**](docs/utilities.md) | High-DPI screen coordinate unscaling (`unscale`) and PyInstaller asset path resolution (`resource_path`). | [Utilities Reference](docs/utilities.md) |

## Interactive Examples

Runnable example scripts are available in the [`examples/`](examples/) folder:

* [`demo_ctktable_basic.py`](examples/demo_ctktable_basic.py) — Table sorting, editing, and selection
* [`demo_ctkpopup_basic.py`](examples/demo_ctkpopup_basic.py) — Modal dialog presets and result handling
* [`demo_ctkspinbox.py`](examples/demo_ctkspinbox.py) — Number steppers and styling variations
* [`demo_ctktable_clipboard_and_crud.py`](examples/demo_ctktable_clipboard_and_crud.py) — Advanced table CRUD and clipboard integration

---

<p align="center">Crafted and maintained by <b>Rafalus</b>. Happy forging!</p>
