Metadata-Version: 2.4
Name: QT-PyQt-PySide-Custom-Widgets-Pro
Version: 1.0.0
Summary: Commercial Pro widgets (DataTable Pro, ...) for QT-PyQt-PySide-Custom-Widgets.
Author: Khamisi Kibet / SpinnCompany
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://github.com/SpinnCompany/QT-PyQt-PySide-Custom-Widgets
Project-URL: Documentation, https://spinncompany.github.io/Docs-QT-PyQt-PySide-Custom-Widgets/
Project-URL: Issues, https://github.com/SpinnCompany/QT-PyQt-PySide-Custom-Widgets/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Environment :: X11 Applications :: Qt
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Software Development :: Widget Sets
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: QT-PyQt-PySide-Custom-Widgets>=2.3.0
Requires-Dist: qtpy
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

# Custom Widgets Pro

Commercial widgets for
[QT-PyQt-PySide-Custom-Widgets](https://github.com/SpinnCompany/QT-PyQt-PySide-Custom-Widgets),
the 163-widget PySide6 library — starting with **DataTable Pro**, the data
table for real workloads.

```bash
pip install QT-PyQt-PySide-Custom-Widgets-Pro
```

Ships as native-compiled wheels for **Python 3.10–3.14** on Windows, macOS
and Linux (no readable source). Requires the free core **2.3.0 or newer**.

## DataTable Pro

Built on the free `QCustomDataTable` — same API, same renderers, same
design-token theming — and adds what production data needs:

- **Virtualization** — lazy row windows over 100k+ rows or streaming
  sources via a `DataProvider`; scrolling fetches, nothing materialises
  up front.
- **Server-side sort & filter push-down** — the header drives your
  backend, not a client-side sort of one loaded window.
- **Grouping with aggregates** —
  `groupBy(["plan"], aggregates={"mrr": "sum"})` gives collapsible group
  headers with computed totals.
- **Pivot (cross-tab)**, **frozen columns**, **inline editing with
  validators**, and **CSV/XLSX export** that walks the full result set.

```python
from custom_widgets_pro import QCustomDataTablePro  # extends QCustomDataTable
```

Guides: [DataTable](https://spinncompany.github.io/Docs-QT-PyQt-PySide-Custom-Widgets/Widgets/QCustomDataTable)
· [Grouping & Pivot](https://spinncompany.github.io/Docs-QT-PyQt-PySide-Custom-Widgets/Usage-Examples/DataTableGroupingPivot)

## Licensing

Install freely — without an entitlement the package runs in **unlicensed
dev/eval mode**, so you can evaluate everything today. A plan from
[customwidgets.org/pricing](https://customwidgets.org/pricing/) or an
active [Patreon membership](https://www.patreon.com/c/spinntv) issues a
licence token:

```bash
custom-widgets-pro activate <licence-token>   # validates once, then caches
custom-widgets-pro status                     # or --refresh to re-check online
```

Or set it in the environment: `export CUSTOM_WIDGETS_PRO_LICENSE=...`

- **Royalty-free in your applications** — end users never need a plan; no
  runtime check, no per-copy fee.
- **Perpetual fallback** — versions obtained while subscribed stay
  licensed forever; the plan buys updates and support.
- **The GPL question, answered in writing** — the free core is GPLv3, and
  the Pro licence includes the copyright holder's additional permission,
  so combining the core with Pro and with *your* application does not pull
  your application under the GPL.

Each plan covers a number of devices; activating on a new machine claims a
seat, and you can free seats from your account. Validated entitlements are
cached locally with a 14-day offline grace period.

| Variable | Purpose |
|---|---|
| `CUSTOM_WIDGETS_PRO_LICENSE` | licence token from your account |
| `CUSTOM_WIDGETS_PRO_API_URL` | billing API base URL (staging / self-host) |
| `CUSTOM_WIDGETS_PRO_NO_CHECK` | skip the check (CI of licensed users) |

The full terms ship in `LICENSE`. This package contains only original code
— no third-party fonts, icons, or vendored source.

## Links

- [Documentation](https://spinncompany.github.io/Docs-QT-PyQt-PySide-Custom-Widgets/)
- [Plans](https://customwidgets.org/pricing/) · [Patreon](https://www.patreon.com/c/spinntv) · [YouTube](https://www.youtube.com/@SpinnTV)
- [Free core on PyPI](https://pypi.org/project/QT-PyQt-PySide-Custom-Widgets/)
