Update and add index
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome[0m[38;2;255;187;0m[1m[4m [0m[38;2;255;187;0m[1m[4mPython[0m[38;2;255;187;0m[1m[4m [0m[38;2;255;187;0m[1m[4mTyping[0m[38;2;255;187;0m[1m[4m [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m [0m[38;5;14m[1m[4m(https://awesome.re/badge-flat2.svg)[0m[38;2;255;187;0m[1m[4m [0m[38;2;255;187;0m[1m[4m(https://awesome.re)[0m[38;2;255;187;0m[1m[4m [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mGitter[0m[38;5;14m[1m[4m [0m[38;5;14m[1m[4m(https://img.shields.io/gitter/room/mypy-django/Lobby?color=9cf&style=flat-square)[0m[38;2;255;187;0m[1m[4m [0m
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4m(https://gitter.im/mypy-django/Lobby?source=title)[0m
|
||||
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Python Typing [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge-flat2.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re) [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mGitter[0m[38;5;14m[1m[4m (https://img.shields.io/gitter/room/mypy-django/Lobby?color=9cf&style=flat-square)[0m[38;2;255;187;0m[1m[4m (https://gitter.im/mypy-django/Lobby?source=title)[0m
|
||||
|
||||
[38;5;12mCollection of awesome Python types, stubs, plugins, and tools to work with them.[39m
|
||||
|
||||
@@ -27,8 +26,7 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mpycharm[0m[38;5;12m (https://www.jetbrains.com/pycharm/) - IDE for Professional Developers.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpylyzer[0m[38;5;12m (https://github.com/mtshiba/pylyzer/) - A fast static code analyzer & language server for Python, written in Rust.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpyre[0m[38;5;12m (https://pyre-check.org/) - Performant type-checker.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mpyright[0m[38;5;12m [39m[38;5;12m(https://github.com/Microsoft/pyright)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mFast[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mchecker[39m[38;5;12m [39m[38;5;12mmeant[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mlarge[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mbases.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mrun[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12m“watch”[39m[38;5;12m [39m[38;5;12mmode[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mperforms[39m[38;5;12m [39m[38;5;12mfast[39m[38;5;12m [39m[38;5;12mincremental[39m[38;5;12m [39m[38;5;12mupdates[39m[38;5;12m [39m[38;5;12mwhen[39m[38;5;12m [39m[38;5;12mfiles[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m
|
||||
[38;5;12mmodified.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpyright[0m[38;5;12m (https://github.com/Microsoft/pyright) - Fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpytype[0m[38;5;12m (https://github.com/google/pytype) - Tool to check and infer types - without requiring type annotations.[39m
|
||||
|
||||
[38;2;255;187;0m[4mDynamic type checkers[0m
|
||||
@@ -44,13 +42,11 @@
|
||||
|
||||
[38;2;255;187;0m[4mStub packages[0m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1masgiref[0m[38;5;12m [39m[38;5;12m(https://github.com/django/asgiref)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mASGI[39m[38;5;12m [39m[38;5;12mspecification,[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;14m[1masgiref.typing[0m[38;5;12m [39m[38;5;12m(https://github.com/django/asgiref/blob/main/asgiref/typing.py)[39m[38;5;12m [39m[38;5;12mmodule[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mannotations[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m
|
||||
[38;5;12mASGI[39m[38;5;12m [39m[38;5;12mservers.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1masgiref[0m[38;5;12m (https://github.com/django/asgiref) - ASGI specification, provides [39m[38;5;14m[1masgiref.typing[0m[38;5;12m (https://github.com/django/asgiref/blob/main/asgiref/typing.py) module with type annotations for ASGI servers.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mboto3-stubs[0m[38;5;12m (https://vemel.github.io/boto3_stubs_docs/) - Stubs for [39m[38;5;14m[1mboto3[0m[38;5;12m (https://github.com/boto/boto3).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mbotostubs[0m[38;5;12m (https://github.com/jeshan/botostubs) - Gives you code assistance for any boto3 API in any IDE.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mcelery-types[0m[38;5;12m [39m[38;5;12m(https://github.com/sbdchd/celery-types)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mType[39m[38;5;12m [39m[38;5;12mstubs[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;14m[1mCelery[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/celery)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mits[39m[38;5;12m [39m[38;5;12mrelated[39m[38;5;12m [39m[38;5;12mpackages[39m[38;5;12m [39m[38;5;14m[1mdjango-celery-results[0m[38;5;12m [39m
|
||||
[38;5;12m(https://github.com/celery/django-celery-results),[39m[38;5;12m [39m[38;5;14m[1mampq[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/py-amqp),[39m[38;5;12m [39m[38;5;14m[1mkombu[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/kombu),[39m[38;5;12m [39m[38;5;14m[1mbilliard[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/billiard),[39m[38;5;12m [39m[38;5;14m[1mvine[0m[38;5;12m [39m
|
||||
[38;5;12m(https://github.com/celery/vine)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;14m[1mephem[0m[38;5;12m [39m[38;5;12m(https://github.com/brandon-rhodes/pyephem).[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mcelery-types[0m[38;5;12m [39m[38;5;12m(https://github.com/sbdchd/celery-types)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mType[39m[38;5;12m [39m[38;5;12mstubs[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;14m[1mCelery[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/celery)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mits[39m[38;5;12m [39m[38;5;12mrelated[39m[38;5;12m [39m[38;5;12mpackages[39m[38;5;12m [39m[38;5;14m[1mdjango-celery-results[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/django-celery-results),[39m[38;5;12m [39m[38;5;14m[1mampq[0m[38;5;12m [39m
|
||||
[38;5;12m(https://github.com/celery/py-amqp),[39m[38;5;12m [39m[38;5;14m[1mkombu[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/kombu),[39m[38;5;12m [39m[38;5;14m[1mbilliard[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/billiard),[39m[38;5;12m [39m[38;5;14m[1mvine[0m[38;5;12m [39m[38;5;12m(https://github.com/celery/vine)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;14m[1mephem[0m[38;5;12m [39m[38;5;12m(https://github.com/brandon-rhodes/pyephem).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mdjango-stubs[0m[38;5;12m (https://github.com/typeddjango/django-stubs) - Stubs for [39m[38;5;14m[1mDjango[0m[38;5;12m (https://github.com/django/django).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mdjangorestframework-stubs[0m[38;5;12m (https://github.com/typeddjango/djangorestframework-stubs) - Stubs for [39m[38;5;14m[1mDRF[0m[38;5;12m (https://github.com/encode/django-rest-framework).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mgrpc-stubs[0m[38;5;12m (https://github.com/shabbyrobe/grpc-stubs) - Stubs for [39m[38;5;14m[1mgrpc[0m[38;5;12m (https://github.com/grpc/grpc).[39m
|
||||
@@ -90,8 +86,7 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mflake8-pyi[0m[38;5;12m (https://github.com/ambv/flake8-pyi) - Plugin for Flake8 that provides specializations for type hinting stub files.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mflake8-type-checking[0m[38;5;12m (https://github.com/snok/flake8-type-checking) - Plugin to help you guard any type-annotation-only import correctly.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mflake8-typing-imports[0m[38;5;12m (https://github.com/asottile/flake8-typing-imports) - Plugin which checks that typing imports are properly guarded.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mflake8-typing-only-imports[0m[38;5;12m [39m[38;5;12m(https://github.com/sondrelg/flake8-typing-only-imports)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mflake8[39m[38;5;12m [39m[38;5;12mplugin[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mhelps[39m[38;5;12m [39m[38;5;12midentify[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mimports[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mput[39m[38;5;12m [39m[38;5;12minto[39m[38;5;12m [39m[38;5;12mtype-checking[39m[38;5;12m [39m[38;5;12mblocks,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12madjust[39m[38;5;12m [39m
|
||||
[38;5;12myour[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mannotations[39m[38;5;12m [39m[38;5;12monce[39m[38;5;12m [39m[38;5;12mimports[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mmoved.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mflake8-typing-only-imports[0m[38;5;12m (https://github.com/sondrelg/flake8-typing-only-imports) - flake8 plugin that helps identify which imports to put into type-checking blocks, and how to adjust your type annotations once imports are moved.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mflake8-type-ignore[0m[38;5;12m (https://gitlab.com/jonafato/flake8-type-ignore/) - flake8 plugin to disallow type: ignore comments in your typed Python code.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mwemake-python-styleguide[0m[38;5;12m (https://github.com/wemake-services/wemake-python-styleguide) - The strictest and most opinionated Python linter ever.[39m
|
||||
|
||||
@@ -121,14 +116,13 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mautotyping[0m[38;5;12m (https://github.com/JelleZijlstra/autotyping) - Automatically add simple return type annotations for functions (bool, None, Optional).[39m
|
||||
[38;5;12m- [39m[38;5;14m[1minfer-types[0m[38;5;12m (https://github.com/orsinium-labs/infer-types) - CLI tool to automatically infer and add type annotations into Python code.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mjsonschema-gentypes[0m[38;5;12m (https://github.com/camptocamp/jsonschema-gentypes) - Generate Python types based on TypedDict from a JSON Schema.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mmonkeytype[0m[38;5;12m [39m[38;5;12m(https://github.com/instagram/MonkeyType)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCollects[39m[38;5;12m [39m[38;5;12mruntime[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunction[39m[38;5;12m [39m[38;5;12marguments[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mreturn[39m[38;5;12m [39m[38;5;12mvalues,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mautomatically[39m[38;5;12m [39m[38;5;12mgenerate[39m[38;5;12m [39m[38;5;12mstub[39m[38;5;12m [39m[38;5;12mfiles[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12meven[39m[38;5;12m [39m[38;5;12madd[39m[38;5;12m [39m[38;5;12mdraft[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m
|
||||
[38;5;12mannotations[39m[38;5;12m [39m[38;5;12mdirectly[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mbased[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mcollected[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mruntime.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mno_implicit_optional[0m[38;5;12m [39m[38;5;12m(https://github.com/hauntsaninja/no_implicit_optional)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mcodemod[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mmake[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mimplicit[39m[38;5;12m [39m[38;5;12moptional[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mhints[39m[38;5;12m [39m[38;5;14m[1mPEP[0m[38;5;14m[1m [0m[38;5;14m[1m484[0m[38;5;12m [39m[38;5;12m(https://peps.python.org/pep-0484/#union-types)[39m[38;5;12m [39m
|
||||
[38;5;12mcompliant.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mmonkeytype[0m[38;5;12m [39m[38;5;12m(https://github.com/instagram/MonkeyType)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mCollects[39m[38;5;12m [39m[38;5;12mruntime[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfunction[39m[38;5;12m [39m[38;5;12marguments[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mreturn[39m[38;5;12m [39m[38;5;12mvalues,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mautomatically[39m[38;5;12m [39m[38;5;12mgenerate[39m[38;5;12m [39m[38;5;12mstub[39m[38;5;12m [39m[38;5;12mfiles[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12meven[39m[38;5;12m [39m[38;5;12madd[39m[38;5;12m [39m[38;5;12mdraft[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mannotations[39m[38;5;12m [39m[38;5;12mdirectly[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mbased[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m
|
||||
[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mcollected[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mruntime.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mno_implicit_optional[0m[38;5;12m (https://github.com/hauntsaninja/no_implicit_optional) - A codemod to make your implicit optional type hints [39m[38;5;14m[1mPEP 484[0m[38;5;12m (https://peps.python.org/pep-0484/#union-types) compliant.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpyannotate[0m[38;5;12m (https://github.com/dropbox/pyannotate) - Insert annotations into your source code based on call arguments and return types observed at runtime.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mPyTypes[0m[38;5;12m (https://github.com/pvs-hd-tea/PyTypes) - Infer Types by Python Tracing.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mpyre[0m[38;5;14m[1m [0m[38;5;14m[1minfer[0m[38;5;12m [39m[38;5;12m(https://github.com/facebook/pyre-check)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mPyre[39m[38;5;12m [39m[38;5;12mhas[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpowerful[39m[38;5;12m [39m[38;5;12mfeature[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmigrating[39m[38;5;12m [39m[38;5;12mcodebases[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mtyped[39m[38;5;12m [39m[38;5;12mformat.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;14m[1minfer[0m[38;5;12m [39m[38;5;12m(https://pyre-check.org/docs/pysa-coverage/)[39m[38;5;12m [39m
|
||||
[38;5;12mcommand-line[39m[38;5;12m [39m[38;5;12moption[39m[38;5;12m [39m[38;5;12mingests[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mdirectory,[39m[38;5;12m [39m[38;5;12mmakes[39m[38;5;12m [39m[38;5;12meducated[39m[38;5;12m [39m[38;5;12mguesses[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mused,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mapplies[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mannotations[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfiles.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mpyre[0m[38;5;14m[1m [0m[38;5;14m[1minfer[0m[38;5;12m [39m[38;5;12m(https://github.com/facebook/pyre-check)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mPyre[39m[38;5;12m [39m[38;5;12mhas[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpowerful[39m[38;5;12m [39m[38;5;12mfeature[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmigrating[39m[38;5;12m [39m[38;5;12mcodebases[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mtyped[39m[38;5;12m [39m[38;5;12mformat.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;14m[1minfer[0m[38;5;12m [39m[38;5;12m(https://pyre-check.org/docs/pysa-coverage/)[39m[38;5;12m [39m[38;5;12mcommand-line[39m[38;5;12m [39m[38;5;12moption[39m[38;5;12m [39m[38;5;12mingests[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mdirectory,[39m[38;5;12m [39m[38;5;12mmakes[39m
|
||||
[38;5;12meducated[39m[38;5;12m [39m[38;5;12mguesses[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mused,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mapplies[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mannotations[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfiles.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpytest-annotate[0m[38;5;12m (https://github.com/kensho-technologies/pytest-annotate) - Pyannotate plugin for pytest.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpytest-monkeytype[0m[38;5;12m (https://github.com/mariusvniekerk/pytest-monkeytype) - MonkeyType plugin for pytest.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mpytype annotate-ast[0m[38;5;12m (https://github.com/google/pytype/tree/master/pytype/tools/annotate_ast) - A work-in-progress tool to annotate the nodes of an AST with their Python types.[39m
|
||||
@@ -138,8 +132,7 @@
|
||||
|
||||
[38;2;255;187;0m[4mMypy plugins[0m
|
||||
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mkubernetes-typed[0m[38;5;12m [39m[38;5;12m(https://github.com/gordonbondon/kubernetes-typed)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mPlugin[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mkubernetes[39m[38;5;12m [39m[38;5;14m[1mCRD[0m[38;5;12m [39m
|
||||
[38;5;12m(https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/)[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mchecking.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mkubernetes-typed[0m[38;5;12m (https://github.com/gordonbondon/kubernetes-typed) - Plugin for kubernetes [39m[38;5;14m[1mCRD[0m[38;5;12m (https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/) type checking.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mloguru-mypy[0m[38;5;12m (https://github.com/kornicameister/loguru-mypy) - Plugin for [39m[38;5;14m[1mloguru[0m[38;5;12m (https://github.com/Delgan/loguru) support.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mmypy-zope[0m[38;5;12m (https://github.com/Shoobx/mypy-zope) - Plugin for [39m[38;5;14m[1mzope.interface[0m[38;5;12m (https://zopeinterface.readthedocs.io/en/latest/) support.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mmypy/plugins[0m[38;5;12m (https://github.com/python/mypy/tree/master/mypy/plugins) - Plugins already integrated into mypy.[39m
|
||||
@@ -183,10 +176,9 @@
|
||||
[38;5;12m- [39m[38;5;14m[1m1-minute guide to real constants in Python[0m[38;5;12m (https://sobolevn.me/2018/07/real-python-contants) - Full tutorial about [39m[48;5;235m[38;5;249mFinal[49m[39m[38;5;12m constants and inheritance.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mSimple dependent types in Python[0m[38;5;12m (https://sobolevn.me/2019/01/simple-dependent-types-in-python) - Full tutorial about [39m[48;5;235m[38;5;249mLiteral[49m[39m[38;5;12m types.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTesting mypy stubs, plugins, and types[0m[38;5;12m (https://sobolevn.me/2019/08/testing-mypy-types) - Full tutorial about testing mypy types.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOur[0m[38;5;14m[1m [0m[38;5;14m[1mjourney[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mtype[0m[38;5;14m[1m [0m[38;5;14m[1mchecking[0m[38;5;14m[1m [0m[38;5;14m[1m4[0m[38;5;14m[1m [0m[38;5;14m[1mmillion[0m[38;5;14m[1m [0m[38;5;14m[1mlines[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mPython[0m[38;5;12m [39m[38;5;12m(https://dropbox.tech/application/our-journey-to-type-checking-4-million-lines-of-python)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mDropbox[39m[38;5;12m [39m[38;5;12mhas[39m[38;5;12m [39m[38;5;12mbeen[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfirst[39m[38;5;12m [39m
|
||||
[38;5;12mcompanies[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12madopt[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mchecking[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mscale.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mPyTest[0m[38;5;14m[1m [0m[38;5;14m[1mMonkeyType[0m[38;5;14m[1m [0m[38;5;14m[1mIntroduction[0m[38;5;12m [39m[38;5;12m(https://dev.to/ldrscke/type-annotate-an-existing-python-django-codebase-with-monkeytype-254i)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mType[39m[38;5;12m [39m[38;5;12mAnnotate[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mexisting[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mDjango[39m[38;5;12m [39m[38;5;12mCodebase[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m
|
||||
[38;5;12mMonkeyType.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mOur[0m[38;5;14m[1m [0m[38;5;14m[1mjourney[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1mtype[0m[38;5;14m[1m [0m[38;5;14m[1mchecking[0m[38;5;14m[1m [0m[38;5;14m[1m4[0m[38;5;14m[1m [0m[38;5;14m[1mmillion[0m[38;5;14m[1m [0m[38;5;14m[1mlines[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mPython[0m[38;5;12m [39m[38;5;12m(https://dropbox.tech/application/our-journey-to-type-checking-4-million-lines-of-python)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mDropbox[39m[38;5;12m [39m[38;5;12mhas[39m[38;5;12m [39m[38;5;12mbeen[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mfirst[39m[38;5;12m [39m[38;5;12mcompanies[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12madopt[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mchecking[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m
|
||||
[38;5;12mthis[39m[38;5;12m [39m[38;5;12mscale.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mPyTest MonkeyType Introduction[0m[38;5;12m (https://dev.to/ldrscke/type-annotate-an-existing-python-django-codebase-with-monkeytype-254i) - Type Annotate an existing Python Django Codebase with MonkeyType.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mThe state of type hints in Python[0m[38;5;12m (https://bernat.tech/posts/the-state-of-type-hints-in-python/) - As of May 2018.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mType hints cheat sheet[0m[38;5;12m (https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html) - Cheat sheet on writing type annotations by MyPy team.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mTypechecking Django and DRF[0m[38;5;12m (https://sobolevn.me/2019/08/typechecking-django-and-drf) - Full tutorial about type-checking django.[39m
|
||||
@@ -194,12 +186,11 @@
|
||||
[38;5;12m- [39m[38;5;14m[1mtyping[0m[38;5;12m (https://docs.python.org/3/library/typing.html) - Official Python documentation for [39m[48;5;235m[38;5;249mtyping[49m[39m[38;5;12m module.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mPython-typing-koans[0m[38;5;12m (https://github.com/kracekumar/python-typing-koans/) - A set of examples to learn optional static typing in Python.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mPython Type Checking (Guide)[0m[38;5;12m (https://realpython.com/python-type-checking/) - In this guide, you will get a look into Python type checking.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mAdding[0m[38;5;14m[1m [0m[38;5;14m[1mtype[0m[38;5;14m[1m [0m[38;5;14m[1mhints[0m[38;5;14m[1m [0m[38;5;14m[1mto[0m[38;5;14m[1m [0m[38;5;14m[1murllib3[0m[38;5;12m [39m[38;5;12m(https://sethmlarson.dev/blog/2021-10-18/tests-arent-enough-case-study-after-adding-types-to-urllib3)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mTests[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mnot[39m[38;5;12m [39m[38;5;12menough:[39m[38;5;12m [39m[38;5;12mCase[39m[38;5;12m [39m[38;5;12mstudy[39m[38;5;12m [39m[38;5;12madding[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12mhints[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m
|
||||
[38;5;12murllib3.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAdding type hints to urllib3[0m[38;5;12m (https://sethmlarson.dev/blog/2021-10-18/tests-arent-enough-case-study-after-adding-types-to-urllib3) - Tests are not enough: Case study adding type hints to urllib3.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mAdam Johnsons Blog[0m[38;5;12m (https://adamj.eu/tech/tag/mypy/) - Adam Johnson blogs about typing practices.[39m
|
||||
[38;5;12m- [39m[38;5;14m[1mParamSpec Guide[0m[38;5;12m (https://sobolevn.me/2021/12/paramspec-guide) - Newly released feature in [39m[48;5;235m[38;5;249mPEP612[49m[39m[38;5;12m allows you do a lot of advanced typing things with functions and their signatures.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mStatic[0m[38;5;14m[1m [0m[38;5;14m[1mTyping[0m[38;5;14m[1m [0m[38;5;14m[1mPython[0m[38;5;14m[1m [0m[38;5;14m[1mDecorators[0m[38;5;12m [39m[38;5;12m(https://rednafi.github.io/reflections/static-typing-python-decorators.html)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mAccurately[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12mtyping[39m[38;5;12m [39m[38;5;12mdecorators[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12micky[39m[38;5;12m [39m[38;5;12mbusiness.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mwrapper[39m
|
||||
[38;5;12mfunction[39m[38;5;12m [39m[38;5;12mobfuscates[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12minformation[39m[38;5;12m [39m[38;5;12mrequired[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mstatically[39m[38;5;12m [39m[38;5;12mdetermine[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mparameters[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mreturn[39m[38;5;12m [39m[38;5;12mvalues[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mwrapped[39m[38;5;12m [39m[38;5;12mfunction.[39m
|
||||
[38;5;12m-[39m[38;5;12m [39m[38;5;14m[1mStatic[0m[38;5;14m[1m [0m[38;5;14m[1mTyping[0m[38;5;14m[1m [0m[38;5;14m[1mPython[0m[38;5;14m[1m [0m[38;5;14m[1mDecorators[0m[38;5;12m [39m[38;5;12m(https://rednafi.github.io/reflections/static-typing-python-decorators.html)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mAccurately[39m[38;5;12m [39m[38;5;12mstatic[39m[38;5;12m [39m[38;5;12mtyping[39m[38;5;12m [39m[38;5;12mdecorators[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mPython[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12micky[39m[38;5;12m [39m[38;5;12mbusiness.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mwrapper[39m[38;5;12m [39m[38;5;12mfunction[39m[38;5;12m [39m[38;5;12mobfuscates[39m[38;5;12m [39m[38;5;12mtype[39m[38;5;12m [39m[38;5;12minformation[39m[38;5;12m [39m
|
||||
[38;5;12mrequired[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mstatically[39m[38;5;12m [39m[38;5;12mdetermine[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtypes[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mparameters[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mreturn[39m[38;5;12m [39m[38;5;12mvalues[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mwrapped[39m[38;5;12m [39m[38;5;12mfunction.[39m
|
||||
|
||||
[38;2;255;187;0m[4mCommunities[0m
|
||||
|
||||
|
||||
Reference in New Issue
Block a user