Metadata-Version: 2.4
Name: ai-24sea
Version: 0.2.2
Summary: A package containing general functionality for 24sea ai/ml related topics
Author-email: Panagiotis Konis <panagiotis.konis@24sea.eu>
Maintainer-email: Panagiotis Konis <panagiotis.konis@24sea.eu>
Requires-Python: >=3.9.0,<3.12
Description-Content-Type: text/markdown
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
License-File: LICENSE
Requires-Dist: api-24sea>=1.5.4
Requires-Dist: prefect==3.3.6
Requires-Dist: pandas==2.2.3
Requires-Dist: numpy==2.0.1
Requires-Dist: mlflow==2.22.0
Requires-Dist: psycopg2-binary
Requires-Dist: azure-storage-blob>=12.23.1
Requires-Dist: tabulate
Requires-Dist: markdown
Requires-Dist: omegaconf>=2.3.0
Project-URL: Documentation, https://dev.azure.com/24sea/DataDevOps/_git/24sea_ai_modeler_cookiecutter
Project-URL: Homepage, https://www.24sea.eu/
Project-URL: Repository, https://dev.azure.com/24sea/DataDevOps/_git/24sea_ai_modeler_cookiecutter

# ai-24sea

A Python package for building, training, and managing AI/ML models for 24sea windfarm data. This repository provides a modular framework for data ingestion, preprocessing, splitting, training, and experiment tracking using MLflow.

## Features

- **Configurable ML Pipelines:** Easily define preprocessing, splitting, and training steps via configuration files.
- **Data Ingestion:** Fetch and aggregate windfarm data using the 24sea API.
- **Preprocessing:** Modular, reusable preprocessing functions for feature engineering and cleaning.
- **Train/Test Split:** Flexible splitting with support for custom strategies.
- **Model Training:** Standardized training flow with MLflow experiment tracking and signature enforcement.
- **Testing:** Comprehensive unit tests using `pytest` and `hypothesis`.

## Project Structure
```sh
├── LICENSE
├── README.md
├── VERSION
├── ai_24sea
│   ├── __init__.py
│   ├── modeler
│   │   ├── __init__.py
│   │   ├── config.py
│   │   ├── constants.py
│   │   ├── misc
│   │   │   ├── __init__.py
│   │   │   ├── preprocessors.py
│   │   │   └── utils.py
│   │   └── tasks
│   │       ├── __init__.py
│   │       ├── ingest.py
│   │       ├── optimize.py
│   │       ├── split.py
│   │       ├── train.py
│   │       └── transform.py
│   └── version.py
├── bitbucket-pipelines.yml
├── bumpversion.py
├── notebooks
│   ├── tests.ipynb
│   └── tests.py
├── pyproject.toml
├── tests
│   ├── __init__.py
│   ├── conftest.py
│   ├── misc
│   │   ├── test_preprocessors.py
│   │   └── test_utils.py
│   ├── tasks
│   │   ├── test_ingest.py
│   │   ├── test_optimize.py
│   │   ├── test_split.py
│   │   ├── test_train.py
│   │   ├── test_transform.py
│   │   └── test_validate.py
│   ├── test_config.py
│   └── test_version.py
└── uv.lock
```

## Installation

This project uses `uv` for package management

To install:

```sh
uv sync
```

To install for development:

```sh
uv sync --all-groups
```

