Python 3.13.0 Is Released

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. CPython

    The Python programming language

    > It’s doing hash table lookups per variable access.

    That hasn't been true for many variable accesses for a very long time. LOAD_FAST, LOAD_CONST, and (sometimes) LOAD_DEREF provide references to variables via pointer offset + chasing, often with caches in front to reduce struct instantiations as well. No hashing is performed. Those access mechanisms account for the vast majority (in my experience; feel free to check by "dis"ing code yourself) of Python code that isn't using locals()/globals()/eval()/exec() tricks. The remaining small minority I've seen is doing weird rebinding/shadowing stuff with e.g. closures and prebound exception captures.

    https://github.com/python/cpython/blob/10094a533a947b72d01ed...

    https://github.com/python/cpython/blob/10094a533a947b72d01ed...

    So too for object field accesses; slotted classes significantly improve field lookup cost, though unlike LOAD_FAST users have to explicitly opt into slotting.

    Don't get me wrong, there are some pretty regrettably ordinary behaviors that Python makes much slower than they need to be (per-binding method refcounting comes to mind, though I hear that's going to be improved). But the old saw of "everything is a dict in python, even variable lookups use hashing!" has been incorrect for years.

  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. docker-pyenv

    Dockerfile with Automated Builds that has pyenv built in for easy versioning of Python! :)

  4. pyright

    Static Type Checker for Python

    disclaimer: I don't work on big codebases.

    Pylance with pyright[0] while developing (with strict mode) and mypy[1] with pre-commit and CI.

    Previously, I had to rely on pyright in pre-commit and CI for a while because mypy didn’t support PEP 695 until its 1.11 release in July.

    [0] -- https://github.com/microsoft/pyright

    [1] -- https://github.com/python/mypy

  5. mypy

    Optional static typing for Python

    disclaimer: I don't work on big codebases.

    Pylance with pyright[0] while developing (with strict mode) and mypy[1] with pre-commit and CI.

    Previously, I had to rely on pyright in pre-commit and CI for a while because mypy didn’t support PEP 695 until its 1.11 release in July.

    [0] -- https://github.com/microsoft/pyright

    [1] -- https://github.com/python/mypy

  6. ruff

    An extremely fast Python linter and code formatter, written in Rust.

    I agree, it's unreasonable to expect devs to know the whole standard library. The VSCode extension Pylance does give a warning when this happens. I thought linters might also check this. The one I use doesn't, maybe the issue[0] I just created will lead to it being implemented.

    [0]: https://github.com/astral-sh/ruff/issues/13676

  7. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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

  • Faster Python Linter and Formatter

    1 project | dev.to | 8 Jan 2025
  • UV - A Ferramenta que Simplifica o Gerenciamento de Ambientes e Dependências no Python

    2 projects | dev.to | 14 Nov 2024
  • Adding Static Analysis Tools to Maintain the Code Quality

    2 projects | dev.to | 1 Nov 2024
  • Fast Development: Lint

    1 project | dev.to | 29 Sep 2024
  • Integrating the ruff language server

    5 projects | dev.to | 15 Jul 2024

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