home.social

#pyrefly — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #pyrefly, aggregated by home.social.

  1. Lessons from #Pyre that Shaped #Pyrefly

    "Building a #typechecker is ultimately a deeply pragmatic exercise. It is easy to get lost in the weeds of type theory, but at the end of the day, we are building a tool that developers have to live with every single day. We chose usability over absolute soundness, and we built an architecture that embraces #Python's dynamism instead of fighting it."

    pyrefly.org/blog/lessons-from-

    @pythonbytes @mkennedy

  2. Lessons from #Pyre that Shaped #Pyrefly

    "Building a #typechecker is ultimately a deeply pragmatic exercise. It is easy to get lost in the weeds of type theory, but at the end of the day, we are building a tool that developers have to live with every single day. We chose usability over absolute soundness, and we built an architecture that embraces #Python's dynamism instead of fighting it."

    pyrefly.org/blog/lessons-from-

    @pythonbytes @mkennedy

  3. Lessons from that Shaped

    "Building a is ultimately a deeply pragmatic exercise. It is easy to get lost in the weeds of type theory, but at the end of the day, we are building a tool that developers have to live with every single day. We chose usability over absolute soundness, and we built an architecture that embraces 's dynamism instead of fighting it."

    pyrefly.org/blog/lessons-from-

    @pythonbytes @mkennedy

  4. Lessons from #Pyre that Shaped #Pyrefly

    "Building a #typechecker is ultimately a deeply pragmatic exercise. It is easy to get lost in the weeds of type theory, but at the end of the day, we are building a tool that developers have to live with every single day. We chose usability over absolute soundness, and we built an architecture that embraces #Python's dynamism instead of fighting it."

    pyrefly.org/blog/lessons-from-

    @pythonbytes @mkennedy

  5. 🔍💥 Welcome to the #Python #type checker showdown nobody asked for! Watch as the nerds at #Pyrefly unleash a flood of #buzzwords, promising type-checking utopia while drowning developers in a sea of overly-complicated syntax. 🤯 Spoiler: nobody cares about your #type #completeness score, Pyrefly. 🙄
    pyrefly.org/blog/typing-confor #Checking #Developer #Struggles #HackerNews #ngated

  6. 🔍💥 Welcome to the #Python #type checker showdown nobody asked for! Watch as the nerds at #Pyrefly unleash a flood of #buzzwords, promising type-checking utopia while drowning developers in a sea of overly-complicated syntax. 🤯 Spoiler: nobody cares about your #type #completeness score, Pyrefly. 🙄
    pyrefly.org/blog/typing-confor #Checking #Developer #Struggles #HackerNews #ngated

  7. 🔍💥 Welcome to the #Python #type checker showdown nobody asked for! Watch as the nerds at #Pyrefly unleash a flood of #buzzwords, promising type-checking utopia while drowning developers in a sea of overly-complicated syntax. 🤯 Spoiler: nobody cares about your #type #completeness score, Pyrefly. 🙄
    pyrefly.org/blog/typing-confor #Checking #Developer #Struggles #HackerNews #ngated

  8. 🔍💥 Welcome to the #Python #type checker showdown nobody asked for! Watch as the nerds at #Pyrefly unleash a flood of #buzzwords, promising type-checking utopia while drowning developers in a sea of overly-complicated syntax. 🤯 Spoiler: nobody cares about your #type #completeness score, Pyrefly. 🙄
    pyrefly.org/blog/typing-confor #Checking #Developer #Struggles #HackerNews #ngated

  9. 🔍💥 Welcome to the #Python #type checker showdown nobody asked for! Watch as the nerds at #Pyrefly unleash a flood of #buzzwords, promising type-checking utopia while drowning developers in a sea of overly-complicated syntax. 🤯 Spoiler: nobody cares about your #type #completeness score, Pyrefly. 🙄
    pyrefly.org/blog/typing-confor #Checking #Developer #Struggles #HackerNews #ngated

  10. 🚀 Pyrefly: the trailblazing type checker that'll make your #IDE shine like a supernova! If you're eagerly waiting to compare empty containers while flying through type hints at light speed, #Pyrefly has got you covered. 💫 Who knew #debugging #Python could be this thrilling? 🙄
    pyrefly.org/blog/container-inf #TypeChecker #Innovation #HackerNews #ngated

  11. 🚀 Pyrefly: the trailblazing type checker that'll make your #IDE shine like a supernova! If you're eagerly waiting to compare empty containers while flying through type hints at light speed, #Pyrefly has got you covered. 💫 Who knew #debugging #Python could be this thrilling? 🙄
    pyrefly.org/blog/container-inf #TypeChecker #Innovation #HackerNews #ngated

  12. 🚀 Pyrefly: the trailblazing type checker that'll make your #IDE shine like a supernova! If you're eagerly waiting to compare empty containers while flying through type hints at light speed, #Pyrefly has got you covered. 💫 Who knew #debugging #Python could be this thrilling? 🙄
    pyrefly.org/blog/container-inf #TypeChecker #Innovation #HackerNews #ngated

  13. 🚀 Pyrefly: the trailblazing type checker that'll make your #IDE shine like a supernova! If you're eagerly waiting to compare empty containers while flying through type hints at light speed, #Pyrefly has got you covered. 💫 Who knew #debugging #Python could be this thrilling? 🙄
    pyrefly.org/blog/container-inf #TypeChecker #Innovation #HackerNews #ngated

  14. 🚀 Pyrefly: the trailblazing type checker that'll make your #IDE shine like a supernova! If you're eagerly waiting to compare empty containers while flying through type hints at light speed, #Pyrefly has got you covered. 💫 Who knew #debugging #Python could be this thrilling? 🙄
    pyrefly.org/blog/container-inf #TypeChecker #Innovation #HackerNews #ngated

  15. Pyrefly giới thiệu 4 mẫu thu hẹp loại dữ liệu giúp kiểm tra kiểu trong Python trực quan hơn qua: 1. hasattr/getattr, 2. tagged unions, 3. kiểm tra độ dài tuple, 4. lưu điều kiện trong biến. Pyrefly hiện là trình kiểm tra kiểu duy nhất hỗ trợ đầy đủ các mẫu này. Tìm hiểu thêm tại trang chủ hoặc GitHub. #Python #TypeChecking #Pyrefly #LậpTrình #KiểmTraKiểu

    reddit.com/r/programming/comme

  16. With high-performance #Python type checkers like #Pyright, #Pyrefly, and #ty now available, what's the value proposition of #Mypy? Is it the reference implementation? Or does Mypy still have the most features? I'm not trying to knock Mypy, I'm genuinely asking because I don't know.

  17. With high-performance #Python type checkers like #Pyright, #Pyrefly, and #ty now available, what's the value proposition of #Mypy? Is it the reference implementation? Or does Mypy still have the most features? I'm not trying to knock Mypy, I'm genuinely asking because I don't know.

  18. With high-performance #Python type checkers like #Pyright, #Pyrefly, and #ty now available, what's the value proposition of #Mypy? Is it the reference implementation? Or does Mypy still have the most features? I'm not trying to knock Mypy, I'm genuinely asking because I don't know.

  19. With high-performance #Python type checkers like #Pyright, #Pyrefly, and #ty now available, what's the value proposition of #Mypy? Is it the reference implementation? Or does Mypy still have the most features? I'm not trying to knock Mypy, I'm genuinely asking because I don't know.

  20. With high-performance #Python type checkers like #Pyright, #Pyrefly, and #ty now available, what's the value proposition of #Mypy? Is it the reference implementation? Or does Mypy still have the most features? I'm not trying to knock Mypy, I'm genuinely asking because I don't know.

  21. Let's say you want to do good type-checking for the #Python project you're working on. You pick a tool, maybe you use it as an #LSP also (so your editor can show you errors, too). As an example, I'm using #Ty at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).

    Where should you install it?

    If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.

    The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!

    As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.

    #BasedPyright #Pyrefly #Ruff #PreCommit #CodeSpell #Homebrew

  22. Let's say you want to do good type-checking for the #Python project you're working on. You pick a tool, maybe you use it as an #LSP also (so your editor can show you errors, too). As an example, I'm using #Ty at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).

    Where should you install it?

    If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.

    The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!

    As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.

    #BasedPyright #Pyrefly #Ruff #PreCommit #CodeSpell #Homebrew

  23. Let's say you want to do good type-checking for the project you're working on. You pick a tool, maybe you use it as an also (so your editor can show you errors, too). As an example, I'm using at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).

    Where should you install it?

    If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.

    The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!

    As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.

  24. Let's say you want to do good type-checking for the #Python project you're working on. You pick a tool, maybe you use it as an #LSP also (so your editor can show you errors, too). As an example, I'm using #Ty at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).

    Where should you install it?

    If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.

    The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!

    As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.

    #BasedPyright #Pyrefly #Ruff #PreCommit #CodeSpell #Homebrew

  25. Let's say you want to do good type-checking for the #Python project you're working on. You pick a tool, maybe you use it as an #LSP also (so your editor can show you errors, too). As an example, I'm using #Ty at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).

    Where should you install it?

    If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.

    The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!

    As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.

    #BasedPyright #Pyrefly #Ruff #PreCommit #CodeSpell #Homebrew

  26. Well … I get symbol renaming if I use as my

  27. It seems like my #Pyrefly problem isn’t related to my #AdventOfCode project. Before pyrefly, I could rename a symbol throughout the project. With pyrefly, I can’t. More investigation needed.

  28. It seems like my #Pyrefly problem isn’t related to my #AdventOfCode project. Before pyrefly, I could rename a symbol throughout the project. With pyrefly, I can’t. More investigation needed.

  29. It seems like my problem isn’t related to my project. Before pyrefly, I could rename a symbol throughout the project. With pyrefly, I can’t. More investigation needed.

  30. It seems like my #Pyrefly problem isn’t related to my #AdventOfCode project. Before pyrefly, I could rename a symbol throughout the project. With pyrefly, I can’t. More investigation needed.

  31. Working on #AdventOfCode. My plan was to solve each day in both #Python and #RustLang. I thought I would be further by now. Yes, my Python answer to day 1 solves both parts, but I'm trying to be exemplary: good names, docstrings, comments-where-needed, tests, project structure, all the things.

    For some reason, #HelixEditor keeps complaining about the #LSP (using both #Pyrefly and #Ruff, as usual). I'm concerned I haven't set things up right somehow, but I don't yet see where I've gone wrong.

    Once this is working, further days will be easy. At least ... I hope!

  32. Working on #AdventOfCode. My plan was to solve each day in both #Python and #RustLang. I thought I would be further by now. Yes, my Python answer to day 1 solves both parts, but I'm trying to be exemplary: good names, docstrings, comments-where-needed, tests, project structure, all the things.

    For some reason, #HelixEditor keeps complaining about the #LSP (using both #Pyrefly and #Ruff, as usual). I'm concerned I haven't set things up right somehow, but I don't yet see where I've gone wrong.

    Once this is working, further days will be easy. At least ... I hope!

  33. Working on . My plan was to solve each day in both and . I thought I would be further by now. Yes, my Python answer to day 1 solves both parts, but I'm trying to be exemplary: good names, docstrings, comments-where-needed, tests, project structure, all the things.

    For some reason, keeps complaining about the (using both and , as usual). I'm concerned I haven't set things up right somehow, but I don't yet see where I've gone wrong.

    Once this is working, further days will be easy. At least ... I hope!

  34. Working on #AdventOfCode. My plan was to solve each day in both #Python and #RustLang. I thought I would be further by now. Yes, my Python answer to day 1 solves both parts, but I'm trying to be exemplary: good names, docstrings, comments-where-needed, tests, project structure, all the things.

    For some reason, #HelixEditor keeps complaining about the #LSP (using both #Pyrefly and #Ruff, as usual). I'm concerned I haven't set things up right somehow, but I don't yet see where I've gone wrong.

    Once this is working, further days will be easy. At least ... I hope!

  35. Working on #AdventOfCode. My plan was to solve each day in both #Python and #RustLang. I thought I would be further by now. Yes, my Python answer to day 1 solves both parts, but I'm trying to be exemplary: good names, docstrings, comments-where-needed, tests, project structure, all the things.

    For some reason, #HelixEditor keeps complaining about the #LSP (using both #Pyrefly and #Ruff, as usual). I'm concerned I haven't set things up right somehow, but I don't yet see where I've gone wrong.

    Once this is working, further days will be easy. At least ... I hope!