ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° GitGuardian ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π°Π±ΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠ΄Π°, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Python ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ PyPI (Python Package Index). Π‘Π»Π΅Π΄ ΠΈΠ·ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π°Π΄ 9.5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ°ΠΉΠ»Π° ΠΈ 5 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ 450 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π±ΡΡ Π° ΠΎΡΠΊΡΠΈΡΠΈ 56866 ΡΠ°ΠΊΡΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΊΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ°ΠΌΠΎ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄ΡΠ±Π»ΠΈΡΠ°Π½ΠΈΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ, Π±ΡΠΎΡΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ Π΅ 3938, Π° Π±ΡΠΎΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ½Π΅ Π΅Π΄Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ β 2922.
ΠΠ±ΡΠΎ ΡΠ° ΠΎΡΠΊΡΠΈΡΠΈ Π½Π°Π΄ 150 ΡΠΈΠΏΠ° ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠ΅Π΄ ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅, ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ API. ΠΠ°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ 768 ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π²Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ΡΠΎ. ΠΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΡΠ°Π²Π°Ρ Π°ΠΊΡΡΠ°Π»Π½ΠΈ, ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Azure Active Directory, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΡΠ° Π·Π° SSH, MongoDB, MySQL ΠΈ PostgreSQL, ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° GitHub OAuth App, Dropbox ΠΈ Auth0, Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° Π²Ρ ΠΎΠ΄ Π² Coinbase ΠΈ Twilio.
ΠΡ Π½ΠΎΠ²ΠΈΡΠ΅, Π½Π°Π±ΠΈΡΠ°ΡΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡ ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ ΡΠΎΠΊΠ΅Π½ΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±ΠΎΡΠΎΠ²Π΅ Π² Telegram, Π±ΡΠΎΡΡ Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΄Π²ΠΎΠΈ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2021 Π³ΠΎΠ΄ΠΈΠ½Π°, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ΅ ΡΠ΄Π²ΠΎΠΈ ΠΏΡΠ΅Π· ΠΏΡΠΎΠ»Π΅ΡΡΠ° Π½Π° 2023 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠΎΡΡΠΎΡΠ½Π΅Π½ ΡΡΡΡ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡΡΠ° ΡΡΡΠΎ ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΠΎΡ 2020 Π³ΠΎΠ΄ΠΈΠ½Π° Π·Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Google API, Π° ΠΎΡ 2022 Π³ΠΎΠ΄ΠΈΠ½Π° β Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π‘Π£ΠΠ. ΠΡ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π²ΠΎΠ΄Π΅ΡΠΈ ΠΏΠΎ Π±ΡΠΎΠΉ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ, ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ chatllm ΠΈ safire, Π² ΠΊΠΎΠΈΡΠΎ Π±ΡΡ Π° Π·Π°Π±ΡΠ°Π²Π΅Π½ΠΈ 209 ΠΊΠ»ΡΡΠ° Π·Π° OpenAI ΠΈ 320 ΠΊΠ»ΡΡΠ° Π·Π° Google Cloud.
Π‘ΡΠ΅Π΄ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡΠΎ Π±Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ Π½Π°ΠΉ-Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ, ΠΎΡΠ²Π΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Β«.pyΒ», ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ .json (610 ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ), .md (270), PKG-INFO (240), METADATA (210), .txt (170), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ README (209) ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΠΈΠΌΠ΅ test (675). ΠΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠΎ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠΈ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (.cookiecutterrc, .env, .pypirc ΠΈ Π΄Ρ.) ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΡΠ΅Π· ΡΠ°ΠΉΠ»Π° Β«.gitignoreΒ», ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΡΠ΅ ΠΎΡΡΠΈΡΠ° ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡ, Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π±ΡΡ Π° Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ 43 ΡΠ°ΠΉΠ»Π° .pypirc, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ PyPI. Π 15 ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π»ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° Π²ΡΡΡΠ΅ΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°, Π½ΠΎ ΠΏΠΎ ΠΏΠΎΠ³ΡΠ΅ΡΠΊΠ° Π³ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π»ΠΈ Π² PyPI.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ ΠΎΡΠ΅ Π΄Π²Π° ΡΡΠ±ΠΈΡΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ PyPI:
- Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PyPI Π±ΡΡ
Π° ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ 8 Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½ΠΈ ΠΊΠ°ΡΠΎ ΡΡΠΈΠ»ΠΈΡΠΈ Π·Π° ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ, Ρ.Π΅. ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π² Π½Π΅ΡΠ΅ΡΠΈΠΌ Π²ΠΈΠ΄, ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ°. Π£ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠ΄ΡΡΠΆΠ°Ρ
Π° Π² ΠΈΠΌΠ΅Π½Π°ΡΠ° ΡΠΈ Π½ΠΈΠ· Β«pyobfΒ» (Pyobftoexe, Pyobfusfile, Pyobfexecute, Pyobfpremium, Pyobflight, Pyobfadvance, Pyobfuse ΠΈ pyobfgood) ΠΈ Π±ΡΡ
Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 2000 ΠΏΡΡΠΈ.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄ Π±Π΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π²ΡΠ½ΡΠ΅Π½ ΡΠΏΡΠ°Π²ΠΈΡΠ΅Π» ΡΡΡΠ²ΡΡ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π½Π°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΡΡΡΠ²ΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊΠ°Π²Π° ΠΊΠ°ΡΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π΅Ρ, Π΄Π° ΠΏΡΠΈΡ Π²Π°ΡΠ° ΠΏΠ°ΡΠΎΠ»ΠΈ, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈ Π² Chrome, Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΡΠΊΡΠΈΠΉΠ½ΡΠΎΡΠΈ, Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π° Π·Π²ΡΠΊ ΠΈ Π΄ΠΎΡΠΈ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΠ΅Π± ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ°.
- ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ pypi.org, ΠΈ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° "cabotage", ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠ΄ΠΈΡΡΡ Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ Ρ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ°ΡΠ° Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ OTF (Open Technology Fund). Π Ρ
ΠΎΠ΄Π° Π½Π° ΠΎΠ΄ΠΈΡΠ° Π½Π΅ ΡΠ° ΠΎΡΠΊΡΠΈΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π²ΠΈΡΠΎΠΊ ΡΠΈΡΠΊ, Π° ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° ΠΏΡΠΈΠ·Π½Π°ΡΠΈ Π·Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π΅ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Ρ ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° cabotage ΠΈ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ 29 ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π½Π° ΠΎΡΠ΅ΠΌ Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ ΡΠΈΡΠΊ, Π½Π° 6 β Π½ΠΈΡΡΠΊ, Π° 14 ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠΊΠΈ.
ΠΠ°ΠΉ-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
- ΠΠ΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° PyPI Ρ AWS SNS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π° ΠΈΠΌΠ΅ΠΉΠ» Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
- ΠΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΠΊΠ°ΡΠ½Ρ Π±Π΅Π· Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΠΎΠΏΠΈΡΠΈ Π·Π° Π²Ρ ΠΎΠ΄.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Ρ Π΅ΡΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° Π°ΡΠ°ΠΊΠΈ ΠΏΠΎ ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΊΠ΅ΡΠ°.
- ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²Π° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΡΠ±ΠΎΡΠΊΠ° ΡΡΠ΅Π· cabotage, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠΏΠ΅Π΅ Π΄Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
- ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²Π° Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ (deployment) Π² cabotage, Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π·Π³ΡΡΡΠ° Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π·.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
