Metadata-Version: 2.4
Name: pyindexgui
Version: 0.2.0
Summary: GUI for the PyIndexNum economic index number library
Author: Luigi Palumbo and Mengting Yu
License-Expression: MIT
Project-URL: Homepage, https://github.com/paluigi/PyIndexGui
Project-URL: Documentation, https://pyindexgui.readthedocs.io/
Project-URL: Repository, https://github.com/paluigi/PyIndexGui
Project-URL: Issues, https://github.com/paluigi/PyIndexGui/issues
Project-URL: Changelog, https://github.com/paluigi/PyIndexGui/releases
Keywords: index,indices,price index,price indices,index numbers,economics,statistics
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
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: Topic :: Office/Business
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: flet>=0.84.0
Requires-Dist: pyindexnum>=0.4.0
Dynamic: license-file

# PyIndexGUI

A desktop GUI for the [PyIndexNum](https://github.com/luigipalumbo/pyindexnum) economic index number library, built with [Flet](https://flet.dev/).

## Features

The app exposes the full PyIndexNum pipeline through a tabbed interface:

1. **Data Import** — Load CSV/Excel files, map columns to standard names, standardize data types
2. **Aggregation** — Aggregate time series data by frequency (daily, weekly, monthly, etc.) with configurable aggregation methods
3. **Panel Balancing** *(optional)* — Remove unbalanced products or apply carry-forward/backward imputation
4. **Index Calculation** — Compute bilateral indices (Jevons, Carli, Dutot, Laspeyres, Paasche, Fisher, Tornqvist, Walsh) and multilateral indices (GEKS-Jevons, GEKS-Fisher, GEKS-Tornqvist, Geary-Khamis, Time Product Dummy), on a balanced panel or directly on the unbalanced aggregated panel
5. **Export** — Export results and balanced panels to CSV or Excel
6. **Info** — App and PyIndexNum versions, authors, copyright, and a link to the GitHub repository

## Run

```bash
uv run flet run
```

## Build

```bash
flet build linux -v
```

## Documentation

Full documentation is available on [ReadTheDocs](https://pyindexgui.readthedocs.io/). It is built with MkDocs (Material theme); see [`docs/`](docs/) and [`mkdocs.yml`](mkdocs.yml) for the source.

## Change Log

- **0.2.0** — PyIndexNum 0.4.0 support: fixed the bilateral calculation for the new unified panel schema, made Panel Balancing optional (index functions can run on the unbalanced aggregated panel, computing on matched products), added "Require balanced panel" toggles with surfaced panel warnings, showed the PyIndexNum version in the Info tab, and enabled the Geary-Khamis tuning parameters in the UI.
- **0.1.0** — Complete rewrite: OOP architecture, full PyIndexNum pipeline integration, 5-tab UI, bilateral and multilateral index calculation, export support. Added an **Info** tab showing version, authors, copyright, and a link to the GitHub repository. Added MkDocs documentation (Material theme) for ReadTheDocs covering installation, running, and the full GUI workflow.
