Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пригодятся ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π° Python

Π£Π·Π½Π°Ρ‘ΠΌ Ρƒ экспСртов-питонистов, ΠΊΠ°ΠΊΠΈΠ΅ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.

ОблоТка: Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пригодятся ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π° Python

Бпросили Ρƒ экспСртов-питонистов, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

pydantic

Python являСтся Π½Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком программирования ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ стороны β€” это Π΅Π³ΠΎ прСимущСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ способствуСт быстрому ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈ устанавливаСт Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π°, Π½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚, отсутствиС Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ становится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pydantic ΠΈ подсказок Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· PEP 484 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ python Π² строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык. ОсобСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ API, Π½ΠΎ Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°.

loguru

Π£Π΄ΠΎΠ±Π½Ρ‹ΠΉ Π»ΠΎΠ³Π³Π΅Ρ€ Π½Π° смСну стандартного logging. Помимо Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΠΈΡ‡ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с асинхронным ΠΊΠΎΠ΄ΠΎΠΌ.

Π Π°Π·Π½ΠΎΡ†Π²Π΅Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π»ΠΎΠ³ΠΎΠ² Π² консоль, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ трСйсбэки с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ уровнями ΠΈ подсказками, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ встроСнный парсСр Π»ΠΎΠ³ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопоточности ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” это малая доля Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ этой прСкрасной Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. По простотС использования ΠΎΠ½Π° сравнима с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ‚ΠΎΠΌ, Π½ΠΎ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ это цСлая Ρ€Π°ΠΊΠ΅Ρ‚Π°.

factory_boy

Если Π²Ρ‹ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ свой ΠΊΠΎΠ΄ unit-тСстами, Ρ‚ΠΎ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠ° ситуация, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ врСмя Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ тСстовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… фикстур. ОсобСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ORM ΠΈ Ρƒ вас ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ с большим количСством ΠΏΠΎΠ»Π΅ΠΉ.

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° написаниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ…Π΅Π»ΠΏΠ΅Ρ€ΠΎΠ²-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ кСйсы, достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ модСль ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ количСство фикстур.

pymystem3

ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚ ЯндСкс для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ СстСствСнного языка. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ pymorphy2 Π½Π΅ Ρ‚Π°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ слово ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π½ΠΎ прСкрасно, ΠΈ самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΎΡ‡Π΅Π½ΡŒ быстро, опрСдСляСт Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Ρ‡ΠΈ ΠΈ лСксСмы слова. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с русским языком.

black

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ вмСстС с Python Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΠΎΡΡŒ ΠΈ соглашСниС ΠΎ написании ΠΊΠΎΠ΄Π° PEP8. ΠšΠΎΠ΄ΡΡ‚Π°ΠΉΠ» β€” это Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ всСм ΠΊΠ°Π½ΠΎΠ½Π°ΠΌ трСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ всСгда выглядСл Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ black.

Π­Ρ‚ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅Ρ€ сэкономит вашС врСмя, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ количСство Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ Π½Π° Ρ€Π΅Π²ΡŒΡŽ ΠΈ ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ всСгда, нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

На Python ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Π² основном Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² области computer vision (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ‚Π°ΠΊΠΈΡ…) , поэтому наша ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ с этим связана. ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚:

  • Flask β€” ΠΌΠΈΠΊΡ€ΠΎ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт быстро Π΄Π΅Π»Π°Ρ‚ΡŒ сСрвисы ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наши Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π˜ΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ для экспСримСнтов, ΠΈ для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ использования.
  • Keras β€” классный высокоуровнСвый API ΠΊ TensorFlow. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ сильно ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Достаточно Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с чистым TF.
  • Numpy β€” ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ, Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ° Π² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ.
  • Pillow β€” старая добрая Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с изобраТСниями. Много Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Π΅ манипуляции, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, эффСкты.

Π― Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π² свой список Π½Π΅ самыС популярныС, Π½ΠΎ ΠΎΡ‚ этого Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° транслитСрации iuliia

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ кирилличСскиС слова Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π΅ΠΉ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ стандарты ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° транслитСрации, поэтому Π³Π΄Π΅-Ρ‚ΠΎ я Dmitrij, Π³Π΄Π΅-Ρ‚ΠΎ Dmitry, Π° Π³Π΄Π΅-Ρ‚ΠΎ Dmitrii.

Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ стандарты собраны Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сочСтаний Π±ΡƒΠΊΠ² ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΉ слов. На домашнСй страницС ΠΊΡ€Π°Ρ‚ΠΊΠΎ описаны различия ΠΌΠ΅ΠΆΠ΄Ρƒ схСмами для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°.

ΠšΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Π°Ρ валидация Π΄Π°Π½Π½Ρ‹Ρ… с pydantic

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π² любом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ больно. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ pydantic позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Ρ€ΡƒΡ‚ΠΈΠ½Ρ‹ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ с ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚ΠΎΠΌ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. МоТно ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈΡ… Π½Π° Π²Ρ…ΠΎΠ΄Π΅, Π½ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ сообщСния ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ошибок. МоТно ΠΏΠΈΡΠ°Ρ‚ΡŒ свои ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ, Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ поля совмСстно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΏΠΎΠ»Π΅ фамилия Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π΅ имя) ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Dramatiq для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ распрСдСлСнных Π·Π°Π΄Π°Ρ‡Β 

Π”ΡƒΠΌΠ°ΡŽ практичСски ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ питонист сталкивался с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Celery.

Dramatiq β€” это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ устал ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Celery, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хочСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„ΠΎΠ½ (пСрСрасчёт ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, массовоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСрвисов, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° писСм для рассылки, гСнСрация ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ² ΠΈ Ρ‚.ΠΏ.) эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для вас.

Httpx β€” асинхронная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с httpΒ 

Π’ ΠΌΠΈΡ€Π΅ Python практичСски ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ ΠΏΠΎ удобству использования ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ слуТит Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° requests. К соТалСнию Π΅Ρ‘ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² асинхронном ΠΊΠΎΠ΄Π΅.

Авторы httpx ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с http с Ρ‚Π°ΠΊΠΈΠΌ-ΠΆΠ΅ интСрфСйсом, ΠΊΠ°ΠΊ Ρƒ requests. Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с httpx Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠΊΠ° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π² Π±Π΅Ρ‚Π΅, Π½ΠΎ ΡƒΠΆΠ΅ довольно стабилСн ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ программистами.

Loguru для настройки логирования

ΠΠ°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ logging β€” нСвСсёлоС занятиС. Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ разросся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ syslog, journald, ΠΈΠ»ΠΈ ELK стСк, Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Π»ΠΎΠ³ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΠΆΠ΅ хочСтся β€” ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ loguru.

Π“Π»Π°Π²Π½Ρ‹ΠΉ плюс этой Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” простота настройки ΠΈ ΠΊΡƒΡ‡Π° приятных плюшСк ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ:

  • подсвСтка сообщСний Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ,
  • Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅,
  • удобная настройка логирования Π² Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для обнаруТСния Π΄Π°Ρ‚ β€” dateparserΒ 

Π‘ΠΏΠ°ΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ ΠΈΠ· строк самых Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π°, Ссли Π²Ρ‹ парситС Π²Π΅Π±-странички ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π»ΠΎΠ³ΠΈ ΠΈΠ· самых Ρ€Π°Π·Π½Ρ‹Ρ… источников.

ΠœΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€˜2 ΠΌΠ°Ρ€Ρ‚Π° 2021 Π² 15:00’, β€˜2021-03-04 10:01:02 UTC+3’, Ρ‚Π°ΠΊ ΠΈ Ρ‚Π°ΠΊΠΎΠΉ экстрим ΠΊΠ°ΠΊ β€˜Ρ‡Π΅Ρ€Π΅Π· 5 днСй’, β€˜Π½Π΅Π΄Π΅Π»ΡŽ назад’. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство языков.

Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания прогрСсс Π±Π°Ρ€ΠΎΠ² tqdmΒ 

Иногда Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… (это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ management ΠΊΠΎΠΌΠ°Π½Π΄Π° для Django ΠΈΠ»ΠΈ просто скрипт для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ большого числа Ρ„Π°ΠΉΠ»ΠΎΠ²). Если Π² консоли Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ происходит, Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя каТСтся, Ρ‡Ρ‚ΠΎ скрипт завис, нСпонятно, с ΠΊΠ°ΠΊΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ продвигаСтся процСсс, сколько Π΅Ρ‰Ρ‘ ΠΆΠ΄Π°Ρ‚ΡŒ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ tqdm ΠΌΠΎΠΆΠ½ΠΎ быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (прогрСсс Π±Π°Ρ€Ρ‹) для отобраТСния процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹. Из ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ интСгрируСтся с IPython/Jupyter.

pympler

На ΠΌΠΎΠΉ взгляд, это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов, ΠΊΠΎΠ³Π΄Π° появляСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС памяти ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² python прилоТСниях.

retrying

Удобная Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая позволяСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½. НапримСр, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ запрос ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ сСрвису, Ссли с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎ Π½Π΅Π³ΠΎ Β«Π΄ΠΎΡΡ‚ΡƒΡ‡Π°Ρ‚ΡŒΡΡΒ». Π‘Π°ΠΌΠΎ собой Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ мноТСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ, врСмя оТидания ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

responses

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° запросы, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ requests. ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ тСстировании ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ повСдСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π²Π΅Ρ€Π½Π΅Ρ‚ внСшний сСрвис.

faker

Faker позволяСт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ катСгориям. НапримСр, ΠΈΠΌΠ΅Π½Π°, адрСса, Π΄Π°Π½Π½Ρ‹Π΅ банковских ΠΊΠ°Ρ€Ρ‚, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Бписок ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ. Достаточно часто ΠΈΠΌΠ΅Π½Π½ΠΎ эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΈ тСстировании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

rich

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ прСдоставляСт большиС возмоТности ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ API для форматирования Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ тСкста Π² консоль. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ тСкста ΠΈ Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚, Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ синтаксис языка, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с emoji ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π₯ΠΎΡ‡Ρƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° написана Π½Π΅ Π½Π° python, Π½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с python прилоТСниями.

py-spy

Π y-spy β€” это ΡΡΠΌΠΏΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Python ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этого ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π±Π΅Π· добавлСния ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполняСтся ΠΈ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ flamegraph. ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ «здСсь ΠΈ сСйчас», Π»ΠΈΠ±ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ возмоТности ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌΠΈ.

freezegun

Π‘Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, которая ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ/Π΄Π°Ρ‚Ρ‹. Π­Ρ‚ΠΎΡ‚ инструмСнт ΠΊΠ°ΠΊ Ρ€Π°Π· для Ρ‚Π°ΠΊΠΈΡ… случаСв. Он позволяСт Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя Π½Π° Ρ‚ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ модуля datetime.

funcy

Π’Π°ΠΊΠΆΠ΅ нСплохая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая содСрТит Π² сСбС Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