Contributing
Thank you for considering contributing to OWL Server! This document provides guidelines and instructions for contributing to the project.
Development Environment
Prerequisites
- Python 3.10 or later
- Git
Setup
- Fork the repository on GitHub.
-
Clone your fork locally:
-
Sync your
uv
:
Development Workflow
Running Tests
Tests are written using pytest. To run the tests:
To run a specific test:
Code Formatting
We use Black for code formatting and isort for import sorting:
Type Checking
We use mypy for type checking:
Documentation
We use mkdocs with the Material theme for documentation. To build and serve the documentation locally:
Then visit http://127.0.0.1:8000/ in your web browser.
Pull Request Process
-
Create a new branch for your feature or bugfix:
-
Make your changes and ensure all tests pass:
-
Update the documentation if necessary.
-
Add your changes to git and commit them:
-
Push your branch to GitHub:
-
Create a pull request against the
main
branch of the original repository.
Pull Request Guidelines
- Keep pull requests focused on a single issue or feature.
- Include tests for new functionality or bug fixes.
- Update documentation as needed.
- Ensure all tests pass and code is properly formatted.
- Provide a clear description of what your pull request changes or fixes.
Code of Conduct
Please be respectful and considerate of others when contributing to this project. We aim to foster an inclusive and welcoming community.
License
By contributing to OWL Server, you agree that your contributions will be licensed under the same license as the project.