elebumm / elebumm/RedditVideoMakerBot

[Feature]: Streamlining the setup using package managers

Open
#2,319 4 comments 0 reactions 2 assignees Claimed by @JasonLovesDoggo View on GitHub
Check up needed dependencies enhancement help wanted keep python
Dominant language
Python
Stars
12.5k
Forks
2.9k
PR merge metrics
No merged PRs in 30d

Description

### Summary

Using a package manager to have a concrete setup like `uv` instead of a plain `requirements.txt`

### Is your feature request related to a problem?

So normally, while a `requirements.txt` file is generally effective. There can be certain issues that could be possibly encountered during setup at times, like with package depedencies, varying Python versions (for example, this project required to be run in Python 3.10), and many more.

I wanted to propose using [uv](https://docs.astral.sh/[uv](https://docs.astral.sh/uv/)/), a modern Python package and project manager that offers improvements in speed, reproducibility, and better setup experience.
It creates a reproducible build using a `uv.lock` file, which specifies all the packages and their exact versions, hashes, etc. for a more consistent environment.

It also automatically creates a virtual environment, thereby not compromising the global Python environment as well by simply doing `pip install -r requirements.txt`

### Describe the solution you'd like

Setting up this project to use [uv](https://docs.astral.sh/[uv](https://docs.astral.sh/uv/)/) package manager, and setup any required elements like a `.python-version` file, to set the required Python version (3.10) for this project.

### Describe alternatives you've considered

The alternative in this case, would be using another package manager like Poetry (not recommended). This also manages Python packages in a similar way.

But uv is a more faster, more efficient way of managing both Python packages, as well as Python versions too.

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.