рдкрд╛рдЗрдерди рдХреЛрдбрдХреЛ рек рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдирд╣рд░реВ рдЯрд╛рдЗрдк рдЪреЗрдХ рдЧрд░реНрдиреЗ рдмрд╛рдЯреЛред рднрд╛рдЧ 4

рдЖрдЬ рд╣рд╛рдореА Dropbox рд▓реЗ Python рдХреЛрдб рдХреЛ рд▓рд╛рдЦреМрдВ рд▓рд╛рдЗрдирд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рдХрд╛рд░ рдирд┐рдпрдиреНрддреНрд░рдг рд╕рдВрдЧрдард┐рдд рдХрд╕рд░реА рдмрд╛рд░реЗ рдорд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдиреБрд╡рд╛рдж рдХреЛ рджреЛрд╕реНрд░реЛ рднрд╛рдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрджреИрдЫреМрдВред

рдкрд╛рдЗрдерди рдХреЛрдбрдХреЛ рек рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдирд╣рд░реВ рдЯрд╛рдЗрдк рдЪреЗрдХ рдЧрд░реНрдиреЗ рдмрд╛рдЯреЛред рднрд╛рдЧ 4

тЖТ рднрд╛рдЧ рдПрдХ рдкрдвреНрдиреБрд╣реЛрд╕реН

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рдХрд╛рд░ рд╕рдорд░реНрдерди (PEP 484)

рд╣рд╛рдореАрд▓реЗ рд╣реНрдпрд╛рдХ рд╣рдкреНрддрд╛ 2014 рдорд╛ рдбреНрд░рдкрдмрдХреНрд╕рдорд╛ mypy рд╕рдБрдЧ рд╣рд╛рдореНрд░реЛ рдкрд╣рд┐рд▓реЛ рдЧрдореНрднреАрд░ рдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╕рдЮреНрдЪрд╛рд▓рди рдЧрд░реНрдпреМрдВред рд╣реНрдпрд╛рдХ рд╣рдкреНрддрд╛ рдбреНрд░рдкрдмрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдПрдХ рд╣рдкреНрддрд╛рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реЛред рдпрд╕ рд╕рдордпрдорд╛, рдХрд░реНрдордЪрд╛рд░реАрд╣рд░реВрд▓реЗ рдЖрдлреВрд▓реЗ рдЪрд╛рд╣реЗрдХреЛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫрдиреН! Dropbox рдХрд╛ рдХреЗрд╣рд┐ рдкреНрд░рдЦреНрдпрд╛рдд рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдпрд╕реНрддрд╛ рдШрдЯрдирд╛рд╣рд░реВрдорд╛ рд╕реБрд░реБ рднрдпреЛред рдпрд╕ рдкреНрд░рдпреЛрдЧрдХреЛ рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реНрдпреМрдВ рдХрд┐ mypy рдЖрд╢рд╛рдЬрдирдХ рджреЗрдЦрд┐рдиреНрдЫ, рдпрджреНрдпрдкрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдЭреИ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫреИрдиред

рддреНрдпрд╕ рд╕рдордпрдорд╛, рдкрд╛рдЗрдерди рдкреНрд░рдХрд╛рд░рдХреЛ рд╕рдВрдХреЗрдд рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдорд╛рдирдХреАрдХрд░рдг рдЧрд░реНрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╣рд╛рд╡рд╛рдорд╛ рдерд┐рдпреЛред рдореИрд▓реЗ рднрдиреЗрдЭреИрдВ, Python 3.0 рдмрд╛рдЯ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдерд┐рдпреЛ, рддрд░ рдпреА рдХреЗрд╡рд▓ рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдерд┐рдП, рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рд░ рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХреНрд╕ рдмрд┐рдирд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдХреНрд░рдордорд╛, рдпреА рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ, рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧрдХреЛ рд▓рд╛рдЧрд┐, рдХреЗрд╡рд▓ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░рд┐рдпреЛред Hack Week рдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХреНрд╕рд▓рд╛рдИ рдорд╛рдирдХреАрдХрд░рдгрдорд╛ рдХрд╛рдо рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВред рдпреЛ рдХрд╛рдордХреЛ рдЙрджрдп рднрдпреЛ рдкреАрдИрдкреА рейрекрей (Guido van Rossum, ┼Бukasz Langa рд░ рдореИрд▓реЗ рдпреЛ рдХрд╛рдЧрдЬрд╛рддрдорд╛ рд╕рд╣рдХрд╛рд░реНрдп рдЧрд░реЗрдХрд╛ рдерд┐рдпреМрдВ)ред

рд╣рд╛рдореНрд░реЛ рдордирд╕рд╛рдп рджреБрдИ рдкрдХреНрд╖рдмрд╛рдЯ рд╣реЗрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдЖрд╢рд╛ рдЧрд░реНрдпреМрдВ рдХрд┐ рд╕рдореНрдкреВрд░реНрдг рдкрд╛рдЗрдерди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдорд▓реЗ рдЯрд╛рдЗрдк рд╕рдВрдХреЗрддрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╛рдЭрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдЙрди рд╕рдХреНрдЫ (рдкрд╛рдЗрдердирдорд╛ "рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ" рдХреЛ рдмрд░рд╛рдмрд░рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рд╢рдмреНрдж)ред рдпреЛ, рд╕рдореНрднрд╛рд╡рд┐рдд рдЬреЛрдЦрд┐рдорд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ, рдзреЗрд░реИ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдкрдорд╛ рдЕрд╕рдВрдЧрдд рджреГрд╖реНрдЯрд┐рдХреЛрдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫред рджреЛрд╕реНрд░реЛ, рд╣рд╛рдореА рдкрд╛рдЗрдерди рд╕рдореБрджрд╛рдпрдХрд╛ рдзреЗрд░реИ рд╕рджрд╕реНрдпрд╣рд░реВрд╕рдБрдЧ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рди рдореЗрдХрд╛рдирд┐рдЬрдорд╣рд░реВ рдЦреБрд▓рд╛ рд░реВрдкрдорд╛ рдЫрд▓рдлрд▓ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдереНрдпреМрдВред рдпреЛ рдЗрдЪреНрдЫрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдкрдорд╛ рдпрд╕ рддрдереНрдпрджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рдХрд┐ рд╣рд╛рдореА рдкрд╛рдЗрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрдХреЛ рд╡реНрдпрд╛рдкрдХ рдЬрдирддрд╛рдХреЛ рдЖрдБрдЦрд╛рдорд╛ рднрд╛рд╖рд╛рдХреЛ рдЖрдзрд╛рд░рднреВрдд рд╡рд┐рдЪрд╛рд░рд╣рд░реВрдмрд╛рдЯ "рдзрд░реНрдорддреНрдпрд╛рдЧреА" рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рди рдЪрд╛рд╣рдБрджреИрдиреМрдВред рдпреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЯрд╛рдЗрдк рдЧрд░рд┐рдПрдХреЛ рднрд╛рд╖рд╛ рд╣реЛ, рдЬрд╕рд▓рд╛рдИ "рдмрддрдЦ рдЯрд╛рдЗрдкрд┐рдЩ" рднрдирд┐рдиреНрдЫред рд╕рдореБрджрд╛рдпрдорд╛, рдПрдХрджрдо рд╕реБрд░реБрдорд╛, рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдЩ рдХреЛ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреА рдХреЗрд╣рд┐ рд╕рдВрджрд┐рдЧреНрдз рдордиреЛрд╡реГрддреНрддрд┐рд▓реЗ рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреЗрди рддрд░ рдЙрддреНрдкрдиреНрди рд╣реБрди рд╕рдХреНрдЫред рддрд░ рддреНрдпреЛ рднрд╛рд╡рдирд╛ рдЕрдиреНрддрддрдГ рдШрдЯреНрдпреЛ рдЬрдм рдпреЛ рд╕реНрдкрд╖реНрдЯ рднрдпреЛ рдХрд┐ рд╕реНрдерд┐рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реБрди рдЧрдЗрд░рд╣реЗрдХреЛ рдЫреИрди (рд░ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓реЗ рдпреЛ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдЙрдкрдпреЛрдЧреА рдЫ рднрдиреЗрд░ рдорд╣рд╕реБрд╕ рдЧрд░реЗ рдкрдЫрд┐)ред

рдкреНрд░рдХрд╛рд░ рд╕рдЩреНрдХреЗрдд рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЬреБрди рдЕрдиреНрддрддрдГ рдЕрдкрдирд╛рдИрдПрдХреЛ рдерд┐рдпреЛ mypy рд▓реЗ рд╕рдорд░реНрдерди рдЧрд░реЗрдХреЛ рдХреБрд░рд╛рд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдерд┐рдпреЛред PEP 484 3.5 рдорд╛ Python 2015 рдХреЛ рд╕рд╛рде рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдкрд╛рдЗрдерди рдЕрдм рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдЯрд╛рдЗрдк рдЧрд░рд┐рдПрдХреЛ рднрд╛рд╖рд╛ рдерд┐рдПрдиред рдо рдпрд╕ рдШрдЯрдирд╛рд▓рд╛рдИ рдкрд╛рдЗрдерди рдЗрддрд┐рд╣рд╛рд╕рдорд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреЛрд╕реЗрдвреБрдЩреНрдЧрд╛рдХреЛ рд░реВрдкрдорд╛ рд╕реЛрдЪреНрди рдЪрд╛рд╣рдиреНрдЫреБред

рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рд╕реБрд░реБрд╡рд╛рдд

2015 рдХреЛ рдЕрдиреНрддреНрдпрдорд╛, рдбреНрд░рдкрдмрдХреНрд╕рд▓реЗ mypy рдорд╛ рдХрд╛рдо рдЧрд░реНрди рддреАрди рд╡реНрдпрдХреНрддрд┐рдХреЛ рдЯреЛрд▓реА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреЛред рддрд┐рдиреАрд╣рд░реВрдорд╛ рдЧреБрдЗрдбреЛ рднреНрдпрд╛рди рд░реЛрд╕рдо, рдЧреНрд░реЗрдЧ рдкреНрд░рд╛рдЗрд╕ рд░ рдбреЗрднрд┐рдб рдлрд┐рд╢рд░ рдерд┐рдПред рддреНрдпреЛ рдХреНрд╖рдг рджреЗрдЦрд┐, рд╕реНрдерд┐рддрд┐ рдПрдХрджрдо рдЪрд╛рдБрдбреИ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдерд╛рд▓реЗред Mypy рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд▓рд╛рдЧреА рдкрд╣рд┐рд▓реЛ рдмрд╛рдзрд╛ рдкреНрд░рджрд░реНрд╢рди рдерд┐рдпреЛред рдореИрд▓реЗ рдорд╛рдерд┐ рд╕рдВрдХреЗрдд рдЧрд░реЗрдЭреИрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рджрд┐рдирд╣рд░реВрдорд╛ рдореИрд▓реЗ mypy рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ C рдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреЗрдВ, рддрд░ рдпреЛ рд╡рд┐рдЪрд╛рд░ рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐ рд╕реВрдЪреАрдмрд╛рдЯ рдмрд╛рд╣рд┐рд░рд┐рдпреЛред рд╣рд╛рдореА CPython рдЕрдиреБрд╡рд╛рджрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдгрд╛рд▓реА рдЪрд▓рд╛рдЙрдирдорд╛ рдЕрдбреНрдХрд┐рдПрдХрд╛ рдерд┐рдпреМрдВ, рдЬреБрди mypy рдЬрд╕реНрддрд╛ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЫрд┐рдЯреЛ рдЫреИрдиред (PyPy рдкрд░рд┐рдпреЛрдЬрдирд╛, JIT рдХрдореНрдкрд╛рдЗрд▓рд░рдХреЛ рд╕рд╛рде рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрд╛рдЗрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ рдкрдирд┐ рд╣рд╛рдореАрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реЗрдиред)

рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, рдХреЗрд╣реА рдПрд▓реНрдЧреЛрд░рд┐рджрдорд┐рдХ рд╕реБрдзрд╛рд░рд╣рд░реВ рдпрд╣рд╛рдБ рд╣рд╛рдореНрд░реЛ рд╕рд╣рд╛рдпрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдПрдХрд╛ рдЫрдиреНред рдкрд╣рд┐рд▓реЛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА "рддреНрд╡рд░рдХ" рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд┐рдпреЛред рдпрд╕ рд╕реБрдзрд╛рд░рдХреЛ рдкрдЫрд╛рдбрд┐рдХреЛ рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рдерд┐рдпреЛ: рдпрджрд┐ рд╕рдмреИ рдореЛрдбреНрдпреБрд▓рдХреЛ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ mypy рдХреЛ рдЕрдШрд┐рд▓реНрд▓реЛ рд░рдирдмрд╛рдЯ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫреИрди рднрдиреЗ, рд╣рд╛рдореА рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ рдЕрдШрд┐рд▓реНрд▓реЛ рд░рдирдорд╛ рдХреНрдпрд╛рд╕ рдЧрд░рд┐рдПрдХреЛ рдбрд╛рдЯрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рд╣рд╛рдореАрд▓реЗ рдкрд░рд┐рдорд╛рд░реНрдЬрд┐рдд рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд░ рддрд┐рдиреАрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪ рдорд╛рддреНрд░ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред Mypy рдкрдирд┐ рдЕрд▓рд┐ рдЕрдЧрд╛рдбреА рдЧрдпреЛ: рдпрджрд┐ рдореЛрдбреНрдпреБрд▓рдХреЛ рдмрд╛рд╣реНрдп рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрди рднрдиреЗ, mypy рд▓реЗ рдпреЛ рдореЛрдбреНрдпреБрд▓ рдЖрдпрд╛рдд рдЧрд░реНрдиреЗ рдЕрдиреНрдп рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдлреЗрд░рд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди рднрдиреНрдиреЗ рдзрд╛рд░рдгрд╛ рд░рд╛рдЦреНрдпреЛред

рд╡рд┐рджреНрдпрдорд╛рди рдХреЛрдбрдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛ рдПрдиреЛрдЯреЗрдЯ рдЧрд░реНрджрд╛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдзреЗрд░реИ рдорджреНрджрдд рдЧрд░реЗрдХреЛ рдЫред рдмрд┐рдиреНрджреБ рдпреЛ рд╣реЛ рдХрд┐ рдпрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ mypy рдХреЛ рдзреЗрд░реИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд░рдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреНрдЫрдиреН рдХрд┐рдирдХрд┐ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдмрд┐рд╕реНрддрд╛рд░реИ рдХреЛрдбрдорд╛ рдердкрд┐рдиреНрдЫрдиреН рд░ рдмрд┐рд╕реНрддрд╛рд░реИ рд╕реБрдзрд╛рд░ рд╣реБрдиреНрдЫрдиреНред mypy рдХреЛ рдкрд╣рд┐рд▓реЛ рд░рди рдЕрдЭреИ рдзреЗрд░реИ рдврд┐рд▓реЛ рдерд┐рдпреЛ рдХрд┐рдирднрдиреЗ рдпреЛ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдзреЗрд░реИ рдирд┐рд░реНрднрд░рддрд╛ рдерд┐рдпреЛред рддреНрдпрд╕рдкрдЫрд┐, рд╕реНрдерд┐рддрд┐ рд╕реБрдзрд╛рд░ рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рд░рд┐рдореЛрдЯ рдХреНрдпрд╛рд╕рд┐рдЩ рд╕рдВрдпрдиреНрддреНрд░ рд▓рд╛рдЧреВ рдЧрд░реНрдпреМрдВред рдпрджрд┐ mypy рд▓реЗ рд╕реНрдерд╛рдиреАрдп рдХреНрдпрд╛рд╕ рдкреБрд░рд╛рдиреЛ рднрдПрдХреЛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреЛ рднрдиреЗ, рдпрд╕рд▓реЗ рдХреЗрдиреНрджреНрд░реАрдХреГрдд рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рд╕рдореНрдкреВрд░реНрдг рдХреЛрдбрдмреЗрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рд▓рдХреЛ рдХреНрдпрд╛рд╕ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрджрдЫред рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред рдпрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ mypy рдХреЛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдмрдврд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛ рдареВрд▓реЛ рдХрджрдо рдЪрд╛рд▓реЗрдХреЛ рдЫред

