-
Notifications
You must be signed in to change notification settings - Fork 2.7k
[Feature]: Streamlining the setup using package managers #2319
Copy link
Copy link
Open
Labels
Check up neededMight be able to delete this soon check up on it againMight be able to delete this soon check up on it againdependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededkeeppythonPull requests that update python codePull requests that update python code
Metadata
Metadata
Assignees
Labels
Check up neededMight be able to delete this soon check up on it againMight be able to delete this soon check up on it againdependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededkeeppythonPull requests that update python codePull requests that update python code
Summary
Using a package manager to have a concrete setup like
uvinstead of a plainrequirements.txtIs your feature request related to a problem?
So normally, while a
requirements.txtfile 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, 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.lockfile, 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.txtDescribe the solution you'd like
Setting up this project to use uv package manager, and setup any required elements like a
.python-versionfile, 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