Use the pyvalue conda environment for project work.
Example install:
python -m pip install -e .[dev]
conda activate pyvalueMain repo areas:
src/pyvalue/: application codetests/: pytest suitescreeners/: YAML screen definitionsdata/: local database, logs, and output artifactsprivate/: local credentials and configdocs/: project documentationskills/: repo-local Codex skills and helper assets
Main application subsystems in src/pyvalue/:
universe/ingestion/normalization/marketdata/metrics/money/andscreening/persistence/(storage/,migrations.py,database_review_docs.py)cli/
Run tests:
conda run -n pyvalue pytestRun formatting and checks:
conda run -n pyvalue ruff format .
conda run -n pyvalue ruff check .
conda run -n pyvalue mypy src/ tests/Typical workflow:
- confirm normalized inputs exist
- add or extend normalization only if needed
- implement the metric in
src/pyvalue/metrics/ - register it in
src/pyvalue/metrics/__init__.py - add or update tests
- update
docs/reference/metrics.md
When behavior changes:
- update the relevant docs page under
docs/ - avoid keeping the same explanation in multiple files
- keep the root README short and link to the canonical topic page