• 1 Post
  • 166 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle




    1. let pyproject.toml track the dependencies and dev-dependencies you actually care about
    • dependencies are what you need to run your application
    • dev-dependencies are not necessary to run your app, but to develop it (formatting, linting, utilities, etc)
    1. it can track exactly what’s needed ot run the application via the uv.lock file that contains each and every lib that’s needed.
    2. uv will install the needed Python version for you, completely separate from what your system is running.
    3. uv sync and uv run <application> is pretty much all you need to get going
    4. it’s blazingly fast in everything

  • pip3 freeze > requirements.txt

    I hate this. Because now I have a list of your dependencies, but also the dependencies of the dependencies, and I now have regular dependencies and dev-dependencies mixed up. If I’m new to Python I would have NO idea which libraries would be the important ones because it’s a jumbled mess.

    I’ve come to love uv (coming from poetry, coming from pip with a requirements/base.txt and requirements/dev.txt - gotta keep regular dependencies and dev-dependencies separate).

    uv sync

    uv run <application>

    That’s it. I don’t even need to install a compatible Python version, as uv takes care of that for me. It’ll automatically create a local .venv/, and it’s blazingly fast.