Documentation Index
Fetch the complete documentation index at: https://paylink.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Contributing to PayLink
Thank you for your interest in contributing to PayLink! This guide will help you get started with contributing to our open-source project.Ways to Contribute
There are many ways to contribute to PayLink:- Code contributions: Fix bugs, add features, improve performance
- Documentation: Improve existing docs, add examples, fix typos
- Bug reports: Submit detailed bug reports when you encounter issues
- Feature requests: Suggest new features or improvements
- Testing: Help test new features and ensure quality
- Community support: Help answer questions from other users
Getting Started
Prerequisites
- Python 3.8 or higher
- Git
- A GitHub account
Setting Up Your Development Environment
- Fork the repository Visit https://github.com/jameskanyiri/paylink_sdk and click the “Fork” button in the top-right corner.
-
Clone your fork
-
Set up a virtual environment
-
Install development dependencies
-
Set up pre-commit hooks
Development Workflow
-
Create a new branch
Use a descriptive branch name, such as:
feature/airtel-integrationfix/connection-timeoutdocs/improve-examples
- Make your changes Write your code or documentation changes.
-
Run tests
-
Commit your changes
Follow our commit message format:
- Use the present tense (“Add feature” not “Added feature”)
- Use the imperative mood (“Move cursor to…” not “Moves cursor to…”)
- Start with a capital letter
- No dot (.) at the end
- Reference issues and pull requests liberally
-
Push your changes
- Submit a pull request Go to your repository on GitHub and click “Compare & pull request”.
Code Style and Guidelines
PayLink follows these coding standards:- PEP 8: We follow the PEP 8 style guide for Python code
- Type hints: Use type hints for function parameters and return values
- Docstrings: Document classes and functions using Google-style docstrings
- Tests: Include tests for new features and bug fixes
- Black: For code formatting
- isort: For import sorting
- Flake8: For linting
- MyPy: For type checking
Documentation Guidelines
When contributing to documentation:- Use clear, concise language
- Include code examples when applicable
- Follow Markdown best practices
- Update or add docstrings for any code changes
- Add new pages to the navigation in
docs.jsonif needed
Testing Guidelines
When adding new features or fixing bugs:- Add unit tests for new functionality
- Ensure all tests pass before submitting a pull request
- Include integration tests for complex features
- Document test cases clearly
Pull Request Process
- Ensure your PR addresses a specific issue or clearly describes the improvement
- Update documentation as necessary
- Add tests for new features
- Ensure CI checks pass
- Request a review from maintainers
- Address feedback and make requested changes
- Once approved, a maintainer will merge your PR
Issue Reporting
When reporting issues:- Use the provided issue template
- Include detailed steps to reproduce the issue
- Describe the expected and actual behavior
- Include relevant logs and error messages
- Specify your environment (OS, Python version, etc.)
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. Please report unacceptable behavior to jmskanyiri@gmail.com.License
By contributing to PayLink, you agree that your contributions will be licensed under the project’s MIT License.Questions?
If you have any questions about contributing, please:- Open an issue on GitHub
- Email us at jmskanyiri@gmail.com
- Join our community discussions