Thanks for your interest in contributing! This document explains the preferred workflow and standards for contributing code, tests, docs, or fixes to this repository.
Please follow these steps to make the process smooth and fast for everyone:
Be respectful and constructive. If you have any concerns about community behavior, contact the maintainer: atacanymc@gmail.com.
- Search existing issues before opening a new one.
- When opening an issue, provide a clear title and reproducible steps, environment (OS, Python version), and logs or error messages if applicable.
-
Fork the repository and create a feature branch from
main:git checkout -b feat/my-feature
-
Write tests for any new behavior or bugfix (prefer pytest).
-
Run the test suite locally and make sure all tests pass.
-
Keep commits small and focused. Use clear commit messages.
-
Open a pull request against the
mainbranch and describe the change and why it is needed.
feat/<short-description>— new featuresfix/<short-description>— bug fixeschore/<short-description>— maintenance tasksdocs/<short-description>— documentation-only changes
Keep messages short and descriptive. Example:
feat(routes): add cryptocraft daily endpoint
Add new endpoint and tests that validate paging behavior.
Before requesting review, ensure the following:
- The PR targets
main(or the branch specified by the maintainers). - Tests were added or updated for new behavior.
- All tests pass locally:
python -m pytest -q. - The
README.mdandsrc/openapi_spec.pyare updated if public APIs changed. - If appropriate, run
pre-commithooks locally:pre-commit run --all-files.
- Create and activate a virtualenv:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Run tests:
python -m pytest -q- Run the app locally for manual testing:
python main.py
# then open http://localhost:5000/ in your browser- This repository includes
pre-commitinrequirements.txt. Install and run hooks:
pre-commit install
pre-commit run --all-filesIf you don’t have pre-commit installed globally, you can run it from the virtualenv: python -m pre_commit run --all-files.
- The OpenAPI spec is maintained in
src/openapi_spec.py. If you add or change public endpoints or response formats, please update that file so/openapi.jsonand the Swagger UI remain accurate. - Update
README.mdfor any end-user visible change.
- Do not commit secrets or credentials. Use environment variables or
.envfiles excluded via.gitignore. - If you discover a security vulnerability, contact the maintainer privately at atacanymc@gmail.com before opening a public issue.
If you need guidance on where to start, open an issue titled help wanted with what you’d like to work on — the maintainer or contributors will respond with suggestions.
Thank you for contributing and helping improve ForexFactoryScrapper!