ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ Π² Python ΠΈΠ· ΠΊΡΡΡΠ° "Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π² Python" Π¨ΠΊΠΎΠ»Ρ ΡΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π² ΠΊΡΡΡΠ΅, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ.
- PEP 484 β Type Hints - ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ².
- typing-extensions - Π±ΡΠΊΠΏΠΎΡΡΡ typing ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΠΉ Python.
- stubtest - ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΡΠΈΠΏΠΎΠ².
- stubgen - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΡΠΈΠΏΠΎΠ².
- flake8-pyi - Π»ΠΈΠ½ΡΠ΅Ρ Π΄Π»Ρ .pyi ΡΠ°ΠΉΠ»ΠΎΠ².
- PEP 561 β Distributing and Packaging Type Information - Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ stub ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- Π‘ΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ stub-ΡΠ°ΠΉΠ»ΠΎΠ².
- The Mypy Blog. Extending mypy with plugins - Π±Π»ΠΎΠ³ Ρ Π½ΠΎΠ²ΠΎΡΡΡΡ ΠΏΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π² mypy.
- API ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ mypy.
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ mypy.
- pydantic mypy plugin.
- mypy - ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π² Python
- beartype - ΠΠ΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π±ΡΡΡΡΠ°Ρ O(1) ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° ΡΠΈΡΡΠΎΠΌ Python.
- deal - ΠΠΎΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² (Design by contract). Π‘ΡΠΈΡΠ°ΠΉΡΠ΅, ΡΡΠΎ ΡΡΠΎ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ΅ΡΠΎΠΈΠ΄Π°Ρ .
- pyanalyze - Π Π°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ².
- pyre - ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ Python 3.
- pytype - ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΏΠΎΠ² - Π½Π΅ ΡΡΠ΅Π±ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΡΠΈΠΏΠΎΠ².
- pyright - ΠΡΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ², ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ Π±Π°Π· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² Python. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² " ΡΠ»Π΅Π΄ΡΡΠ΅ΠΌ" ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±ΡΡΡΡΠΎΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ².
- pycharm - Python IDE Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ².
- Π’ΠΈΠΏΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°.
- Π’Π°ΠΉΠΏΠΊΠ»Π°ΡΡΡ Π² Python.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π² Python - ΠΏΡΠΎ callable ΠΊΠ»Π°ΡΡΡ Ρ DI.
- ΠΠ°ΠΊΠΈΠΌ ΠΌΠΎΠ³ Π±Ρ Π±ΡΡΡ Π°ΡΠΈΠ½ΠΊ?
- Π’ΠΈΠΏΡ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π² Python.
- phantom-types - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ ΡΡΠΆΠ°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- Parse, donβt validate.
- Awesome Python Typing - Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ Π² Python.
- Variance of generic types in Python - ΡΡΠ°ΡΡΡΡ ΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡΡ ΠΎΠ±ΡΠΈΡ (generic) ΡΠΈΠΏΠΎΠ² Π² Python (PEP 483 β The Theory of Type Hints - Generic Types).
- Covariance, Contravariance, and Invariance β The Ultimate Python Guide - ΡΡΠ°ΡΡΡ ΠΎ Π²Π°ΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠΈΠΏΠΎΠ² Π² Python.
- Parse, Donβt Validate | Python Patterns
- Python Type Checking | TestDriven.io
- Category Theory for Programmers.
- glom - ΡΡΡΠΊΠ° Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΠ»ΠΎΠ²Π°ΡΠΈΠΊΠ°ΠΌΠΈ Π² Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅.