Π Π½Π°ΠΏΠΈΡΠ°Π½Π°ΡΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° async-tar, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° tar-Π°ΡΡ ΠΈΠ²ΠΈ, Π΅ ΠΎΡΠΊΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2025-62518, ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ TARmageddon), ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠΈ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ tar-Π°ΡΡ ΠΈΠ² Π½Π΅ ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°, Π½ΠΎ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² Π²Π»ΠΎΠΆΠ΅Π½ tar-Π°ΡΡ ΠΈΠ². Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈ ΠΈ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π·Π° ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° ΡΡΡΠΎ Π² ΡΠΎΡΠΊΠΎΠ²Π΅ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° async-tar, ΠΊΠ°ΡΠΎ tokio-tar, krata-tokio-tar ΠΈ astral-tokio-tar, ΠΈ Π² ΡΡΠΈΠ»ΠΈΡΠΈΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ uv, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ ΠΊΠ°ΡΠΎ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π½Π° βpipβ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Python. ΠΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ testcontainers Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ WebAssembly runtime wasmCloud. Π Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ crates.is Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 90 Π΄Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° async-tar Π΅ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π° 1,3 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΡΡΠΈ, tokio-tar β 2,2 ΠΌΠΈΠ»ΠΈΠΎΠ½Π°, Π° testcontainers β 2,9 ΠΌΠΈΠ»ΠΈΠΎΠ½Π°.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΡΠΈ ΡΠ°Π·Π±ΠΎΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² Π·Π°Π³Π»Π°Π²ΠΈΡΡΠ° ustar ΠΈ PAX. Π tar Π°ΡΡ ΠΈΠ²ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ PAX Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ» Π²ΡΡΡΠ΅ Π² Π°ΡΡ ΠΈΠ²Π° ΡΠ΅ ΡΠΊΠ°Π·Π²Π°Ρ Π΄Π²Π° Π·Π°Π³Π»Π°Π²ΠΈΡ β ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ustar ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΎΡΠΎ PAX. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Ρ ΠΎΡΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΡ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΎΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ PAX, Π²Π·Π΅ΠΌΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΡ ΠΎΡΡΠ°ΡΡΠ»ΠΎΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ustar. ΠΡΠΈ Π½ΡΠ»Π΅Π²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ ustar, ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° ΡΠ»Π΅Π΄ Π½Π΅Π³ΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ°ΡΠΎ Π²Π°Π»ΠΈΠ΄Π΅Π½ Π±Π»ΠΎΠΊ TAR Π·Π°Π³Π»Π°Π²ΠΈΡ Π·Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ».


ΠΠ° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ TAR-Π°ΡΡ ΠΈΠ², Π² ΠΊΠΎΠΉΡΠΎ Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ ustar Π΅ ΡΠΊΠ°Π·Π°Π½ Π½ΡΠ»Π΅Π² ΡΠ°Π·ΠΌΠ΅Ρ, Π° Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° PAX Π°ΠΊΡΡΠ°Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π° Ρ Π΄ΡΡΠ³ tar-Π°ΡΡ ΠΈΠ² ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π°ΡΡ ΠΈΠ². ΠΡΠΈΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ Π½Π° GitHub. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Π½Π° Π² ΠΈΠ·Π΄Π°Π½ΠΈΡΡΠ° tokio-tar 0.5.6 ΠΈ uv 0.9.5. ΠΠ° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ, Π½ΠΎ Π·Π° astral-tokio-tar, async-tar ΠΈ krata-tokio-tar ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠ°ΡΠΎΠ²Π΅.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΠ° ΠΎΡΠ΅Π½Π΅Π½ΠΈ Ρ Π½ΠΈΠ²ΠΎ Π½Π° ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ 8.1 ΠΎΡ 10, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π² ΡΡΠ·Π²ΠΈΠΌΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ Π½Π΅ ΡΠ΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΈ Π² Π°ΡΡ ΠΈΠ²Π°). Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ uv Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π° ΠΊΠ°ΡΠΎ Π½Π΅ΠΎΠΏΠ°ΡΠ½Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°ΠΊΠΎ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π»ΠΈΡΠ΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ Π°ΡΡ ΠΈΠ², Π½ΡΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π° Π°ΡΠ°ΠΊΠ°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΡΠ΅Π· Π²Π»ΠΎΠΆΠ΅Π½ Π°ΡΡ ΠΈΠ², ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΡΡΠ΅Π· ΡΠ±ΠΎΡΠΎΡΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π°ΡΡ ΠΈΠ².
ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅, ΠΎΡΠΊΡΠΈΠ»ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ°, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Ρ ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ Π½Π° Π°ΡΠ°ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΡ ΠΌΠ΅ΡΠΊΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΡΡΠ΅Π· Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ΅ΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ±ΠΎΡΠΊΠ°. ΠΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈΡΡ Π°ΡΡ ΠΈΠ² ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡ ΡΠΊΠ΅Π½Π΅Ρ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΠΈ ΡΡΡΠ΅Π½ ΠΎΠ΄ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠΈΡΡ Π½ΡΠΌΠ° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½ Π°ΡΡ ΠΈΠ² Ρ Π΄ΡΡΠ³ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΈ ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Rust-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΡ Π°ΡΡ ΠΈΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎΡΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠ°ΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ Π°ΡΡ
ΠΈΠ² Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ PyPI, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π°ΡΡ
ΠΈΠ², ΡΡΠ΄ΡΡΠΆΠ°Ρ Π»Π΅Π³ΠΈΡΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ» pyproject.toml. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° uv Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΠΈΡΡ pyproject.toml ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π°ΡΡ
ΠΈΠ², ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ. ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π·Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° testcontainers.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
