|7 days ago||about 3 hours ago|
|MIT License||Apache License 2.0|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Statically typed Python
7 projects | reddit.com/r/Python | 30 Nov 2021
Facebook/Instagram uses Pyre which is a typechecker for Python.
facebook/pyre-check - Performant type-checking for python.
1 project | reddit.com/r/GithubSecurityTools | 16 Oct 2021
OCaml at Bloomberg 'we use OCaml to write DSLs and production services –'
2 projects | news.ycombinator.com | 23 Aug 2021
I'd be curious if the pyre-check compilation is any faster for you either by removing the inlining optimization flag (the `-Oclassic` here https://github.com/facebook/pyre-check/blame/36243764ab81a82...) or whether there's a way to compile pyre-check to bytecode instead of the native compilation step (which unfortunately it looks like there's no easy way to modify pyre-check's build config to do so).2 projects | news.ycombinator.com | 23 Aug 2021
I must be doing something wrong.
Write better Python - with some help!
7 projects | dev.to | 3 Aug 2021
Some other good alternatives for type checking are Pyright (which is seen in VSCode via Microsofts PyLance plugin) and Pyre.
12 Months of Rust, 50k+ changed lines of code, 8 design iterations. The extent of writing an async ASGI web server in Rust for Python for a 10% performance increase.
3 projects | reddit.com/r/rust | 30 Jun 2021
Sorry if this is something that you’re already aware of but there already exists a Python-related project with the same name which may lead to confusion. https://pyre-check.org
Pyre: A performant type-checker for Python 3
1 project | reddit.com/r/patient_hackernews | 10 May 20211 project | reddit.com/r/hackernews | 10 May 20216 projects | news.ycombinator.com | 10 May 2021
Adoption of Mypy for Python type checking: 45% already use it, 40% don't plan to
4 projects | news.ycombinator.com | 21 Mar 2021
Comparison of Python TOML parser libraries
19 projects | dev.to | 14 Dec 2021
On autoloading: a rant about rails
1 project | news.ycombinator.com | 5 Nov 2021
Python these days is sprouting type annotations all over the show, the benefits are too good to ignore.
And if a given library doesn't use type annotations, people will often create type stubs for it that mypy can consume.
Tests aren’t enough: Case study after adding type hints to urllib3
4 projects | news.ycombinator.com | 18 Oct 2021
I agree with all the benefits of mypy cited in this article. For me, most important thing for the long-term health of a codebase is its readability/maintainability, and mypy static typing makes such a huge difference for that in large Python codebases. I'm really excited to see large libraries doing this migration.
I'll add for folks thinking about this transition that we took a pretty different strategy for converting Zulip to be type-checked: https://blog.zulip.com/2016/10/13/static-types-in-python-oh-...
The post is from 2016 and thus a bit stale in terms of the names of mypy options and the like, but the incremental approach we took involved only using mypy's native exclude tooling, and might be useful for some projects thinking about doing this transition.
One particular convention that I think many other projects may find useful is how we do `type: ignore` in comments in the Zulip codebase, which is to have a second comment on the line explaining why we needed a `type: ignore`, like so:
* # type: ignore[type-var] # https://github.com/python/typeshed/issues/4234
* # type: ignore[attr-defined] # private member missing from stubs
* # type: ignore[assignment] # Apparent mypy bug with Optional[int] setter.
* # type: ignore[misc] # This is an undocumented internal API
We've find this to be a lot more readable than using the commit message to record why we needed a `type: ignore`, and in particular it makes the work of removing these with time feel a lot more manageable to have the information organized this way.
(And we can have a linter enforce that `type: ignore` always comes with such a comment).
Python has some useful commands
1 project | reddit.com/r/ProgrammerHumor | 16 Jul 2021
Type stub files usually have plenty.
I packaged python typeshed annotations to AUR
1 project | reddit.com/r/archlinux | 7 Jul 2021
Typeshed is the python annotation to third party libraries. (for example python-toml) For some reason it was missing from both official or AUR. Probably because it did not come with an install script so I had to create my own.
Mypy 0.900 Released
3 projects | reddit.com/r/Python | 9 Jun 2021
I have a feeling this is an edge case in how the numbers tower works (unlikely) or I don’t understand how the type hints work for int: https://github.com/python/typeshed/blob/c601d5cf3d8968f3dc1fe792bc1da5b43c6a9ed9/stdlib/builtins.pyi#L169
Python 3 Types in the Wild: A Tale of Two Type Systems [pdf]
6 projects | news.ycombinator.com | 14 Apr 2021
I wonder if that's a mypy issue or more that the typeshed types are bugged, since type shed versions also get shipped (used to?) with new type checker versions.
What are some alternatives?
mypy - Optional static typing for Python
pytype - A static type analyzer for Python code
pyright - Static type checker for Python
typing - Python static typing home. Contains the source for typing_extensions and the documentation. Also hosts a user help forum.
flask-parameter-validation - Get and validate all Flask input parameters with ease.
NumPy - The fundamental package for scientific computing with Python.
psst - Fast and multi-platform Spotify client with native GUI
mamba - The Fast Cross-Platform Package Manager
librespot - Open Source Spotify client library
isort - A Python utility / library to sort imports.
spot - Native Spotify client for the GNOME desktop