Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π½Π° Python
Π£Π·Π½Π°ΡΠΌ Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ²-ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠΎΠ², ΠΊΠ°ΠΊΠΈΠ΅ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ.
Π‘ΠΏΡΠΎΡΠΈΠ»ΠΈ Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ²-ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠΎΠ², ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π Π°Π΄Ρ ΠΠ°ΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ
ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² REG.RU
pydantic
Python ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ β ΡΡΠΎ Π΅Π³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π±ΡΡΡΡΠΎΠΌΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π°, Π½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ pydantic ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈΠ· PEP 484 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ python Π² ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡΡ API, Π½ΠΎ Π½Π΅Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°.
loguru
Π£Π΄ΠΎΠ±Π½ΡΠΉ Π»ΠΎΠ³Π³Π΅Ρ Π½Π° ΡΠΌΠ΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ logging. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΈΡ ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Π Π°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠ΅ΠΉΡΠ±ΡΠΊΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ, ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΡΡΠ΅Ρ Π»ΠΎΠ³ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ β ΡΡΠΎ ΠΌΠ°Π»Π°Ρ Π΄ΠΎΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΠΉ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠΉ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½Π° ΡΡΠ°Π²Π½ΠΈΠΌΠ° Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΏΡΠΈΠ½ΡΠΎΠΌ, Π½ΠΎ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎ ΡΠ΅Π»Π°Ρ ΡΠ°ΠΊΠ΅ΡΠ°.
factory_boy
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ unit-ΡΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠΎ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΠ° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΡΠ°ΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΊΡΡΡΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ORM ΠΈ Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ΠΉ.
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ Ρ Π΅Π»ΠΏΠ΅ΡΠΎΠ²-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΡΡΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠ΅ΠΉΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΡΠΈΠΊΡ, ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΊΡΡΡΡ.
pymystem3
ΠΡΠ»ΠΈΡΠ½Π°Ρ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ Π―Π½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ pymorphy2 Π½Π΅ ΡΠ°ΠΊ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΡΠ»ΠΎΠ²ΠΎ ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, Π½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, ΠΈ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ β ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈ ΠΈ Π»Π΅ΠΊΡΠ΅ΠΌΡ ΡΠ»ΠΎΠ²Π°. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΡΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
black
ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Python ΡΠ°Π·Π²ΠΈΠ²Π°Π»ΠΎΡΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° PEP8. ΠΠΎΠ΄ΡΡΠ°ΠΉΠ» β ΡΡΠΎ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ ΡΠ°ΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. Π§ΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌ ΠΊΠ°Π½ΠΎΠ½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ, Π½ΠΎ ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ black.
ΠΡΠΎΡ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠΌΠ΅Π½ΡΡΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠΉ Π½Π° ΡΠ΅Π²ΡΡ ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π²ΡΠ΅Π³Π΄Π°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π°Π΄Ρ ΠΠ°ΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ
ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² REG.RU
ΠΠ° Python ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ computer vision (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°ΠΊΠΈΡ ) , ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠ° ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Ρ ΡΡΠΈΠΌ ΡΠ²ΡΠ·Π°Π½Π°. ΠΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ:
- Flask β ΠΌΠΈΠΊΡΠΎ Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π΄Π»Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
- Keras β ΠΊΠ»Π°ΡΡΠ½ΡΠΉ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ API ΠΊ TensorFlow. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΈΡΡΡΠΌ TF.
- Numpy β ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ° Π² Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ.
- Pillow β ΡΡΠ°ΡΠ°Ρ Π΄ΠΎΠ±ΡΠ°Ρ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ, ΡΠΈΠ»ΡΡΡΡ, ΡΡΡΠ΅ΠΊΡΡ.
Π Π°Π΄Ρ ΠΠ°ΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ
ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² REG.RU
Π― Π²ΠΊΠ»ΡΡΠΈΠ» Π² ΡΠ²ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅, Π½ΠΎ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ 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.
Π Π°Π΄Ρ ΠΠ°ΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ
ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² REG.RU
pympler
ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
retrying
Π£Π΄ΠΎΠ±Π½Π°Ρ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ, Π΅ΡΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π·Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ Β«Π΄ΠΎΡΡΡΡΠ°ΡΡΡΡΒ». Π‘Π°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΡΠΎΠΊ, Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
responses
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° Π·Π°ΠΏΡΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ requests. ΠΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠ²Π΅Ρ Π²Π΅ΡΠ½Π΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ.
faker
Faker ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠΈΠ²Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π½Π°, Π°Π΄ΡΠ΅ΡΠ°, Π΄Π°Π½Π½ΡΠ΅ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΡ ΠΊΠ°ΡΡ, ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΠΈΡΠ½ΡΠΉ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°.
rich
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ API Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈΠ»Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ, ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ emoji ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. Π₯ΠΎΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π΅ Π½Π° python, Π½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
py-spy
Π y-spy β ΡΡΠΎ ΡΡΠΌΠΏΠ»ΠΈΡΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ Python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π±Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ flamegraph. ΠΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Β«Π·Π΄Π΅ΡΡ ΠΈ ΡΠ΅ΠΉΡΠ°ΡΒ», Π»ΠΈΠ±ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ.
freezegun
ΠΡΠ²Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ/Π΄Π°ΡΡ. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°Π· Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π². ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ datetime.
funcy
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ.