yfinance relies on the community to investigate bugs and contribute code.
This is a quick short guide, full guide at https://ranaroussi.github.io/yfinance/development/index.html
YFinance uses a two-layer branch model:
- dev: new features & most bug-fixes merged here, tested together, conflicts fixed, etc.
- main: stable branch where PIP releases are created.
pip install git+ranaroussi/yfinance.git@dev # <- dev branchhttps://ranaroussi.github.io/yfinance/development/running.html
-
Fork this project. If already forked, remember to
Sync fork -
Implement your change in your fork, ideally in a specific branch
-
Create a Pull Request, from your fork to this project. If addressing an Issue, link to it
https://ranaroussi.github.io/yfinance/development/code.html
The new docs website is generated automatically from code. https://ranaroussi.github.io/yfinance/index.html
Remember to updates docs when you change code, and check docs locally.
https://ranaroussi.github.io/yfinance/development/documentation.html
Help keep the Git commit history and network graph compact:
-
got a long descriptive commit message?
git commit -m "short sentence summary" -m "full commit message" -
combine multiple commits into 1 with
git squash -
git rebaseis your friend: change base branch, or "merge in" updates
https://ranaroussi.github.io/yfinance/development/code.html#git-stuff
Tests have been written using the built-in Python module unittest. Examples:
- Run all tests:
python -m unittest discover -s tests
https://ranaroussi.github.io/yfinance/development/testing.html
See the Developer Guide for more information.