Contributing to Fast Pluggy
Thank you for your interest in contributing to Fast Pluggy! This document provides guidelines and instructions for contributing to the project.
Code of Conduct
Please read and follow our Code of Conduct to ensure a positive and inclusive environment for everyone.
Getting Started
Setting Up the Development Environment
- Fork the repository on GitLab
- Clone your fork locally:
- Set up a virtual environment:
- Install development dependencies:
Running Tests
We use pytest for testing. To run the tests:
To run tests with coverage:
Development Workflow
-
Create a new branch for your feature or bugfix:
or -
Make your changes and commit them with clear, descriptive commit messages:
-
Push your branch to your fork:
-
Create a merge request (MR) from your branch to the main repository's
main
branch
Coding Standards
Python Code Style
We follow PEP 8 and use Black for code formatting:
Type Hints
We use type hints throughout the codebase. Please add appropriate type hints to your code:
Documentation
- Document all public modules, classes, and functions
- Use docstrings in Google style format
- Keep documentation up-to-date with code changes
Example:
def example_function(param1: str, param2: int) -> bool:
"""
Short description of the function.
Args:
param1: Description of param1
param2: Description of param2
Returns:
Description of return value
Raises:
ValueError: When param1 is empty
"""
if not param1:
raise ValueError("param1 cannot be empty")
# Function implementation
return True
Pull Request Process
- Ensure your code passes all tests
- Update documentation if necessary
- Add tests for new features
- Make sure your code is properly formatted
- Submit the pull request
Creating Plugins
If you're interested in creating plugins for Fast Pluggy, please refer to the Plugin Development Guide.
Reporting Issues
If you find a bug or have a feature request, please create an issue on our GitLab issue tracker.
When reporting bugs, please include:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- Fast Pluggy version
- Python version
- Operating system
Community
Join our community channels to get help or discuss the project:
License
By contributing to Fast Pluggy, you agree that your contributions will be licensed under the project's license.
Thank you for contributing to Fast Pluggy!