PEP 760: No more bare excepts

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. proposal-pipeline-operator

    A proposal for adding a useful pipe operator to JavaScript.

    https://peps.python.org/pep-0584/ is the PEP for merging dictionaries; sadly, it barely mentions pipes as a consideration.

    To be fair, the notion that pipes are lower-priority than other syntax needs is not exclusive to Python: in the JS world, discussion in https://github.com/tc39/proposal-pipeline-operator and specifically https://github.com/tc39/proposal-pipeline-operator/wiki/Bike... has been going on since 2018, with things like Tuple Literals taking precedence.

    On the Python side, though, at least you can build your own pipes! You can define various helper classes that have, say, an `__rrshift__` method, to let you do the following with full type-checking support:

    load_iterable_from_db() >> to_dict_by("id") >> tee(logger) >> call_(dict.values) >> to_dataframe

    (With great apologies to FP folks who see a bind operator, and C++ folks who have seen enough operator overloading for a lifetime!)

    Not necessarily something you want to use unless you want to confuse your team, but quite useful for fluent code in notebooks!

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. mailman

    ...

    TypeError will bubble up. If you want to catch everything, and handle it, like the example from Mailman[0], you should catch the base exception anyways.

    This can be solved and detected by static analysis tools anyways.

    [0]: https://gitlab.com/mailman/mailman/-/blob/master/src/mailman...

  4. pip

    The Python package installer

    "seatbelts and cushions" is not how I'd describe a package manager that can run arbitrary code from the downloaded package when you explicitly tell it "please only download this", simply because it wants to verify that building it will result in it having name and version metadata that matches what you asked for (https://github.com/pypa/pip/issues/1884).

    This is not fixed in 24.2 btw, even if you do everything according to the latest standards - you're still allowed and expected to have a setup.py if you choose Setuptools as your backend and you release an sdist with a non-trivial build step. 24.3 should be out some time this month and I'll be interested to see if they've finally done something about this issue, which has existed for almost the entire lifetime of Pip.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • PEP 486 – Make the Python Launcher aware of virtual environments (2015)

    3 projects | news.ycombinator.com | 19 Feb 2025
  • Venvstacks: Virtual Environment Stacks for Python

    2 projects | news.ycombinator.com | 3 Nov 2024
  • Things I've learned serving on the board of the Python Software Foundation

    2 projects | news.ycombinator.com | 24 Sep 2024
  • Rye and Uv: August Is Harvest Season for Python Packaging

    5 projects | news.ycombinator.com | 21 Aug 2024
  • Python packaging scenarios by the creators of ruff

    4 projects | news.ycombinator.com | 2 Jul 2024

Did you know that Python is
the 2nd most popular programming language
based on number of references?