Contributing
Thank you for considering contributing to tonie-podcast-sync! This project welcomes contributions from everyone.
How to Contribute
Reporting Bugs
If you find a bug, please open an issue with:
- A clear description of the problem
- Steps to reproduce the issue
- Expected behavior vs. actual behavior
- Your environment (OS, Python version, etc.)
- Relevant logs or error messages
Suggesting Features
Feature requests are welcome! Please open an issue describing:
- The feature you'd like to see
- Why it would be useful
- Any implementation ideas you have
Code Contributions
- Fork the repository on GitHub
-
Clone your fork locally
-
Create a feature branch
-
Install development dependencies
-
Make your changes
- Write clear, documented code
- Follow the existing code style (Ruff is used for linting)
-
Add tests for new functionality
-
Run tests and linting
-
Commit your changes
-
Push to your fork
-
Open a Pull Request on GitHub
Development Setup
Prerequisites
- Python >= 3.10.11
- ffmpeg (for testing volume adjustment features)
Install Development Environment
# Clone the repository
git clone https://github.com/alexhartm/tonie-podcast-sync.git
cd tonie-podcast-sync
# Install with development dependencies
pip install -e ".[dev]"
# Install pre-commit hooks (optional but recommended)
pre-commit install
Running Tests
# Run all tests
pytest
# Run with coverage
pytest --cov=tonie_podcast_sync
# Run specific test file
pytest tests/test_specific.py
Code Style
This project uses Ruff for linting and formatting:
Code Review Process
All contributions go through code review:
- A maintainer will review your pull request
- They may request changes or ask questions
- Once approved, your changes will be merged
- You'll be added to the contributors list!
Recognition
Contributors are recognized using the all-contributors specification.
After your first contribution, comment on your PR with:
Replace code with your contribution type (code, docs, bug reports, ideas, etc.).
Current Contributors
Alexander Hartmann ๐ป ๐ค ๐ง |
Wilhelmsson177 ๐ป ๐ค ๐ง โ ๏ธ |
Malte Bรคr ๐ |
Valentin v. Seggern ๐ป |
stefan14808 ๐ป ๐ค |
GoldBrickLemon ๐ ๐ป |
Acknowledgments
This project builds upon:
- tonie_api by @moritzj29
- Blog posts by Tobias Raabe
- Articles by Matthew Wimberly
Questions?
Feel free to ask questions by opening an issue or starting a discussion.