Contributions are welcome, and they are greatly appreciated!
Every little bit helps, and credit will always be given.
You can contribute in many ways:
# Types of Contributions
## Report Bugs
Report bugs at https://github.com/exislow/tidal-dl-ng/issues
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
## Fix Bugs
Look through the GitHub issues for bugs.
Anything tagged with "bug" and "help wanted" is open to whoever wants to implement a fix for it.
## Implement Features
Look through the GitHub issues for features.
Anything tagged with "enhancement" and "help wanted" is open to whoever wants to implement it.
## Write Documentation
Cookiecutter PyPackage could always use more documentation, whether as part of the official docs, in docstrings, or even on the web in blog posts, articles, and such.
## Submit Feedback
The best way to send feedback is to file an issue at https://github.com/exislow/tidal-dl-ng/issues.
If you are proposing a new feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that contributions
are welcome :)
# Get Started!
Ready to contribute? Here's how to set up `tidal-dl-ng` for local development.
Please note this documentation assumes you already have `poetry` and `Git` installed and ready to go.
**Note:** This requires you to have multiple versions of Python installed.
This step is also triggered in the CI/CD pipeline, so you could also choose to skip this step locally.
**Windows users:** If `tox` fails with Git/dulwich errors (like `KeyError: b'HEAD'`), you can skip this step as the CI/CD pipeline will run it automatically when you create a pull request. Make sure you have committed your changes to Git before running tox:
```powershell
git add .
git commit -m "Your changes"
# Then try tox again, or skip it and rely on CI/CD
### Tox fails with UnicodeDecodeError or KeyError: b'HEAD'
This is a known issue on Windows when:
- The Git repository doesn't have a valid HEAD (no commits yet)
- There are encoding issues with Git output
**Solutions:**
1. Make sure you have at least one commit in your Git repository:
```powershell
git status # Check if you have uncommitted changes
git add .
git commit -m "Initial commit"
```
2. If the error persists, you can skip `tox` locally and rely on the CI/CD pipeline to run it when you create a pull request.
3. Alternatively, run the tests manually for your Python version:
```powershell
poetry run pytest --doctest-modules
```
### Make commands don't work on Windows
If you're on Windows and `make` is not available, use the PowerShell equivalent commands documented in steps 7 and 8 above, or install `make` for Windows (e.g., via Chocolatey: `choco install make`).