|3 months ago||3 days ago|
|GNU Library General Public License v2 or later||GNU General Public License v3.0 or later|
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.
Advice on training Python best practices
1 project | reddit.com/r/learnpython | 22 Nov 2021
Lint your code. I recommend pylama.
Code Quality Tools in Python
9 projects | dev.to | 9 Oct 2021
Linters analyze code to detect various categories of issues like logistical issue and stylistic issues. Some popular linters are Pylint, pycodestyle, Flake8 and Pylama.
mypy alternatives - pytype and pyright
3 projects | 30 Oct 2021
How to fix mypy warning for this function
2 projects | reddit.com/r/learnpython | 26 Oct 2021
For your interest, this indeed was unintended behaviour on the part of `mypy`. It has since been fixed, apparently: https://github.com/python/mypy/pull/111532 projects | reddit.com/r/learnpython | 26 Oct 2021
Just created a bug report for this. https://github.com/python/mypy/issues/11390
Setup development environment
4 projects | dev.to | 17 Oct 2021
6. Add Mypy to the virtual environment. Mypy is a static type checker for Python.
Do You Miss Strongly-Typed World When Coding in Python? [RE#8]
1 project | dev.to | 8 Oct 2021
Faster Python with Guido van Rossum
11 projects | news.ycombinator.com | 7 Oct 2021
I am seeing what the GP comment says in a codebase I manage, around 47k LOC. Not massive at all, but enough where the problems mentioned above start to pop up. This is an application that runs in servers to analyze traffic data, so it has both analysis code and also a lot of code for the analysis framework. It gets hard to manage. I have unit tests and also integration tests that cover some, but not all of the code paths (it's very hard in this case to have everything covered). Most of the times, when they fail is due to something that would have been caught by static typing.
The codebase is being slowly migrated to static typing. On one hand, as the parent says, the typing module is still immature and there are still some Python constructs (not too weird ones, see  for an example) that you can't type-check correctly. On the other hand, I like the fact that you can include typing slowly and not all at once, it makes the effort much easier to tackle. And, if typing works, it works well.
Regarding performance, well. Parallelism is pretty hard to do well, and the language itself is not the fastest thing. Some parts are migrated to a C extension but that's costly in terms of development and debugging time.
Despite all of that, I do think that Python was the best choice for our situation, and still is. Maybe from this point onwards another language would make things easier, but without Python's library support, ease and speed of development and expressiveness the cost of just getting to market would have been far higher, and probably we wouldn't have reached this point with other languages. And migrating the codebase to another language is just not worth it at all, as there are still a lot of areas we can improve quite a lot with far less effort than a full rewrite.
GitHub - facebookexperimental/skybison: Instagram's experimental performance oriented greenfield implementation of Python.
2 projects | reddit.com/r/programming | 18 Sep 2021
I don't know where you're getting your information, they did implement it. It's possible you're thinking of this issue which would make the typing more precise and let you specify totally different types for different keys. For now though any of the 4 ways I gave works.
Typehinting a dictionary that maps events to event handlers
2 projects | reddit.com/r/learnpython | 9 Jul 2021
I don't think it will be as easy as you're hoping, I think this is basically the same thing you're trying to do: https://github.com/python/mypy/issues/49282 projects | reddit.com/r/learnpython | 9 Jul 2021
Typeclasses in Python
1 project | reddit.com/r/programming | 30 Jun 2021
Support for singledispatch was recently added to mypy: https://github.com/python/mypy/commit/c3ca0d69659b941fc6b425dd3563cae11454baac
What are some alternatives?
Flake8 - flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
Pylint - It's not just a linter that annoys you!
prospector - Inspects Python source files and provides information about type and location of classes, methods etc
PythonBuddy - 1st Online Python Editor With Live Syntax Checking and Execution
black - The uncompromising Python code formatter
typing - Python static typing home. Contains the source for typing_extensions and the documentation. Also hosts a user help forum.
bandit - Bandit is a tool designed to find common security issues in Python code.
dotenv-linter - ⚡️Lightning-fast linter for .env files. Written in Rust 🦀
mypyc - Compile type annotated Python to fast C extensions