| Operating System Support |
Windows, Linux, macOS |
Cross-platform Python compatibility |
| GitHub Repository |
https://github.com/OpenRailAssociation/dac-migration-dss-popupsim |
Version control and collaboration platform |
| Python Backend |
Python 3.13+ for backend development |
Backend limited to Python ecosystem |
| SimPy Framework |
Discrete event simulation engine |
Event-driven simulation paradigm required |
| Deterministic Simulation |
Reproducible results required |
Enables reliable testing and layout comparison |
| File-Based Data |
CSV/JSON input/output only |
No database installation required |
| Matplotlib Visualization |
Charts and graphs output |
No web frontend in MVP |
| No Admin Rights |
Installation without administrator privileges |
Lightweight, self-contained architecture |
| Laptop Hardware |
Must run on standard laptops (4GB RAM minimum) |
Memory and computational complexity constraints |
| Offline Operation |
Core functionality works without internet |
Self-contained operation |
| Simulation Scale |
Must handle up to 1,000 wagons |
Memory management and algorithm efficiency |
| Code Format |
PEP-8 with type hints, Ruff formatting |
Python coding standards |
| Type Checking |
MyPy type checking required |
Code quality and maintainability |
| Testing Framework |
pytest for all tests |
Standardized testing approach |
| Documentation Format |
Markdown for all documentation |
Documentation toolchain standard |
| Architecture Documentation |
Must use arc42 template |
Standardized architecture documentation structure |
| Architecture Decision Records |
Must document significant architectural decisions using ADRs |
Maintains decision history and rationale |