Hynek Schlawack
Hynek Schlawack
  • 5
  • 47 412
uv IS the Future of Python Packaging! 🐍📦
It's been six months since I asked whether #uv is the future of #Python packaging: th-cam.com/video/_FdjW47Au30/w-d-xo.html
With uv 0.3.0, the answer is IN and I'll tell you WHY, and WHAT’s missing to be the PRESENT of Python packaging.
🔗 Links
► Astral’s 0.3.0 announcement: astral.sh/blog/uv-unified-python-packaging
► Documentation for the new projects feature: docs.astral.sh/uv/concepts/projects/
► Cross-Platform Lockfiles PEP that didn't get done in time: discuss.python.org/t/lock-files-again-but-this-time-w-sdists/46593
► Production-ready Python Docker Containers with uv hynek.me/articles/docker-uv/
► Faster Coverage with uv in GitHub Actions: hynek.me/articles/ditch-codecov-python/
► Python standalone builds: github.com/indygreg/python-build-standalone
► MOPUp - a Python updater: pypi.org/project/MOPUp/
► deadsnakes: New and old Python versions for Ubuntu: launchpad.net/~deadsnakes/+archive/ubuntu/ppa
► Pipx: pipx.pypa.io/
► My favorite command runner Just: just.systems
► My cool shell prompt is made with Starship that works with any shell: starship.rs
► th-cam.com/video/ImBvrDvK-1U/w-d-xo.html
🤓 ME ELSEWHERE
🏡: hynek.me/
🐘: mastodon.social/@hynek/
🦋: bsky.app/profile/hynek.me
🅇: hynek
🧵: www.threads.net/@the_hynek
✉️ Newsletter: buttondown.email/hynek
❤️ Support my work: hynek.me/say-thanks/
🙏 CREDITS
Music: @RPLKTR / rplktr.com/
📖 Chapters
00:00 Intro
01:24 Quick rehash: What's uv? Pip, virtualenv, pip-tools.
02:46 The big 0.3.0 seismic shift
03:32 uv python: automatic Python installation
05:51 A hidden gem: uv python list
06:21 Projects & uv.lock
07:33 Pop quiz: `uv sync` in fresh checkout
08:37 Different types of "faster"
09:21 (Not) activating virtualenvs & uv run
10:25 🥲
10:38 uv & production deployments
11:38 Miscellaneous stuff omitted
12:25 What's missing?
13:12 Missing: command runners
14:32 Missing: more than 1 dev dependency group
16:01 Missing: uv tool / uvx: no way to install deps's executables
16:41 Where does this all leave us THIS time?
17:09 Missing: FOSS package support
17:42 Accelerating CI pipelines
18:11 Criticism ⛈️
20:43 So IS it, like, the future?
23:05 ❤️❤️❤️
#python #uv #astral #packaging #devops
มุมมอง: 28 701

วีดีโอ

#NOX vs #TOX - WHAT are they for & HOW do you CHOOSE? 🐍
มุมมอง 2.6K6 หลายเดือนก่อน
🔗 Links ► tox.wiki/ ► nox.thea.codes/ ► th-cam.com/video/_FdjW47Au30/w-d-xo.html ► Two Ways to Turbo-Charge tox: hynek.me/articles/turbo-charge-tox/ ► Why I Like Nox: hynek.me/articles/why-i-like-nox/ 🤓 ME ELSEWHERE 🏡: hynek.me/ 🐘: mastodon.social/@hynek/ 🅇: hynek 🧵: www.threads.net/@the_hynek ✉️ Newsletter: buttondown.email/hynek ❤️ Support my work: hynek.me/say-thanks/ 🌍 My employ...
Is UV the FUTURE of Python PACKAGING? 🐍📦
มุมมอง 10K8 หลายเดือนก่อน
Six months later, the answer is in: th-cam.com/video/8UuW8o4bHbw/w-d-xo.html Astral’s uv burst without a warning into the Python scene and made a huge impression! How does it fare in the context of Python's packaging problems… and what ARE those problems in the first place?! 🔗 Links ► Cross-Platform Lockfiles are coming (hopefully): discuss.python.org/t/lock-files-again-but-this-time-w-sdists/4...
Loose Coupling & Dependency Injection the EASY Way! 🐍
มุมมอง 3.6K9 หลายเดือนก่อน
This is a pragmatic approach to loose coupling and dependency injection with a focus how at they core they’re SIMPLE concepts that improve YOUR life! And: have you heard of dependency location at all?! We‘ll use simple #Python to demonstrate all that! ► Learn more about my service location package: svcs.hynek.me/ ◀ 🤓 ME ELSEWHERE 🏡: hynek.me/ 🐘: mastodon.social/@hynek/ 🅇: hynek 🧵: w...
svcs: Robust & TESTABLE #Python Web Applications with ANY Framework!
มุมมอง 2.9K11 หลายเดือนก่อน
This is a quick intro to the svcs package - a flexible service locator for Python! Watch it if you want to improve the handling of your web application's services/dependencies/resources or if you want to learn what any of that means - and whether it's dependency injection! ► Learn more here: svcs.hynek.me/ ◀ ► Want svcs for DJANGO? Check out: github.com/django-svcs/django-svcs ► Love LITESTAR!?...

