Contributions are welcome and highly appreciated!
If you have any feature suggestions or encounter any bugs, please create an issue in the project's repository. The case will be reviewed and if it is legitimate, you are welcome to work on addressing the issue and creating a pull request.
Check out the TODO file for a list of pending tasks and future improvements.
To start working on this project, first, clone the repository:
git clone https://github.com/realshouzy/YTDownloader.git && cd YTDownloader
It is highly recommended to utilize a virtual environment to develop on this project. The easiest way to set up a virtual environment is by using tox:
tox devenv venv
Otherwise you could also use virtualenv
or venv
.
To install all the tools, plugins and other dependencies used for development, run this:
pip install -r requirements-dev.txt
With the environment activated run:
pre-commit install
This project utilizes tox
, so to run everything (tests and pre-commit), run this:
tox r
Running only the tests can be done by running:
tox r -e py311 # or the interpreter version of choice
Alternatively, the tests can be directly run using:
pytest
To only run a specific test run:
pytest -k test_name_of_the_test
The linting and formatting is done using pre-commit
, thus run:
pre-commit run --all-files
If any questions should arise, feel free to create an issue and ask for assistance.
Thank you for understanding and your willingness to contribute to this project!