- Check existing issues first: https://github.com/GuidoBorrelli/strongly-connected-components/issues
- When opening a new issue, include the steps to reproduce, expected behavior, actual behavior, and your Python/OS details
- Fork the repository, then clone the branch you want to work on.
git clone https://github.com/<your-user>/strongly-connected-components.git cd strongly-connected-components
- Use Python 3.14.3 locally.
python3.14 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements.txt - Create a topic branch.
git checkout -b feature/your-change
- Make the change and update documentation when behavior or configuration changes.
- Run the relevant checks locally.
python -m unittest discover -s tests -p 'test_*.py' python main.py - Commit and push your branch.
git add <files> git commit -m "Describe the change" git push origin feature/your-change
- Open a pull request with a clear summary of the change and any tradeoffs.
- Follow PEP 8
- Prefer clear names, small functions, and straightforward control flow
- Keep the code compatible with Python 3.14 only
- Add type hints and docstrings where they improve readability
- Update
README.mdor docs indocs/when user-facing behavior changes
- Python target: 3.14.3 locally, latest 3.14 patch in CI
- Python versions earlier than 3.14 are unsupported for contributions and bug reports
- Correctness mode:
TEST = True,MEMORY_TEST = False - Benchmark mode:
TEST = False - Memory mode:
TEST = True,MEMORY_TEST = True
By contributing, you agree that your contributions are released under the MIT License.