рдпреЛ рдбреНрд░рдкрдмрдХреНрд╕рдорд╛ рдкреНрд░рдХрд╛рд░ рдЬрд╛рдБрдЪрдХреЛ рджреНрд░реБрдд рд░ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрдкрдирд╛рдЙрдиреЗ рдЕрд╡рдзрд┐ рдерд┐рдпреЛред 2016 рдХреЛ рдЕрдиреНрддреНрдпрдорд╛, рд╣рд╛рдореАрд╕рдБрдЧ рдкрд╣рд┐рд▓реЗ рдиреИ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВрд╕рдБрдЧ рдкрд╛рдЗрдерди рдХреЛрдбрдХреЛ рд▓рдЧрднрдЧ 420000 рд▓рд╛рдЗрдирд╣рд░реВ рдерд┐рдПред рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдкреНрд░рдХрд╛рд░ рдЬрд╛рдБрдЪрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЙрддреНрд╕рд╛рд╣рд┐рдд рдерд┐рдПред рдЕрдзрд┐рдХ рд░ рдЕрдзрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЯреЛрд▓реАрд╣рд░реВ Dropbox mypy рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдерд┐рдПред

рддреНрдпрд╕рдмреЗрд▓рд╛ рд╕рдмреИ рдХреБрд░рд╛ рд░рд╛рдореНрд░реЛ рджреЗрдЦрд┐рдиреНрдереНрдпреЛ, рддрд░ рд╣рд╛рдореАрд▓реЗ рдЕрдЭреИ рдзреЗрд░реИ рдЧрд░реНрди рдмрд╛рдБрдХреА рдерд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХрд╛ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд░ рдХреБрди рд╕рдорд╕реНрдпрд╛рд╣рд░реВрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗрд░ рдмреБрдЭреНрди рдЖрд╡рдзрд┐рдХ рдЖрдиреНрддрд░рд┐рдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╣рд░реВ рдЧрд░реНрди рдерд╛рд▓реНрдпреМрдВ (рдпреЛ рдЕрднреНрдпрд╛рд╕ рдЖрдЬ рдкрдирд┐ рдХрдореНрдкрдиреАрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ)ред рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг, рдпреЛ рд╕реНрдкрд╖реНрдЯ рднрдпреЛ, рджреБрдИ рдХрд╛рд░реНрдпрд╣рд░реВ рдерд┐рдПред рдкрд╣рд┐рд▓реЛ, рд╣рд╛рдореАрд▓рд╛рдИ рдХреЛрдбрдХреЛ рдердк рдкреНрд░рдХрд╛рд░ рдХрднрд░реЗрдЬ рдЪрд╛рд╣рд┐рдиреНрдЫ, рджреЛрд╕реНрд░реЛ, рд╣рд╛рдореАрд▓рд╛рдИ рдЫрд┐рдЯреЛ рдХрд╛рдо рдЧрд░реНрди mypy рдЪрд╛рд╣рд┐рдиреНрдЫред рдпреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рдерд┐рдпреЛ рдХрд┐ рд╣рд╛рдореНрд░реЛ mypy рдХреЛ рдЧрддрд┐ рд░ рдХрдореНрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реБ рдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдХрд╛рдо рдЕрдЭреИ рдкреВрд░рд╛ рд╣реБрди рд╕рдХреЗрдиред рд╣рд╛рдореА, рдпреА рджреБрдИ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдорд╣рддреНрддреНрд╡рдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдЪреЗрдд рдЫреМрдВ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдердк рдЙрддреНрдкрд╛рджрдХрддрд╛!

рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪрд╣рд░реВрд▓реЗ mypy рдЫрд┐рдЯреЛ рдмрдирд╛рдпреЛ, рддрд░ рдЙрдкрдХрд░рдг рдЕрдЭреИ рдкрдирд┐ рдкрд░реНрдпрд╛рдкреНрдд рдЫрд┐рдЯреЛ рдерд┐рдПрдиред рдзреЗрд░реИ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪрд╣рд░реВ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдиреЗрдЯрд╕рдореНрдо рдЪрд▓реНрдпреЛред рдпрд╕рдХреЛ рдХрд╛рд░рдг рдЪрдХреНрд░реАрдп рдЖрдпрд╛рдд рдерд┐рдпреЛред рдпреЛ рд╕рдореНрднрд╡рддрдГ рдкрд╛рдЗрдердирдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдареВрд▓рд╛ рдХреЛрдбрдмреЗрд╕рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЬреЛ рдХреЛрд╣реАрд▓рд╛рдИ рдЫрдХреНрдХ рдкрд░реНрджреИрдиред рд╣рд╛рдореАрд╕рдБрдЧ рд╕рдпреМрдВ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдХреЛ рд╕реЗрдЯрд╣рд░реВ рдерд┐рдП, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрд▓реЗ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдЕрд░реВ рд╕рдмреИ рдЖрдпрд╛рдд рдЧрд░реНтАНрдпреЛред рдпрджрд┐ рдЖрдпрд╛рдд рд▓реБрдкрдорд╛ рдХреБрдиреИ рдкрдирд┐ рдлрд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рднрдиреЗ, mypy рд▓реЗ рддреНрдпреЛ рд▓реВрдкрдорд╛ рд╕рдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреБрдкрд░реНрдереНрдпреЛ, рд░ рдкреНрд░рд╛рдпрдГ рдХреБрдиреИ рдкрдирд┐ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдЬрд╕рд▓реЗ рддреНрдпреЛ рд▓реВрдкрдмрд╛рдЯ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдЖрдпрд╛рдд рдЧрд░реНрджрдЫред рдпрд╕реНрддреИ рдПрдЙрдЯрд╛ рдЪрдХреНрд░ рдХреБрдЦреНрдпрд╛рдд "рдирд┐рд░реНрднрд░рддрд╛ рдЯреНрдпрд╛рдЩреНрдЧрд▓" рдерд┐рдпреЛ рдЬрд╕рд▓реЗ рдбреНрд░рдкрдмрдХреНрд╕рдорд╛ рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрддреНрдпрд╛рдпреЛред рдПрдХ рдкрдЯрдХ рдпреЛ рд╕рдВрд░рдЪрдирд╛рд▓реЗ рдзреЗрд░реИ рд╕рдп рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реЗрдХреЛ рдЫ, рдЬрдмрдХрд┐ рдпреЛ рдЖрдпрд╛рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛, рдзреЗрд░реИ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ, рдпреЛ рдЙрддреНрдкрд╛рджрди рдХреЛрдбрдорд╛ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред

рд╣рд╛рдореАрд▓реЗ рдЧреЛрд▓рд╛рдХрд╛рд░ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ "рдЕрдирдЯреНрдпрд╛рдЩреНрд▓рд┐рдЩ" рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдпреМрдВ, рддрд░ рд╣рд╛рдореАрд╕рдБрдЧ рдпреЛ рдЧрд░реНрдиреЗ рд╕реНрд░реЛрддрд╣рд░реВ рдерд┐рдПрдирдиреНред рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдХреЛрдб рдерд┐рдпреЛ рдЬреБрди рд╣рд╛рдореА рдкрд░рд┐рдЪрд┐рдд рдерд┐рдПрдиреМрдВред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рд╛рде рдЖрдПрдХрд╛ рдЫреМрдВред рд╣рд╛рдореАрд▓реЗ "рдирд┐рд░реНрднрд░рддрд╛ рдЯреНрдпрд╛рдЩреНрдЧрд▓реНрд╕" рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдорд╛ рдкрдирд┐ mypy рдЫрд┐рдЯреЛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред рд╣рд╛рдореАрд▓реЗ mypy рдбреЗрдорди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпреЛ рд▓рдХреНрд╖реНрдп рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрдпреМрдВред рдбреЗрдорди рдПрдХ рд╕рд░реНрднрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛ рдЬрд╕рд▓реЗ рджреБрдИ рд░реЛрдЪрдХ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫред рдкрд╣рд┐рд▓реЗ, рдпрд╕рд▓реЗ рдореЗрдореЛрд░реАрдорд╛ рд╕рдореНрдкреВрд░реНрдг рдХреЛрдбрдмреЗрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪреЛрдЯрд┐ рддрдкрд╛рдИрд▓реЗ mypy рдЪрд▓рд╛рдЙрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдИрд▓реЗ рд╣рдЬрд╛рд░реМрдВ рдЖрдпрд╛рддрд┐рдд рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреНрдпрд╛рд╕ рдбрд╛рдЯрд╛ рд▓реЛрдб рдЧрд░реНрдиреБ рдкрд░реНрджреИрдиред рджреЛрд╕реНрд░реЛ, рдЙрд╣рд╛рдБрд▓реЗ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ, рд╕рд╛рдирд╛ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдПрдХрд╛рдЗрд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛, рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рдЕрдиреНрдп рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рдмреАрдЪрдХреЛ рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдпрджрд┐ рдкреНрд░рдХрд╛рд░реНрдп foo рдПрдХ рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓ рдЧрд░реНрджрдЫ barрддреНрдпрд╕рдкрдЫрд┐ рддреНрдпрд╣рд╛рдБ рдирд┐рд░реНрднрд░рддрд╛ рдЫ foo рджреЗрдЦрд┐ barред рдЬрдм рдлрд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫ, рдбреЗрдордирд▓реЗ рдкрд╣рд┐рд▓реЗ, рдЕрд▓рдЧрд╛рд╡рдорд╛, рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░рд┐рдПрдХреЛ рдлрд╛рдЗрд▓рд▓рд╛рдИ рдорд╛рддреНрд░ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрдЫред рдпрд╕рд▓реЗ рддреНрдпрд╕ рдлрд╛рдЗрд▓рдорд╛ рдмрд╛рд╣реНрдп рд░реВрдкрдорд╛ рджреЗрдЦрд┐рдиреЗ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╣реЗрд░реНрдЫ, рдЬрд╕реНрддреИ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рдХрд╛рд░реНрдп рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд╣рд░реВред рдбреЗрдордирд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрд┐рдд рдкреНрд░рдХрд╛рд░реНрдп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрд╣рд░реВ рдбрдмрд▓-рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЖрдпрд╛рддрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рд╛рде, рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдХрдо рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрдкрд░реНрдЫред

рдпреА рд╕рдмреИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдерд┐рдПрди, рдХрд┐рдирдХрд┐ рдореВрд▓ mypy рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдкрдЯрдХрдорд╛ рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓ рдкреНрд░рд╢реЛрдзрдирдорд╛ рдзреЗрд░реИ рдХреЗрдиреНрджреНрд░рд┐рдд рдерд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рд╕реАрдорд╛ рд░реЗрдЦрд╛ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛ, рдЬрд╕рдХреЛ рдШрдЯрдирд╛рдорд╛ рдХреЛрдбрдорд╛ рдХреЗрд╣реА рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдмрд╛рд░рдореНрдмрд╛рд░ рдЬрд╛рдБрдЪрд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рддрдм рд╣реБрдиреНрдЫ рдЬрдм рдХрдХреНрд╖рд╛рд▓рд╛рдИ рдирдпрд╛рдБ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рддреЛрдХрд┐рдиреНрдЫред рдПрдХрдЪреЛрдЯрд┐ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореАрд▓реЗ рдЪрд╛рд╣реЗрдХреЛ рдХреБрд░рд╛ рдЧрд░реЗрдкрдЫрд┐, рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдЬрд╛рдБрдЪрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдордпрд▓рд╛рдИ рдХреЗрд╣реА рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдШрдЯрд╛рдЙрди рд╕рдХреНрд╖рдо рднрдпреМрдВред рдпреЛ рд╣рд╛рдореНрд░реЛ рд▓рд╛рдЧрд┐ рдареВрд▓реЛ рдЬреАрдд рдЬрд╕реНрддреЛ рд▓рд╛рдЧреНрдпреЛред

