Contributing
We welcome contributions to the Podcast Teaser Generator! This document provides guidelines and instructions for contributing to the project.
Ways to Contribute
Reporting bugs and suggesting features
Improving documentation
Writing code to fix issues or add features
Adding tests
Creating examples and tutorials
Development Setup
Fork the repository on GitHub
Clone your fork locally:
git clone https://github.com/yourusername/podcast_teaser.git cd podcast_teaser
Create a virtual environment and install development dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt pip install -e .
Coding Standards
Follow PEP 8 style guidelines
Write docstrings for all functions, classes, and modules
Add comments for complex code sections
Include type hints where appropriate
Pull Request Process
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
Make your changes and commit them with clear, descriptive messages:
git commit -m "Add feature X" -m "This implements feature X which solves problem Y"
Push to your fork:
git push origin feature/your-feature-name
Open a pull request from your fork to the main repository
Make sure your PR includes:
A clear description of the changes
Any relevant documentation updates
Tests if applicable
Updates to the CHANGELOG.md file if needed
Testing
When adding new features or fixing bugs, please include appropriate tests. Run the existing tests to make sure your changes don’t break anything:
pytest
Building Documentation
To build the documentation locally:
Install Sphinx and the ReadTheDocs theme:
pip install sphinx sphinx_rtd_theme
Build the documentation:
cd docs make html
View the documentation by opening
_build/html/index.htmlin your browser
Reporting Bugs
When reporting bugs, please include:
A clear description of the issue
Steps to reproduce the problem
Expected behavior
Actual behavior
System information (OS, Python version, etc.)
If possible, sample audio files that demonstrate the issue
Feature Requests
Feature requests are welcome! Please provide:
A clear description of the feature
Why it would be valuable
Any ideas on how it might be implemented
Examples of how it would be used
Code of Conduct
Please be respectful and considerate of others when contributing. We aim to foster an inclusive and welcoming community.