Skip to content

philippe-robin/Colonne-batch

Repository files navigation

title emoji colorFrom colorTo sdk app_port
BatchDistill
🧪
blue
green
docker
7860

BatchDistill — Batch Distillation Column Simulator

Simulation and visualization application for batch distillation columns, inspired by ProSim BatchColumn.

Open in GitHub Codespaces

Quick Start

Option 1 — Hugging Face Spaces (gratuit, fonctionne sur mobile)

  1. Créez un Space Docker sur Hugging Face (gratuit)
  2. Connectez votre repo GitHub philippe-robin/Colonne-batch
  3. HF détecte le Dockerfile racine et déploie automatiquement
  4. Vous obtenez une URL publique permanente : https://<votre-user>-batchdistill.hf.space

Option 2 — GitHub Codespaces (développement)

Cliquez sur le bouton Open in GitHub Codespaces :

  • L'application se lance automatiquement
  • Frontend : port 5173 / Backend API : port 8000

Option 3 — Docker Compose (local)

docker-compose up --build

Development

Backend

cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload

Run Tests

cd backend
pytest -v

Database Migrations

cd backend
alembic upgrade head          # Apply migrations
alembic revision --autogenerate -m "description"  # Generate new migration

Phase 1 — Data Model & Configuration API

Phase 1 provides:

  • Complete data model for batch distillation column configuration
  • CRUD API for columns, configurations, feed compositions, and operating recipes
  • Library of 20 pre-loaded chemical components with verified Antoine coefficients
  • Configuration validation endpoint
  • SQLite database with Alembic migrations

API Endpoints

Method Endpoint Description
GET /api/components List chemical components
POST /api/components Add custom component
GET /api/components/{id} Get component detail
POST /api/columns Create column
GET /api/columns List columns
GET /api/columns/{id} Get column with active config
PUT /api/columns/{id}/config Update configuration
POST /api/columns/{id}/config/clone Clone configuration
PUT /api/columns/{id}/feed Set feed composition
GET /api/columns/{id}/feed Get feed composition
PUT /api/columns/{id}/recipe Set operating recipe
GET /api/columns/{id}/recipe Get operating recipe
POST /api/columns/{id}/validate Validate configuration

Project Structure

backend/
├── app/
│   ├── api/            # FastAPI route handlers
│   ├── models/         # SQLAlchemy ORM models
│   ├── schemas/        # Pydantic validation schemas
│   ├── seed/           # Chemical component seed data
│   ├── database.py     # Database configuration
│   └── main.py         # Application entry point
├── alembic/            # Database migrations
├── tests/              # Pytest test suite
├── Dockerfile
└── requirements.txt

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors