when should I pin deps: never and always! (intermediate) anthony explains

Ғылым және технология

fine I'll make a video about it -- here's my stance on pinning dependencies and why I do what I do in the different scenarios.
playlist: • anthony explains
==========
twitch: / anthonywritescode
dicsord: / discord
twitter: / codewithanthony
github: github.com/asottile
stream github: github.com/anthonywritescode
I won't ask for subscriptions / likes / comments in videos but it really helps the channel. If you have any suggestions or things you'd like to see please comment below!

Пікірлер: 25

  • @slippydouglas
    @slippydouglas Жыл бұрын

    Across all languages/platforms I’ve always followed the same rule: Don’t pin while in active new development; do pin for stable releases/branches/deployments. While in development you want to use the latest & greatest, and dealing with changes in underlying libs isn’t a huge deal. For stable releases you want to ensure that it will continue working exactly as-is, and underlying libs are only updated when you can ensure they fix bugs without anything in your app/deployment breaking.

  • @sillybuttons925
    @sillybuttons925 Жыл бұрын

    poetry for sure spread the python_requires upper bound thing by defaulting to it.

  • @karolinajankowska453
    @karolinajankowska453 Жыл бұрын

    Thanks for this straightforward explanation!

  • @atugushev
    @atugushev Жыл бұрын

    Finally my favorite topic!

  • @AceofSpades5757
    @AceofSpades5757 Жыл бұрын

    This was very informative, thanks!

  • @OrCarmi
    @OrCarmi Жыл бұрын

    Looking at the title, I was kinda expecting this to be a KZread Short with you just yelling "YES" 😂 All kidding aside, this was a great and very informative video! Thank you!

  • @kai3341
    @kai3341 Жыл бұрын

    Thank you for video. It's interesting oppinion.

  • @Robert-en8zm
    @Robert-en8zm Жыл бұрын

    what keyboard is that?

  • @Squeemos
    @Squeemos Жыл бұрын

    I know this is unrelated to the video, but have you seen PEP 703? And if so, what are your thoughts on it?

  • @anthonywritescode

    @anthonywritescode

    Жыл бұрын

    yeah I covered it long before it became a PEP: kzread.info/dash/bejne/aJtrm9OAgdKYXbQ.html

  • @oleksandrpopovych4841
    @oleksandrpopovych4841 Жыл бұрын

    I'm curious why you didn't chose poetry or pipenv to have transitive dependencies locked? (I'm not familiar with piptools, so maybe it boils down to taste preferences)

  • @anthonywritescode

    @anthonywritescode

    Жыл бұрын

    why use a broken chainsaw when a screwdriver works fine

  • @sergeyf6536

    @sergeyf6536

    Жыл бұрын

    kzread.info/dash/bejne/eaZt0ZqGh8LWkpM.html

  • @TheAulto

    @TheAulto

    Жыл бұрын

    I can present a few reasons from my experience as to why I prefer piptools instead of poetry: - piptools pulls in 6 dependencies when installed. poetry pulls in 44. - piptools can live in the same environment as the dependencies it manages (actually it’s designed to be like this). poetry must live *outside* your environment, otherwise it’s going to remove a few of its many dependencies and commit sudoku in the process - poetry has changed their recommended installation method a few times and it’s still iffy, plus the fiasco of the intentional 5% chance to break when using the unsupported installation method That’s why I pick piptools

  • @Ash-qp2yw

    @Ash-qp2yw

    Жыл бұрын

    I’ve never heard anything good about poetry - especially when a single setup.cfg file does everything so much simpler without needing to learn a random bloated tool

  • @burnere633
    @burnere633 Жыл бұрын

    At 6:17 - pip-chill kind of does what you have in mind, I think.

  • @anthonywritescode

    @anthonywritescode

    Жыл бұрын

    yeah I'm not looking for tool suggestions -- I've already written what I have in mind once and when I actually need to solve the problem for myself again I'll rewrite it

  • @CreatingNull

    @CreatingNull

    Жыл бұрын

    Well I appreciate the comment, definitely going to have a look at the project.

  • @piercekelaita9583
    @piercekelaita95833 ай бұрын

    What's the advantage of including third party dependencies in your requirements for apps/microservices? Doesn't just including your first-party deps and pinning each to its version have the same effect, since it won't bump the third-party dep versions if first-party dep versions are not bumped?

  • @anthonywritescode

    @anthonywritescode

    3 ай бұрын

    if transitive dependencies are not pinned pip will satisfy them with the newest version possible

  • @piercekelaita9583

    @piercekelaita9583

    3 ай бұрын

    @@anthonywritescode Interesting! Great video.

  • @sinamobasheri
    @sinamobasheri Жыл бұрын

    Hey Anthony 👋🏻, don't do that! Don't do the thumbnail face!, KZread is full of that and believe me most of thumbnail face videos have a shitty content but your content is valuable, pleas reconsider videos thumbnail

  • @Ash-qp2yw

    @Ash-qp2yw

    Жыл бұрын

    It’s well noted that they tend to attract more clicks than other thumbnail designs (go listen to Linus Sebastian talk about them - he hates them but still uses them because they generate more money)

  • @anthonywritescode

    @anthonywritescode

    Жыл бұрын

    it tripled my metrics

  • @sinamobasheri

    @sinamobasheri

    Жыл бұрын

    @@anthonywritescode wow so people are really in to the shocked! faces 😶‍🌫️

Келесі