Before reporting an issue, see if a similar issue is already open. Also check if a similar issue was recently closed — your bug might have been fixed already.
To have your issue dealt with promptly, it's best to construct a minimal working example that exposes the issue in a clear and reproducible manner. Review how to report bugs effectively and, particularly, how to craft useful bug reports in Python.
In case of bugs, please submit full tracebacks.
Remember that GitHub Issues supports markdown syntax, so please wrap verbatim example code/traceback in triple-backtick-fenced code blocks, such as:
```python
def foo():
...
```
and use the post preview function before posting!
Many thanks from the maintainers!
Note, In most cases, the issues are most readily dealt with when accompanied by respective fixes/PRs.
To install a developmental version of the project, first fork the project. Then:
git clone git@github.com:YOUR_USERNAME/backtesting.py
cd backtesting.py
pip install -e '.[doc,test,dev]'
Please write reasonable unit tests for any new / changed functionality. See backtesting/test directory for existing tests. Before submitting a PR, ensure the tests pass:
python -m backtesting.test
Also ensure that idiomatic code style is respected by running:
flake8 backtesting
mypy backtesting
See doc/README.md. Besides Jupyter Notebook examples, all documentation is generated from pdoc-compatible markdown docstrings in code.
A general recommended reading: How to make your code reviewer fall in love with you.
Use explicit commit messages — see NumPy's development workflow for inspiration.
Every new feature must be accompanied by a unit test.
Please help review existing PRs you wish to see included.