We're thrilled that you're interested in contributing to peepDB! This document provides guidelines for contributing to the project. Please take a moment to review this document to make the contribution process easy and effective for everyone involved.
By participating in this project, you are expected to uphold our Code of Conduct (to be added).
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/evangelosmeklis/peepdb.git cd peepdb
- Create a branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Make your changes and commit them with a clear commit message.
- Push your changes to your fork:
git push origin feature/your-feature-name
- Create a pull request from your fork to the main peepDB repository.
- Ensure you have Python 3.6 or higher installed.
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the package in editable mode with development dependencies:
pip install -e .[dev]
We use pytest for our test suite. To run the tests:
pytest
Please ensure all tests pass before submitting a pull request.
- Follow PEP 8 guidelines for Python code.
- Use meaningful variable and function names.
- Write docstrings for all functions, classes, and modules.
- Keep lines to a maximum of 100 characters.
- Use type hints where appropriate.
- Ensure your code adheres to the coding standards outlined above.
- Update the README.md with details of changes to the interface, if applicable.
- Add or update tests as necessary.
- Update the documentation to reflect any changes.
- Ensure all tests are passing.
- Your pull request will be reviewed by maintainers, who may request changes or provide feedback.
- Check the GitHub Issues to see if the bug has already been reported.
- If not, create a new issue, providing as much detail as possible:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- Your environment (OS, Python version, peepDB version, etc.)
We welcome suggestions for enhancements! Please create an issue on GitHub with the tag "enhancement" and provide:
- A clear, descriptive title
- A detailed description of the proposed enhancement
- Any potential implementation deta