Thank you for your interest in contributing to Podcastfy! We welcome contributions from the community to help improve and expand this project. Please follow these guidelines to ensure a smooth collaboration process.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/your-username/podcastfy.git
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Follow PEP 8 style guidelines for Python code.
- Use tabs for indentation instead of spaces.
- Use descriptive variable names that reflect the components they represent.
- Include docstrings for all functions, classes, and modules.
- Poetry is the preferred but not mandatory dependency manager. Install it with
pip install poetry
.- Contributors can opt to use
uv
instead and generate and push updated requirements.txt from it.
- Contributors can opt to use
- Sphinx is used as the documentation generator. Install it with
pip install sphinx
.make doc-gen
to generate the documentation.
- Commit your changes with clear, descriptive commit messages.
- Push your changes to your fork on GitHub.
- Submit a pull request to the main repository.
- Managing dependencies
- Add new dependencies with
poetry add <new-dependency>
- Remove a dependency with
poetry remove <dependency-name>
. - Then generate requirements.txt with
poetry export -f requirements.txt --output requirements.txt --without-hashes
- Add new dependencies with
- Testing
- Consider adding new tests at test/*.py, particularly if implementing user facing change.
- Test locally:
poetry run pytest
- Tests (tests/*.py) are run automatically by GitHub Actions, double check that they pass.
- Docs
- Update any documentation if required README.md, usage/*.md, *.ipynb etc.
- Regenerate documentation (/docs) if there are any changes in docstrings or modules' interface (
make doc-gen
)
- Use the GitHub issue tracker to report bugs or suggest enhancements.
- Provide a clear and detailed description of the issue or suggestion.
- Include steps to reproduce the bug, if applicable.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
If you have any questions or need further clarification, please don't hesitate to ask in the GitHub issues section.
Thank you for contributing to Podcastfy!