The Project
PlanetTogether is the core of a Python monorepo built during my apprenticeship at Orange Business within a three-developer team. The goal: automate the production scheduling chain for industrial clients by connecting their SAP systems to the PlanetTogether scheduling tool.
Confidential project — deployed and running in production.
The Integration Chain
The architecture relies on a critical dependency between three links:
PythonTemplateExtraction → PlanetTogether → PythonPublishToSAP → SAP Each link is independent, but a failure in the first one blocks the entire production chain.
PythonTemplateExtraction — Upstream ETL
An ETL pipeline that reads data from Excel files and SQL Server staging tables, transforms it according to business constraints, then writes it to the destination database that PlanetTogether consumes to generate its schedule.
- Multi-source reading: Excel (operators, resources) + SQL Server (manufacturing orders)
- Typed domain models (
Machine,HumanResources,Routings,ManufacturingOrders…) - Business data validation with
ErrorCodes(code, message, display in PT) - Configurable rotating logging (
RotatingFileHandler)
PythonPublishToSAP — Downstream Publication
Once PlanetTogether has generated the optimized schedule, this module writes the results back into SAP manufacturing orders — closing the loop between the scheduling tool and the ERP system.
Technical Architecture
- Dataclasses with
slots=Truefor memory performance - Each model exposes
read(df)andwrite(writer, ...)— consistent interface across the entire domain DataWriterabstracts SQLAlchemy writes — single change point if the ORM evolves- Safe Pandas access via
get_val(row, key, cast_type, default)— no silent KeyErrors
Deployment
- Windows Task Scheduler — scheduled Python script execution aligned with production cycles
- SQL Server Agent — stored procedures triggered database-side
- GitLab CI — automated test pipeline on every Merge Request (
python:3.12-slim)
What I Learned
This project exposed me to challenges that web development doesn't cover: industrial business logic, constraints from heterogeneous data sources (field Excel ↔ SQL Server ↔ ERP), and the criticality of a system where a regression can halt an entire production chain.
Working on a tool like PlanetTogether, deployed at major industrial groups, taught me to truly measure the real-world impact of a technical decision.