Commit Graph

6 Commits

Author SHA1 Message Date
e0a9976ca7 Fix TCP server response handling and add pandas-stubs
Some checks failed
CI / Lint (push) Successful in 4s
CI / Type Check (push) Successful in 19s
CI / Test (push) Failing after 20s
CI / Release (push) Has been skipped
- Always send a response (even empty) to prevent client timeouts
- Add pandas-stubs to dev dependencies for mypy type checking
- Server now sends newline-terminated response for all commands

This fixes the mypy CI failure. Integration test failures still need
investigation - likely due to event loop blocking when mixing sync/async.
2025-12-03 01:05:24 +00:00
25efd1f0ac Implement configuration loader 2025-12-02 22:55:48 +00:00
b554b0327d Add TCP server integration tests
Test connection handling, multiple clients, instrument access across
all three virtual instruments, physics engine integration, and error
handling. Update pytest-asyncio config for v1.x compatibility.
2025-12-02 15:02:03 +00:00
99f70bb23b Restructure package for domain-driven design
Reorganise package structure to improve separation of concerns:
- instruments/ - SCPI, transport, drivers, interfaces, factory
- simulation/ - physics engine, virtual instruments, server
- framework/ - test runner, logger, limits, context
- tests/ - thermal/, electrical/ (DVT test implementations)
- data/ - repository, models
- reporting/ - generator, templates
- app/ - CLI, config, dashboard

This structure enables:
- Reusable instruments package for other test suites
- Clear separation of simulation (dev) vs production code
- Domain-focused package organisation

Updated documentation to reflect new paths.
2025-12-02 01:53:33 +00:00
14223e54ca Configure development tooling (ruff, mypy, pytest) 2025-12-01 23:51:26 +00:00
8ee73d443a Add pyproject.toml with core dependencies 2025-12-01 23:49:12 +00:00