Metadata-Version: 2.4
Name: data-completion-tool
Version: 0.1.0
Summary: Automatic hierarchical dataset interpolation and disaggregation
Author-email: francois-verzier <fran.verzier@gmail.com>
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: matplotlib>=3.9.3
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: pandas>=2.2.3
Description-Content-Type: text/markdown

# Data completion tool

A module to create a dataset with a parent/children hierarchy (H-MECE) and permorm a completion algorithm (parent/children disaggregation and time interpolation). It is used to transform a sparse dataset into a complete dataset ready to be used in a model.

There are some plot functions to visualize the results of the completion algorithm keeping a trace of the aggregations and interpolations made to facilitate any revue of the dataset.

[TOC]

## Set Up Your Environment

### Linux

Install necessary dependencies:

```bash
sudo apt update
sudo apt install curl git
```

Install the package manager [uv](https://docs.astral.sh/uv/):

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

Install Python 3.12 or higher:

```bash
uv python install 3.12
```

### Windows

Install [Git](https://git-scm.com/).

Install the package manager [uv](https://docs.astral.sh/uv/):

```bash
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Install Python 3.12 or higher:

```bash
uv python install 3.12
```

Make sure Python is added to your system PATH during installation. If not, follow the [uv documentation](https://docs.astral.sh/uv/guides/install-python/#getting-started) to add it manually.

## Clone the Project

Clone the project to your local machine:

```bash
git clone https://gricad-gitlab.univ-grenoble-alpes.fr/isterre-dynamic-modeling/mater-project/data-completion-tool.git
```

## Quick start

See the main_example python files to see how to use the dct package to complete a sparse dataset.

```bash
uv run python main_multi_aspects.py
```

If you want to change one of the main files, please create a new branch to test your new features (see [Contributing](#Contributing))

## 🤝 Contributing

We welcome contributions to the Data providing project! To get started, please refer to the [CONTRIBUTING](CONTRIBUTING.md) file for detailed guidelines.