рдЕрдЭ рдмрдвреА рдЙрддреНрдкрд╛рджрдХрддрд╛!

рдореИрд▓реЗ рдорд╛рдерд┐ рдЫрд▓рдлрд▓ рдЧрд░реЗрдХреЛ рд░рд┐рдореЛрдЯ рдХреНрдпрд╛рд╕рд┐рдЩрдХреЛ рд╕рд╛рдердорд╛, рдорд╛рдЗрдкреА рдбреЗрдордирд▓реЗ рд▓рдЧрднрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдпреЛ рдЬреБрди рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд▓реЗ рдкреНрд░рд╛рдпрдГ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪ рдЪрд▓рд╛рдЙрдБрдЫ, рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╕рд╛рдиреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрджреИред рдпрджреНрдпрдкрд┐, рдХрдореНрддрд┐рдорд╛ рдЕрдиреБрдХреВрд▓ рдкреНрд░рдпреЛрдЧрдХреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рджрд░реНрд╢рди рдЕрдЭреИ рдкрдирд┐ рдЗрд╖реНрдЯрддрдордмрд╛рдЯ рдЯрд╛рдврд╛ рдерд┐рдпреЛред Mypy рдХреЛ рд╕рдлрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд▓реЗ 15 рдорд┐рдиреЗрдЯ рднрдиреНрджрд╛ рдмрдвреА рд▓рд┐рди рд╕рдХреНрдЫред рд░ рдпреЛ рд╣рд╛рдореА рдЦреБрд╕реА рд╣реБрдиреЗ рднрдиреНрджрд╛ рдзреЗрд░реИ рдерд┐рдпреЛред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд▓реЗ рдирдпрд╛рдБ рдХреЛрдб рд▓реЗрдЦреНрди рд░ рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдбрдорд╛ рдПрдиреЛрдЯреЗрд╢рдирд╣рд░реВ рдердкреНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрджрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╣рдкреНрддрд╛ рд╕реНрдерд┐рддрд┐ рдЦрд░рд╛рдм рднрдпреЛред рд╣рд╛рдореНрд░рд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рдЕрдЭреИ рдзреЗрд░реИ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рднреЛрдХрд╛ рдерд┐рдП, рддрд░ рд╣рд╛рдореА рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рдЖрдзрд╛ рдмрд╛рдЯреЛрдорд╛ рднреЗрдЯреНрди рдкрд╛рдЙрдБрджрд╛ рдЦреБрд╕реА рдерд┐рдпреМрдВред

