Files
stat_pairs_backtest/CONTRIBUTING.md
T
Oleg Sheynin 1d1ebd385e Release 0.0.9
2026-07-25 00:57:38 +00:00

1.7 KiB

Contributing

Setup

Use the shared Python 3.12 virtual environment:

source ~/.pyenv/python3.12-venv/bin/activate
python -m pip install -r requirements.txt

If you install another package for repository work, add its direct dependency to requirements.txt.

Repository layout

  • Put notebooks in notebooks/.
  • Put reusable Python and Bash utilities in scripts/.
  • Put local input files in data/.
  • Put generated artifacts in results/.

The contents of data/ and results/ are ignored. Do not force-add test databases, raw test results, generated exports, or notebook outputs.

__SAV__/ is unrelated legacy material and is outside the active project.

Working with notebooks

Notebooks must execute from top to bottom in a fresh kernel. Use relative paths, document data assumptions, and move reusable logic into tested scripts.

Before handing off a change:

python -m pytest
python -m pytest --nbmake notebooks
jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace path/to/notebook.ipynb

Run only the checks relevant to the files present in the repository, and report anything that could not be run.

Review requirement

Python scripts, Bash scripts, and notebook code-cell changes require review and approval by a separate background agent. Address material findings and rerun affected checks before completion. If a reviewer is unavailable, the change may be handed off only with the status review pending.

Documentation, dependency declarations, and ignore rules do not require this background review when no Python, Bash, or notebook code cells changed.

The master branch is not protected. That does not remove the review requirement or authorize an agent to commit or push without an explicit request.