How prathamd69/aeroenginetwin works
PINN-AeroEngineTwin exposes a FastAPI service for uploading aero-engine telemetry, listing runs, retrieving time-ranged channel data, and deleting runs. Ingestion validates and cleans Parquet data, writes telemetry and run metadata to TimescaleDB, and archives the raw upload in SeaweedFS. Retrieval reads selected channels, downsamples dense results, and serializes a response. The graph follows the sampled routes and service code; the README provides no further product detail, so alerting or other unshown capabilities are not inferred.
Main entry points: simulation_routes.py Simulation routes · simulation_ingestor.py Ingestion validation · config.py Runtime configuration · app.py FastAPI app
Components 14
API service
- FastAPI app
app.py - Simulation routes
src/routers/simulation_routes.py
Ingestion
- Ingestion validation
src/services/simulation_ingestor.py - TimescaleDB
- SeaweedFS archive
Telemetry retrieval
- Telemetry downsampling
src/services/downsampling.py - Telemetry serialization
src/utils/serialization.py
Schemas and configuration
- Telemetry schema
src/schemas/sim_table.py - Response schema
src/schemas/sim_payload.py - Channel limits
src/schemas/channel_limits.py - Runtime configuration
config.py - Config managers
src/utils/config_manager.py - Channel limits data
config/channel_limits.yaml
Other components
- API client
Connections 13
- API client → FastAPI app: sends requests
- FastAPI app → Simulation routes: mounts router
app.py - Simulation routes → Ingestion validation: ingests upload
src/routers/simulation_routes.py - Ingestion validation → Telemetry schema: validates against
src/services/simulation_ingestor.py - Simulation routes → TimescaleDB: passes pool
src/routers/simulation_routes.py - Ingestion validation → TimescaleDB: writes run and rows
src/services/simulation_ingestor.py - Simulation routes → SeaweedFS archive: stores raw upload
src/routers/simulation_routes.py - Simulation routes → TimescaleDB: queries and deletes
src/routers/simulation_routes.py - Simulation routes → Telemetry downsampling: downsamples results
src/routers/simulation_routes.py - Simulation routes → Telemetry serialization: serializes results
src/routers/simulation_routes.py - Simulation routes → Response schema: declares response model
src/routers/simulation_routes.py - Runtime configuration → Channel limits: builds channel limits
config.py - Runtime configuration → Channel limits data: loads limits
config.py