Contributing
============
Thank you for your interest in contributing to ``fastapi-async-storages``!
We welcome contributions of all kinds; whether code, documentation, bug reports, or ideas.
Contribution Guide
------------------
How to Contribute
~~~~~~~~~~~~~~~~~
1. **Check the roadmap and open issues**
See what’s planned or in progress to avoid duplication and align your efforts.
2. **Fork the repository and create a feature branch**
Create your own copy of the project to work on.
Use a descriptive name for your branch, e.g., ``feature/async-gcs-backend``.
3. **Write clear, concise code and documentation**
Follow existing style and patterns. Include tests for new features or bug fixes.
4. **Open a pull request (PR)**
Provide a detailed description of your changes, related issues, and any testing you performed.
5. **Respond to review feedback**
We may ask for clarifications, improvements, or changes before merging.
Coding Guidelines
~~~~~~~~~~~~~~~~~
- Write asynchronous code following Python’s async/await conventions.
- Ensure compatibility with FastAPI and `SQLAlchemy `_/`SQLModel `_ async patterns.
- Add type hints for functions and methods.
- Document public APIs and complex internal logic clearly.
- Adhere to `PEP 8 style `_ guidelines for Python code.
Reporting Issues
~~~~~~~~~~~~~~~~~
- Use the issue tracker to report bugs, suggest enhancements, or ask questions.
- Provide clear reproduction steps, error messages, and environment details.
Community Conduct
~~~~~~~~~~~~~~~~~
- Be respectful and considerate to all contributors.
- Follow inclusive language practices.
- Contributions must comply with the project’s license.
Thank you for helping make ``fastapi-async-storages`` better for everyone!
We look forward to your contributions and collaboration.