aimclub / aimclub/FEDOT

cicd: merge ci/cd pipelines and dependencies for integrated fedot_ind

Abierto
#1,414 0 comentarios 0 reacciones 0 asignados Ver en GitHub
dependencies refactoring test
Lenguaje dominante
Python
Estrellas
712
Forks
96
Merge medio
3 d 1 h
PR fusionados (30 d)
10

Descripción

## Summary

Merge the CI/CD configurations and dependency management from FEDOT and Fedot.Industrial into a single, streamlined setup that supports optional industrial extensions.

## Motivation

Currently, FEDOT and Fedot.Industrial have separate CI/CD pipelines and dependency specifications. A unified configuration will reduce maintenance overhead, ensure consistent testing, and support optional installation of industrial features.

## Guide-level explanation

* Merge pyproject.toml/setup.py files to include industrial dependencies as optional extras:
```toml
[project.optional-dependencies]
industrial = ["torch>=2.0", "fastai", "giotto-tda", ...]
```
* Update GitHub Actions workflows to test both core and industrial modes
* Ensure that `uv pip install -e .` works without industrial dependencies
* Ensure that `uv pip install ".[industrial]"` installs the full industrial stack

## Reference-level explanation

> GENERALLY UPDATE THE APPROACH TO MAINTAINING DEPENDENCIES!
* Analyze `requirements.txt` and `setup.py` (with `pyproject.toml`) from both repositories
* Resolve version conflicts between dependencies

Test suites should be run in stages (separate workflows):
1. FEDOT unit tests + Fedot.Industrial unit tests (CPU only!)
2. FEDOT integration tests
3. Fedot.Industrial integration tests (CPU only!)

## Drawbacks

* Increased complexity in CI configuration
* Risk of dependency conflicts between core and industrial packages

## Unresolved Questions

How to handle and maintain platform-specific dependencies (e.g., CUDA)?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.