ความคิดเห็น

  • @netneutrality2024
    @netneutrality2024 5 วันที่ผ่านมา

    Thanks. A very helpful video that gave answers to all my questions. I'm going to replace pyenv and pip-tools with uv.

  • @leomak7580
    @leomak7580 18 วันที่ผ่านมา

    Cool channel. Happy to find it. Looking forward for nw vids

    • @The_Hynek
      @The_Hynek 18 วันที่ผ่านมา

      Thank you; you and I both! 😅

  • @ringpolitiet
    @ringpolitiet 19 วันที่ผ่านมา

    Love your style! Instant subscribe. And a great video. uv it is from now on.

  • @muhammadaneeqasif572
    @muhammadaneeqasif572 26 วันที่ผ่านมา

    can you please comment on uv in systems like nixow

    • @The_Hynek
      @The_Hynek 24 วันที่ผ่านมา

      sadly I can't, because I've bounced of NixOS many times. However, I've already heard from Nix friends that they plan on creating something like poetry2nix for uv's - and hopefully eventually Python's official - lock file format.

  • @dschonhaut
    @dschonhaut 28 วันที่ผ่านมา

    Coming from conda…wtf is this video about? I have never been more confused than right now

    • @The_Hynek
      @The_Hynek 24 วันที่ผ่านมา

      Conda has a very different scope than Python's packaging - it's closer to a Linux distribution than to an ecosystem packaging solution.

  • @timseguine2
    @timseguine2 หลายเดือนก่อน

    I have been a python fan since the python 1.5 days (and my previous language experience was pre-standard javascript and pre-standard C++, so I always found it quite impressive), but as great as I have always found it, it has often been hard to be a python fan. The build tooling and package management in a lot of other languages is so much better.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Which is why it's now time to celebrate! 🥳

  • @davidboreham
    @davidboreham หลายเดือนก่อน

    Imho writing tooling for language A in language B is a very bad smell. I get that Rust is a shiny object but now whoever is using the tool is unlikely to understand how to debug and fix the tool. Conversely those writing the tool don't need to understand the target language.

  • @robfielding8566
    @robfielding8566 หลายเดือนก่อน

    does this work with Mojo?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Sorry, I don’t know anything about Mojo beyond that it exists and that it‘s from Chris Lattner.

  • @pumpichank
    @pumpichank หลายเดือนก่อน

    Fantastic video! I really think you nailed both the technical and human aspects of this sea change in Python packaging. I especially appreciate how you called out all those giant shoulders the Astral folks are standing on. Ruff and uv are amazing tools and they are great partners in helping guide standards to keep interop, multi-culture, and innovation alive.

  • @marcus3d
    @marcus3d หลายเดือนก่อน

    "It automatically installs..." Uh? How? Where? How do I remove crap that some random uv thing automatically installed? How can I see what has been automatically installed? How does the automatically installed things integrate with proper system packages (say, on a debian-based distro)?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Where: `uv python dir` How to prevent: `UV_PYTHON_DOWNLOADS=never ` How does it integrate: it doesn't, that's the whole point. People have been begging for a decoupling forever. If you don't want that, the the env variable or pass `--no-python-downloads`. I set the variable in all my Docker base images.

    • @pradyunsg
      @pradyunsg หลายเดือนก่อน

      There's also configuration files at a project, user and (soon!) system level where you can configure this too.

  • @andrew.derevo
    @andrew.derevo หลายเดือนก่อน

    good stuff ❤

  • @ZarifAziz
    @ZarifAziz หลายเดือนก่อน

    wish there was a comparison done with poetry here

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I'm trying my best to follow the rough rule that I don't speak ill of other people's projects which has the unfortunate but inevitable consequence that I'll never speak about Poetry.

  • @enno1162
    @enno1162 หลายเดือนก่อน

    Pip is not replacaeable by uv pip. Order matters with uv pip. Pip probably does but I never managed to recreate it. With uv pip order matters albeit with a clear way how.

  • @RanaUniverse
    @RanaUniverse หลายเดือนก่อน

    so is uv is fully same as python pip, i have a problem to manage uv in offline machine pls help me anyone

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      If you need concrete help, I recommend dropping by Astral's Discord; people there tend to be very helpful discord.com/invite/c9MhzV8aU5

  • @0xBerto
    @0xBerto หลายเดือนก่อน

    So happy I found this channel (first video) I’d say I’m intermediate level so I definitely want to dig through your videos. Thank you!

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      thank you, thank you, thank you! 😊

  • @talideon
    @talideon หลายเดือนก่อน

    The only real issue I've had with uv is that "uv tool"/uvx has a slightly awkward interface compared to pipx. Otherwise, it's been a fantastic improvement over everything that's come before, and I'll be very happy when rye's functionality is fully integrated into it.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I still occasionally do `uvx run CMD` 😬 Supplanting Rye is a major goal, so only a matter of time.

  • @oasntet
    @oasntet หลายเดือนก่อน

    Boy, I sure hope IndyGreg's github account is never compromised, or he get libxz'd into accepting a PR he shouldn't... I'm amazed you didn't also show the infamous "there are now N+1 standards" XKCD as well. Because, yeah, I've never needed more than pip+virtualenv, sometimes a python manager like tox when needing a lot of python versions. I swear devs don't do an hour of research before diving into solving a problem that's already been solved, repeatedly.

  • @_BonsaiBen
    @_BonsaiBen หลายเดือนก่อน

    Love this content Hynek, funny and informative, and your email newsletter is awesome too :)

  • @MurtagBY
    @MurtagBY หลายเดือนก่อน

    So happy not to use attrs, you can't imagine! Just kidding =) The video has a great pitch, always like the videos despite me not having any idea of how packaging works. I simply use it and it rarely shoots me in the foot. Liked the experience of rye, if uv creates even better tool - I would happily use it in new projects

  • @javierflores09
    @javierflores09 หลายเดือนก่อน

    1:54 I gotta say, as a Java developer who only dabbles in python every once in a while, the whole deal with packaging, virtual environments, wheels and so on, has deeply confused me to no end, but after checking out your previous video all the unanswered questions I had in the back of my head have been resolved. Honestly surprised such a well-informed person with entertaining videos like yours has fallen under my radar till now! Instant new sub, hope you keep making videos explaining all these historical aspects about the Python ecosystem in such a concise manner

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I'm very glad to hear it did its purpose! The first video should probably have been two, but I suspect the uv angle lured more people in than if it were just about the packaging part. :)

    • @birdbeakbeardneck3617
      @birdbeakbeardneck3617 หลายเดือนก่อน

      name of the vid, i hav exact same need

  • @brenok
    @brenok หลายเดือนก่อน

    Just stumbled over your channel. Keep up the original style. There is charisma. The charisma of a software craftsman that knows his shit and has passion for it. That's the kind of person I love working with. Liked and subscribed :)

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Thank you for finding and appreciating my backcatalog! That video specifically is very dear to my heart. :)

  • @xDarknessCrusherx
    @xDarknessCrusherx หลายเดือนก่อน

    Great video as always! really happy about uv progress recent time, hope we will finally have at least somewhat standard for basic package management needs 😅 Also I really would like to see a video or a blogpost why to write python applications as a packages!

  • @chobblegobbler6671
    @chobblegobbler6671 หลายเดือนก่อน

    now remove that old video

  • @bennguyen1313
    @bennguyen1313 หลายเดือนก่อน

    So would astral's uv be an alternative to pip... or more like an alternative to nuitka?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Nuitka is a Python to C++ compiler, that's something different entirely. uv is only about packaging Python code and an alternative to Pip (since last video) and/or PDM/Poetry/Rye (since this video).

  • @MichaelMerickel
    @MichaelMerickel หลายเดือนก่อน

    I love it - keep being awesome Hynek.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      thank you Michael - always great to hear from you! 💜

  • @aspiring_millionaire
    @aspiring_millionaire หลายเดือนก่อน

    Man you have such a good banter, it's fun watching your content and hope to see more of you on here :)

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Thank you! And you and I both hope the same thing ;)

  • @mathiaz943
    @mathiaz943 หลายเดือนก่อน

    13:14 have you checked pixi yet?

  • @AbdolaMike
    @AbdolaMike หลายเดือนก่อน

    Love this video i subbed and enjoy your technical videos! i would love a workflow video about how you build an application with UV and how you use UVX with it. Or this could be a blog post whatever you prefer! keep it up!!

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Thank you! 💛 `uv tools` and `uvx` are tools that you don't use with your own project (that would be `uv run`). They are the replacement for `pipx`: so if you have Python tools that you want to use outside of projects, it manages virtualenvs (and Python versions) for you. For example `uvx --from httpie http httpbin.org/json` or `uv tool install --with tox-uv tox` (and then you can run `tox` in your shell whereever you are).

    • @GreatTaiwan
      @GreatTaiwan หลายเดือนก่อน

      @@The_Hynek would love migration video .. i think this fit with most people as a challenging usage while uv init to start a new project is the easiest to do

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      The problem with migration videos is "migrate from WHAT?" - one of the problems uv is solving is that currently there's virtually an infinite amount of workflows.

  • @MrAlanCristhian
    @MrAlanCristhian หลายเดือนก่อน

    Hi Hynek, good video. Can you make a detailed video of what it does that env+pip+weel+bash doesn't? Because other than the performance improvement, I don't see any other improvement over the default tools. Even the lacking stuff on uv can be done with what we already have. For example, to install development dependencies you just create a dev_requirement.txt and run pip install -r dev_requirements. What am I missing?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Until 0.3.0, it was all speed (see my older video - there's a lot more context). Now, most of what uv adds is comfort and misuse safety. As I say in the video: you can give a project to a total newb and they can run `uv run pytest` and uv takes care of EVERYTHING. They can git pull some updates that update dependencies and `uv run` again, and uv will make sure all updates are applied. This eliminates a lot of problems that plagued teams before. Finally, to borrow my own words: the cross platform lock file is the crown jewel of post-0.3.0 uv. It's a HUGE deal if you need to develop across architectures like I do (ARM vs Intel) or across operating systems (macOS vs Linux vs Windows). This works for .txt lock files only when the dependencies are exactly the same, which they often aren't. For this you used to have to use PDM and Poetry that come with their own sets of problems.

    • @MrAlanCristhian
      @MrAlanCristhian หลายเดือนก่อน

      @@The_Hynek thanks!!!

    • @GreatTaiwan
      @GreatTaiwan หลายเดือนก่อน

      @@The_Hynek so does uv run do uv sync first then actually run?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      For all intents and purposes, yes. If you always use `uv run`, any changes to uv.lock (e.g., a git pull) are applied automatically

    • @MrAlanCristhian
      @MrAlanCristhian หลายเดือนก่อน

      ​@@The_Hynek that's nice. I didn't realize that it joins a lot of tools together into a single one, included automatic git pulls and so on. It greatly simplifies the workflow.

  • @marcocaspers3136
    @marcocaspers3136 หลายเดือนก่อน

    A binary blob that never breaks? Uhm, yeah that just doesn't exist. Never has, never will.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      We have to see things in relation to the reality that we live in. Yes, there’s the heat end of universe. And yes, Go programs compiled on Jammy don’t work on Focal. But relative to the CURRENT jankiness of existing tools, it‘s IMHO fair to use the mild hyperbole of "never".

  • @hinzster
    @hinzster หลายเดือนก่อน

    uv being written in Rust isn't even a problem (as long as it works). Is nodejs written in javascript? No, it isn't. Bam, it's called precedence.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      There is a bit of history to this angst in the Python community: large parts used to be written in C and we worked for many years to port them to Python, if possible. Making it more approachable and maintainable. That’s how the Mastodon thread starts, in fact. Starting to add Rust is a step back in that sense, but IMO that isn’t really comparable. But it certainly does feel so for some.

  • @N0FPV
    @N0FPV หลายเดือนก่อน

    I didn't get a sense of how uv is going to be better or different than rye.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I cannot speak for Astral, but they’re maintaining both right now and made it clear that uv wi take over eventually: github.com/astral-sh/rye/discussions/1342 but not until its “better”: github.com/astral-sh/rye/discussions/1164 Since I don’t use Rye myself, I cannot weigh in on it usefully.

  • @DaveParr
    @DaveParr หลายเดือนก่อน

    Was sad and missing pycon UK in Cardiff this year. Was happy to accidentally discover you have a new yt channel!

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Same! I fell in love with it last year just to get it ripped away again. :(

  • @edwardmike7523
    @edwardmike7523 หลายเดือนก่อน

    at least show us a codebase, or how its done, so that even beginners can enjoy your content

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I cannot open-source our work repositories, but I promise I'll make a video once it's possible to use uv's project workflows for open-source projects (that aren't applications for Docker deployments etc).

  • @The_Hynek
    @The_Hynek หลายเดือนก่อน

    ❋ LIST OF CORRECTIONS AND UPDATES - last update 2024-10-26 ❋ As joked in the video, many of my points are not gonna live very long, so let me keep you up to date here! Firstly: at 13:55 I got confused by an asymmetry between `uv run --with DEPENDENCY` and `uv run --extra GROUP`. The latter changes the current venv, the former does NOT. Sorry! On with the updates: ► 10:11 As of 0.4.18 (one day after publishing! 😅), `uv run -m MODULE` works and you don't have to do `uv run python -m` as I say in the video. ► 14:32 As of 0.4.27 (2024-10-25), uv has multiple development groups!

  • @PaulSukys
    @PaulSukys หลายเดือนก่อน

    Loved the video and where uv is going, but isn't it a bit too bleeding edge for incorporating into projects to not require constant tracking and updating? As mentioned multiple times in the video, it's changing fast and many more things are yet to come/change

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Well, this is obviously a trade-off question and even more so a question of trust and incentives. So far, Astral hasn't broken anything they've officially shipped for me and given they want to be a viable alternative, I suspect they're gonna do their best to leave it that way. It's also not like other packaging tools never break. But again, there's no definitive answer but I can say for myself that the only things I had to change in my uv usage was the removal of work-arounds.

  • @JensRoland
    @JensRoland หลายเดือนก่อน

    Yeah we all know npm is the only tool you need… except for nvm, and ncu, and prettier, and typescript apparently, and node itself, or maybe bun, and really pnpm and yarn and deno….. indeed, ‘modern’ JavaScript is truly the example to follow.

    • @vincentemonet304
      @vincentemonet304 หลายเดือนก่อน

      Do you even know what you talking about? It's good to have options, so we can choose the best one for the use-case. Npm, pnpm, bun and yarn are all pretty good at doing their job. Apart from yarn which is now shit since no one knows if we should use v1 or v3 (where is v2? 😂 And v3 is complete shit, but at least they forced npm to improve perf). Diversity brings resilience and quality. Whereas pip is the worst piece of software ever written, everyday failing to install more and more packages for no reason, worst dependency resolution ever, can't give a helpful error message, and slow. And poetry is not using standard Pep 641 for pyproject.toml config + their optional dependency config is garbage. So any alternative is welcome! (Really can't wait to fully see pip go away, this is the worst software I have ever seen, no idea how it stays for so long) Ruff has already solved python formatting and linting (byebye flake and black, happy to forget them). So we can expect the astral team will continue building well designed tools. This space is even already better than JS because eslint is a pain to configure And uv comes packed with ruff. So you literally get npm, eslint, prettier, nvm with uv. All you need is something for static type checking.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I understand this is an emotional topic, but y’all aren’t disagreeing as much as y’all seem to think. I think it’s a good thing that uv is taking lessons from Rust and not JavaScript that is, as you admitted yourself, rather fragmented itself. Not to forget, that the whole npm platform is owned by Microsoft - which I suspect is one of the reasons why people are apprehensive of Astral being a company. We already have an npm-like package manager that I won’t name, because I hate it. “It’s good to have options.” is something we (myself very included) have been saying for years, but the normies disagreed.

  • @encapsulatio
    @encapsulatio หลายเดือนก่อน

    I've seen python talks from different pycons recommending Nix. Everything else new on the block is inferior, "even if it's built in Rust".

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      This seems like a false dichotomy right there. Devenv, for example, has uv support baked in. You don't have to use all of uv's features to benefit.

  • @yurisich
    @yurisich หลายเดือนก่อน

    I will continue using pyenv and manually symlinking into my virtual environments until uv implements the entire Python interpreter as a rust macro. Which is probably closer than many are comfortable admitting. In the mean time, thanks for making this.

    • @JD-qo9wk
      @JD-qo9wk หลายเดือนก่อน

      Wdym by manually symlinking?? I use pyenv + pyenv-virtualenv. The process of starting a new project is as simple as: 1. Create the venv: `pyenv-virtualenv 3.12.1 my-new-project`, 2. Ensure youre in the directory of your new project and then set it as the venv for the project's directory: `cd /some/path/myproject && pyenv local my-new-project`, and then you're ready to go. There's no manual symlinking required, hence why I'm confused by your comment..

    • @jackevansevo
      @jackevansevo หลายเดือนก่อน

      "implements the entire Python interpreter as a rust macro" wat

  • @alst4817
    @alst4817 หลายเดือนก่อน

    Nice shirt, man

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      💛💜

  • @torham
    @torham หลายเดือนก่อน

    I have a bad feeling that uv, ruff, and the other tools from Astral are going to end up being a bait and switch, no matter the intentions of some of the employees. I think I prefer not to use tooling from a for profit company.

    • @Ziggurat1
      @Ziggurat1 หลายเดือนก่อน

      That makes no sens! Just look at the other for profit companies that do open source tooling like redhat... Oh wait

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      A maintainer burning out is at least just as likely as Astral rug-pulling us. In both cases we as a community have to take over. For instance, there’s essentially no original pip author still on board.

    • @torham
      @torham หลายเดือนก่อน

      @@The_Hynek I think in many cases I might agree, but for core tooling I would rather have it in the hands of the python community. This would reduce the risk of a rug pull and simplify things going forward if the maintainer wants to retire. In addition to a complete rug-pull where the software is completely closed up, there are other in-between situations we could find ourselves in. Some of these are worse than losing access to new versions because they would split the user base. It is better to have an abandoned project than multiple concurrent forks such as in the case of Redis or Terraform.

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I mean I agree in general, the problem is that the community hasn’t produced anything comparable in over a decade of trying. The problem at hand (I talk about it more in my first video) is so much more complex than people realize, especially compared to Rust or JS. Astral is giving us a much-needed speed-bump, until the community has to take over again.

  • @echobucket
    @echobucket หลายเดือนก่อน

    If only python itself would include something good instead of relying on the community. How many package managers/ virtual environment managers do we need?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      There is no such thing as “Python itself”; there’s only the CPython core team of volunteers and they’ve made clear many times that they have no interest in doing that in addition to what they already have to do. Python is not a company, they can’t just will such things into existence by shuffling employees around. Ironically, there is a venv implementation inside CPython (Python -m venv) and it’s slow as molasses.

  • @monorepo
    @monorepo หลายเดือนก่อน

    thanks for wearing the good shirt

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      Now I feel like now I'll have to match my shirts to my takes!

  • @knolljo
    @knolljo หลายเดือนก่อน

    How do you get LSPs to work with uv if you don't activate the virtualenv, because the LSP can't see which third-party libraries are installed?

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I don't think that's what they mean. I mean I don't know what editor Charlie is using and you still need to pick your Python interpreter in, e.g., VS Code but I suspect that's not what he understands under "activating". Putting it into a well-known place (./.venv) has led IME to most tools auto-detecting it.

  • @MichaelGardner-x1j
    @MichaelGardner-x1j หลายเดือนก่อน

    I stopped using virtualenv a long time ago and migrated to devcontainers. Way better experience. Rarely am I in a situation where I need to do some matrix style testing. I'll give this a look.

  • @Michallote
    @Michallote หลายเดือนก่อน

    Can you please do a modern guide on how to package applications and specially how to develop through it?? My main use case are github repos that have medium to small src modules (4-6 modules minimum) and the production code are usually data processes running on a schedule (airflow) or on demand models (services with API). Just to give some context, I have noticed that when you create the pyproject.toml and do pip install -r requirements.txt it will also compile right then and there my code and leave it as a installed package, (yes the neccessary info like setuptools is in the toml, it is expected I suppose).

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      You need to install your package in editable mode, if you want your local changes to reflect in the virtualenv. You'll have to separate `pip install -r requirements.txt` for JUST the requirements and `pip install -e .` to install your package.

  • @pik910
    @pik910 หลายเดือนก่อน

    🤔that naming might be going to be confusing to google

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      yeah i usually search for "astral uv"

  • @be1tube
    @be1tube หลายเดือนก่อน

    I was poking around in the bazel rules_python source code last night. They have a lot of code labeled uv.

  • @tryh4rd999
    @tryh4rd999 หลายเดือนก่อน

    It would be nice a video about workspaces with uv

    • @The_Hynek
      @The_Hynek หลายเดือนก่อน

      I only talk about things I actually use, so y'all have to wait until I run into a monorepo. :) There's plenty of channels on TH-cam who just parrot docs & blog posts. 😬

    • @tryh4rd999
      @tryh4rd999 หลายเดือนก่อน

      @@The_HynekYeah, and from the docs is not really clear to me how it works (i don't have much experience too), it would be useless if people just repeat what is in the doc without really using it just for content on a channel. Hope to see a video about work-spaces with uv. There is not much content about uv yet.