Thank you for your interest in contributing to Quipus! This document provides guidelines for collaborating on the development and improvement of the project.
- Reporting Issues
- Suggestions and Improvements
- Code Contribution
- Code Style Standards
- Commit Format
- Testing
- Pull Requests
If you find a bug, please follow these steps:
- Check that the issue hasn’t already been reported here.
- Create a new issue if there isn’t a similar report. Include:
- Quipus and Python version.
- Detailed description of the problem.
- Steps to reproduce the bug.
- Relevant error messages, logs, or screenshots.
We welcome improvements! If you have an idea to enhance Quipus:
- Check for an existing issue in case someone has already suggested it.
- If you don’t find one, create a new issue with details about the improvement or feature.
If you’d like to contribute code, please follow these steps:
- Fork the repository and clone the fork to your local machine.
- Create a branch using a descriptive naming convention like
fix/issue-XX
orft/new-feature
. - Add tests for your changes if necessary.
- Ensure all existing tests pass.
- Follow the style standards and commit format.
- Submit a Pull Request to the
main
branch.
Our code follows PEP 8 guidelines. We use Pylint to check style in CI, aiming for a minimum score of 9.5. Be sure to:
- Write clear, well-documented code using descriptive variable and function names.
- Use static typing in functions and classes.
- Add docstrings to classes and functions.
To contribute, please install the development dependencies specified in pyproject.toml
.
We use the following commit format to aid tracking and reviewing:
feat: | [FT]
for a new feature.fix: | [FIX]
for a bug fix.docs: | [DOC]
for documentation changes.style: | [LINT]
for formatting changes (no code logic changes).refactor: | [REF]
for changes that are not a new feature or bug fix.test: | [TEST]
for adding or updating tests.chore: | [CH]
for maintenance tasks.
Example:
$ git commit -m "feat: add SFTP support to TemplateManager"
$ git commit -m "[FT] Add SFTP support to TemplateManager"
Code contributions should include tests. We use Pytest and aim for high coverage on key modules. To run tests:
pytest tests/
If you add functionality, be sure to add relevant tests in the tests/
directory. Tests also run automatically in CI when you submit a PR.
To submit a Pull Request (PR):
- Make sure your PR targets the
main
branch. - Include a clear description of the PR’s purpose and reference any relevant issues.
- Ensure all tests pass and coverage is acceptable.
- If relevant, include documentation about the change in the PR.
Thank you for contributing to Quipus!
Your support is essential to improving this tool! 💙