рд╣рд╛рдореАрд▓реЗ рдорд╛рдЗрдкреАрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрд╣рд┐рд▓реЗрдХрд╛ рд╡рд┐рдЪрд╛рд░рд╣рд░реВрдорд╛ рдлрд░реНрдХрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред рдЕрд░реНрдерд╛рддреН, рдкрд╛рдЗрдерди рдХреЛрдбрд▓рд╛рдИ C рдХреЛрдбрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиред Cython (рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкрд╛рдЗрдердирдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдХреЛрдб C рдХреЛрдбрдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ рджреГрд╢реНрдп рдЧрддрд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджреИрди, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдХрдореНрдкрд╛рдЗрд▓рд░ рд▓реЗрдЦреНрдиреЗ рд╡рд┐рдЪрд╛рд░рд▓рд╛рдИ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред Mypy рдХреЛрдбрдмреЗрд╕ (рдкрд╛рдЗрдердирдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ) рдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХрд╛рд░рдХрд╛ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рднрдПрдХреЛ рд╣реБрдирд╛рд▓реЗ, рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдЧрддрд┐ рджрд┐рди рдпреА рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБ рдЙрдкрдпреБрдХреНрдд рд╣реБрдиреЗрдЫ рднрдиреНрдиреЗ рд╕реЛрдЪреЗрдХрд╛ рдерд┐рдпреМрдВред рдореИрд▓реЗ рдЪрд╛рдБрдбреИ рдпреЛ рд╡рд┐рдЪрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдВред рдпрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдорд╛рдЗрдХреНрд░реЛ рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрдирдорд╛ резреж рдЧреБрдгрд╛рднрдиреНрджрд╛ рдмрдвреА рд╡реГрджреНрдзрд┐ рджреЗрдЦрд╛рдПрдХреЛ рдЫред рд╣рд╛рдореНрд░реЛ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЗрдерди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ C рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдорд╛ рдкрд╛рдЗрдерди рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдерд┐рдпреЛ, рд░ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВрд▓рд╛рдИ рд░рди-рдЯрд╛рдЗрдо рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪрд╣рд░реВрдорд╛ рдмрджрд▓реНрди (рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдЯрд╛рдЗрдк рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВрд▓рд╛рдИ рд░рди-рдЯрд╛рдЗрдордорд╛ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░рд┐рдиреНрдЫ рд░ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ)ред рд╣рд╛рдореАрд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдкрд╛рдЗрдердирдмрд╛рдЯ mypy рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдПрдХ рднрд╛рд╖рд╛рдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдпреМрдВ рдЬреБрди рд╕реНрдерд┐рд░ рд░реВрдкрдорд╛ рдЯрд╛рдЗрдк рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬреБрди рдкрд╛рдЗрдерди рдЬрд╕реНрддреИ рджреЗрдЦрд┐рдиреНрдЫ (рд░, рдзреЗрд░реИ рднрд╛рдЧрдХреЛ рд▓рд╛рдЧрд┐, рдХрд╛рдо)ред (рдпрд╕ рдкреНрд░рдХрд╛рд░рдХреЛ рдХреНрд░рд╕-рднрд╛рд╖рд╛ рдорд╛рдЗрдЧреНрд░реЗрд╕рди mypy рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдкрд░рдореНрдкрд░рд╛рдХреЛ рд░реВрдкрдорд╛ рднрдПрдХреЛ рдЫред рдореВрд▓ mypy рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд▓реЛрд░рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ, рддреНрдпрд╕рдкрдЫрд┐ рддреНрдпрд╣рд╛рдБ Java рд░ Python рдХреЛ рдПрдХ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрдЯрд┐рдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдерд┐рдпреЛ)ред

CPython рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рди API рдорд╛ рдлреЛрдХрд╕ рдЧрд░реНрдиреБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдХреНрд╖рдорддрд╛рд╣рд░реВ рдЧреБрдорд╛рдЙрдиреБ рд╣реБрдБрджреИрдиред рд╣рд╛рдореАрд▓реЗ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рд╡рд╛ mypy рд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдХреБрдиреИ рдкрдирд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрдиред рдердк рд░реВрдкрдорд╛, рд╣рд╛рдореАрд╕рдБрдЧ рдЕрдЭреИ рдкрдирд┐ рд╕рдореНрдкреВрд░реНрдг рдкрд╛рдЗрдерди рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рд░ рд╕рдмреИ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рд╣реБрдиреЗрдЫ (рдЬрд╕реНрддреИ pytest)ред рдпрд╕рдХреЛ рдорддрд▓рдм рд╣рд╛рдореАрд▓реЗ рд╡рд┐рдХрд╛рд╕рдХреЛ рд╕рдордпрдорд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░рд┐рдПрдХреЛ рдкрд╛рдЗрдерди рдХреЛрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрди рд╕рдХреНрдЫреМрдВ, рд╣рд╛рдореАрд▓рд╛рдИ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдиреЗ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдврд╛рдБрдЪрд╛рдХреЛ рд╕рд╛рде рдХрд╛рдо рдЬрд╛рд░реА рд░рд╛рдЦреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИ, рдХреЛрдб рдХрдореНрдкрд╛рдЗрд▓рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ред рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдереНрдпреЛ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рджреБрдИ рдХреБрд░реНрд╕реАрд╣рд░реВрдорд╛ рдмрд╕реЗрд░ рд░рд╛рдореНрд░реЛ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдерд┐рдпреМрдВ, рддреНрдпрд╕реИрд▓реЗ рдмреЛрд▓реНрди, рд░ рд╣рд╛рдореАрд▓рд╛рдИ рдпреЛ рдорди рдкрд░реНрдпреЛред

рдХрдореНрдкрд╛рдЗрд▓рд░, рдЬрд╕рд▓рд╛рдИ рд╣рд╛рдореАрд▓реЗ mypyc рднрдирд┐рдиреНрдЫ (рдпрд╕рд▓реЗ рдкреНрд░рдХрд╛рд░рд╣рд░реВрдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдлреНрд░рдиреНрдЯ-рдПрдиреНрдбрдХреЛ рд░реВрдкрдорд╛ mypy рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╣реБрдирд╛рд▓реЗ), рдПрдХ рдзреЗрд░реИ рд╕рдлрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдпреЛред рд╕рдордЧреНрд░рдорд╛, рд╣рд╛рдореАрд▓реЗ рдХреНрдпрд╛рд╕рд┐рдЩ рдмрд┐рдирд╛ рд▓рдЧрд╛рддрд╛рд░ mypy рд░рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд▓рдЧрднрдЧ 4x рдЧрддрд┐ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрдпреМрдВред Mypyc рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдореВрд▓ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдорд╛рдЗрдХрд▓ рд╕реБрд▓рд┐рд╡рд╛рди, рдЗрднрд╛рди рд▓реЗрднрдХрд┐рднреНрд╕реНрдХреА, рд╣реНрдпреБ рд╣рд╛рди, рд░ рдо рдЖрдлреИрдВрдХреЛ рд╕рд╛рдиреЛ рдЯреЛрд▓реАрд▓реЗ рдХрд░рд┐рдм рек рдХреНрдпрд╛рд▓реЗрдиреНрдбрд░ рдорд╣рд┐рдирд╛ рд▓рдЧрд╛рдПрдХреЛ рдерд┐рдпреЛред рдХрд╛рдордХреЛ рдпреЛ рд░рдХрдо mypy рд▓рд╛рдИ рдкреБрди: рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рднрдиреНрджрд╛ рдзреЗрд░реИ рд╕рд╛рдиреЛ рдерд┐рдпреЛ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, C++ рд╡рд╛ Go рдорд╛ред рд░ рд╣рд╛рдореАрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рдЕрд░реНрдХреЛ рднрд╛рд╖рд╛рдорд╛ рдкреБрдирд░реНрд▓реЗрдЦрди рдЧрд░реНрджрд╛ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рднрдиреНрджрд╛ рдзреЗрд░реИ рдХрдо рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред рд╣рд╛рдореАрд▓реЗ рдпреЛ рдкрдирд┐ рдЖрд╢рд╛ рдЧрд░реНрдпреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ mypyc рд▓рд╛рдИ рдпрд╕реНрддреЛ рд╕реНрддрд░рдорд╛ рд▓реНрдпрд╛рдЙрди рд╕рдХреНрдЫреМрдВ рдХрд┐ рдЕрдиреНрдп рдбреНрд░рдкрдмрдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдЖрдлреНрдиреЛ рдХреЛрдб рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рд░ рдЧрддрд┐ рдмрдврд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

рдкреНрд░рджрд░реНрд╢рдирдХреЛ рдпреЛ рд╕реНрддрд░ рд╣рд╛рд╕рд┐рд▓ рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдХреЗрд╣реА рд░реЛрдЪрдХ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рд┐рдЩ рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛред рдпрд╕рд░реА, рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ рдЫрд┐рдЯреЛ, рдХрдо-рд╕реНрддрд░ C рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдзреЗрд░реИ рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ рдЧрддрд┐ рджрд┐рди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓рд▓рд╛рдИ C рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓рдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░рд┐рдиреНрдЫред рд░ рдпрд╕реНрддреЛ рдХрд▓ рдПрдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓ рднрдиреНрджрд╛ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдЫред рдХреЗрд╣реА рдЕрдкрд░реЗрд╕рдирд╣рд░реВ, рдЬрд╕реНрддреИ рд╢рдмреНрджрдХреЛрд╢ рд▓реБрдХрдЕрдкрд╣рд░реВ, рдЕрдЭреИ рдкрдирд┐ CPython рдмрд╛рдЯ рдирд┐рдпрдорд┐рдд C-API рдХрд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдВрд▓рдЧреНрди рдЫрдиреН, рдЬреБрди рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрджрд╛ рдереЛрд░реИ рдорд╛рддреНрд░ рдЫрд┐рдЯреЛ рдерд┐рдпреЛред рд╣рд╛рдореА рд╡реНрдпрд╛рдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИрдПрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рд╣рдЯрд╛рдЙрди рд╕рдХреНрд╖рдо рдерд┐рдпреМрдВ, рддрд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдпрд╕рд▓реЗ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдорд╛рддреНрд░ рд╕рд╛рдиреЛ рд▓рд╛рдн рджрд┐рдпреЛред

рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп "рдврд┐рд▓реЛ" рдХрд╛рд░реНрдпрд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдХреЛрдб рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдпреМрдВред рдпрд╕ рдбреЗрдЯрд╛рд╕рдБрдЧ рд╕рд╢рд╕реНрддреНрд░, рд╣рд╛рдореАрд▓реЗ рдпрд╛ рдд mypyc рд▓рд╛рдИ рдЯреНрд╡реАрдХ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреМрдВ рддрд╛рдХрд┐ рдпрд╕рд▓реЗ рддреНрдпрд╕реНрддрд╛ рдЕрдкрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЫрд┐рдЯреЛ C рдХреЛрдб рдЙрддреНрдкрдиреНрди рдЧрд░реНрдЫ, рд╡рд╛ рдЫрд┐рдЯреЛ рдЕрдкрд░реЗрд╢рдирд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкрд╛рдЗрдерди рдХреЛрдб рдкреБрди: рд▓реЗрдЦреНрди рд╕рдХреНрдЫ (рд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╣рд╛рдореАрд╕рдБрдЧ рддреНрдпреЛ рд╡рд╛ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдерд┐рдПрди)ред ред рдкрд╛рдЗрдерди рдХреЛрдб рдкреБрди: рд▓реЗрдЦреНрдиреБ рдкреНрд░рд╛рдпрдГ рдХрдореНрдкрд╛рдЗрд▓рд░рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕рдорд╛рди рд░реВрдкрд╛рдиреНрддрд░рдг рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБ рднрдиреНрджрд╛ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рдЬрд┐рд▓реЛ рд╕рдорд╛рдзрд╛рди рдерд┐рдпреЛред рд▓рд╛рдореЛ рдЕрд╡рдзрд┐рдорд╛, рд╣рд╛рдореА рдпреА рдзреЗрд░реИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдереНрдпреМрдВ, рддрд░ рддреНрдпрд╕ рд╕рдордпрдорд╛ рд╣рд╛рдореА рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕рдХреЛ рд╕рд╛рде mypy рдХреЛ рдЧрддрд┐рдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рдерд┐рдпреМрдВред рд░ рдпреЛ рд▓рдХреНрд╖реНрдп рддрд┐рд░ рдмрдвреНрджреИ, рд╣рд╛рдореАрд▓реЗ рдзреЗрд░реИ рдХреБрдирд╛рд╣рд░реВ рдХрд╛рдЯреНрдпреМрдВред

рдлреЗрд░рд┐ рдЬрд╛рд░реА рд░рд╛рдЦреМрдВрд▓рд╛тАж

рдкреНрд░рд┐рдп рдкрд╛рдардХрд╣рд░реБ! Mypy рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ рдмрд╛рд░реЗрдорд╛ рдерд╛рд╣рд╛ рдкрд╛рдЙрдБрджрд╛ рддрдкрд╛рдИрдВрдХреЛ рдкреНрд░рднрд╛рд╡ рдХреЗ рдерд┐рдпреЛ?

рдкрд╛рдЗрдерди рдХреЛрдбрдХреЛ рек рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдирд╣рд░реВ рдЯрд╛рдЗрдк рдЪреЗрдХ рдЧрд░реНрдиреЗ рдмрд╛рдЯреЛред рднрд╛рдЧ 4
рдкрд╛рдЗрдерди рдХреЛрдбрдХреЛ рек рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдирд╣рд░реВ рдЯрд╛рдЗрдк рдЪреЗрдХ рдЧрд░реНрдиреЗ рдмрд╛рдЯреЛред рднрд╛рдЧ 4

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди