Pur

Dev tools

dependency management

SHOW HN2016

Pur

Update your requirements.txt file with Pur in Python

github.com

#requirements.txt#pip#python dependencies#pip upgrade

35points
26comments
#915of 2,264 in 2016
Top 41%of 2016 by points

How HN took it

DebatedReal support and real criticism

3 positive, 4 neutral or asking, 0 mixed, 5 critical, out of 12 comments about the project. Thread score -0.06.

Idea: 3 for, 3 againstDesign: 0 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Fills a long-needed gap in pip workflows

    From 2 comments
    • Finally! I've been needing this for a long time. Great that it doesn't force package installs on you...
      vanesa- on HN
    • Same here, needed this for a long time. I wasn't going to keep a duplicate requirements-to-freeze.txt file around [1] so created this tool. [1]…
      welder on HN
  • Makes updating all package versions easy with tests

    From 1 comment
    • This makes updating all versions easy. You run a tool like Pur then run your tests. If they pass, you commit and push the requirements.txt changes.
      michaelmior on HN

Objections

  • Upgrading one package at a time is safer for finding breakage

    From 3 comments
    • Why would you want to update requirements.txt before testing against the new package version first? My dependency upgrade workflow for a Python web app is usually: ``` run pip…
      tedmiston on HN
    • Testing packages 1 by 1 finds any bugs and the exact package that caused it immediately, but you could just upgrade all of them and see if it fails. If it does a git-bisect could…
      orf on HN
    • My main project has ~30. But still I prefer to go one at a time, especially with a major version bump, for the sake of understanding exactly what breaks. Perhaps it's just a…
      tedmiston on HN
  • Existing tools like pip-review and pip-tools already cover this

    From 2 comments
    • Seems similar to the features offered by pip-tools [1] and pip-review [2]. If you want to automate updating your requirements file, take a look at requires.io [3]. [1]…
      di on HN
    • If that's the desired behavior, it's already pretty easy by piping the outdated package list into upgrade. ``` pip list --outdated | sed 's/(.*//g' | xargs pip install -U pip…
      tedmiston on HN

Requests

  • Handle comments, git-installed packages and recursive dependencies

    From 1 comment
    • What about comments, packages installed via git, recursive packages?
      welder on HN

Questions

  • Why update requirements.txt before testing against new versions

    From 1 comment
    • Why would you want to update requirements.txt before testing against the new package version first? My dependency upgrade workflow for a Python web app is usually: ``` run pip…
      tedmiston on HN

Alternatives named

  • pip-review

    From 2 comments
    • Seems similar to the features offered by pip-tools [1] and pip-review [2]. If you want to automate updating your requirements file, take a look at requires.io [3]. [1]…
      di on HN
    • If that's the desired behavior, it's already pretty easy by piping the outdated package list into upgrade. ``` pip list --outdated | sed 's/(.*//g' | xargs pip install -U pip…
      tedmiston on HN
  • pip-tools

    From 2 comments
    • Seems similar to the features offered by pip-tools [1] and pip-review [2]. If you want to automate updating your requirements file, take a look at requires.io [3]. [1]…
      di on HN
    • There is a popular tool for this approach: https://github.com/nvie/pip-tools
      kennell on HN
  • requires.io

    From 2 comments
    • Seems similar to the features offered by pip-tools [1] and pip-review [2]. If you want to automate updating your requirements file, take a look at requires.io [3]. [1]…
      di on HN
    • If you use requires.io with Github, it can optionally make a PR to update your requirements.txt for you.
      di on HN
  • hashin

    From 1 comment
    • hashin does something similar but supports cryptographic hashes that pip 8 understands. https://pypi.python.org/pypi/hashin
      peterbe on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/11659707)