Thanks for helping make flashalpha-fill-simulator more reusable and honest.
python -m pip install --upgrade pip
pip install -e ".[test,dev]"Run these before opening a PR:
ruff check src tests
ruff format --check src tests
mypy src
pytest --cov=fillsim --cov-report=term-missing --cov-fail-under=85Use ruff format src tests to apply formatting.
The simulator is a behavioral contract more than a pile of code. If a PR changes fill, exit, settlement, provider, or config semantics:
- Update
docs/SPEC.md. - Add or update tests using synthetic quotes.
- Explain whether the change is backward-compatible.
- Add a
CHANGELOG.mdentry.
New providers should implement the ChainProvider protocol, avoid runtime dependencies unless they are optional extras, and include small deterministic tests. Keep provider-specific caching and retries inside the provider so the core simulator stays pure.
Please sign commits with DCO:
git commit -s