9. jūlijā Astral izlaida ty versiju 0.0.58, un lielākā daļa izmaiņu attiecas uz vienu bibliotēku — Pydantic. Rust valodā rakstītais Python tipu pārbaudītājs joprojām nes 0.0.x numuru, tātad pirms pirmās stabilās versijas, bet tieši trešo pušu bibliotēku atbalsts ir tas, kas šķir pašreizējo beta stāvokli no 1.0.
Astral ir tā pati komanda, kas uztur pakotņu pārvaldnieku uv un linteri ruff. ty ir viņu mēģinājums aizstāt mypy, Pyright un Pylance ar rīku, kas strādā uzreiz redaktorā, nevis liek gaidīt sekundes pēc katras taustiņa nospiešanas.
Ko dara ty un cik ātri
Skaitļi no Astral emuāra ir konkrēti. Uz Home Assistant koda bāzes komandrindas pārbaude aizņem 2,19 sekundes, kamēr Pyright to pašu izdara 19,62 sekundēs un mypy — 45,66 sekundēs. Dzīvās rediģēšanas režīmā atšķirība ir vēl lielāka: uz PyTorch ty pārrēķina diagnostiku 4,5 milisekundēs pret Pyright 370,5 ms un Pyrefly 2,60 sekundēm. Bez kešatmiņas ty ir aptuveni 10 līdz 60 reizes ātrāks par mypy un Pyright.
Ātrums nāk no arhitektūras. ty ir uzbūvēts uz Salsa — inkrementālās skaitļošanas ietvara, kas ļauj pārrēķināt tikai to daļu, kura mainījusies, kad izstrādātājs rediģē vienu funkciju vai failu. Diagnostikas ziņojumi ir veidoti pēc Rust kompilatora parauga: tie savelk kontekstu no vairākiem failiem un rāda, kur tieši tips nesakrīt.
Kāpēc Pydantic ir slieksnis
Reāls Python kods reti sastāv tikai no standarta bibliotēkas. Pydantic un Django definē tipus caur dekoratoriem, metaklasēm un dinamiski ģenerētiem laukiem, ko parasts tipu pārbaudītājs bez atsevišķa spraudņa nesaprot. Ja ty par tiem klūp, izstrādātājs saņem viltus kļūdas un ātri atgriežas pie mypy.
Versija 0.0.58 tāpēc lielāko daļu darba velta tieši Pydantic. Tā pievieno laukus no mixin klasēm, atpazīst validate_by_name un validate_by_alias parametrus, apstrādā validation_alias, labo float pārveidošanu apvienojumos (union) un atpazīst iesaldētos (frozen) modeļus, kas noteikti caur konfigurāciju. Blakus tam ir vispārīgāki labojumi — protokolu saskaņošana klases mainīgajiem, kešoto īpašību (cached properties) atbalsts protokolos un moduļa līmeņa __doc__ secināšana kā virkne.
Django atbalsts ir nākamais lielais mērķis pirms stabilā laidiena. Kamēr tā nav, ty uz tipiskas Django koda bāzes prasa manuālus apiešanas risinājumus.
Izlaišanas temps
Versiju vēsture GitHub lapā rāda, cik intensīvi notiek darbs. 0.0.56 iznāca 1. jūlijā, 0.0.57 — 7. jūlijā, 0.0.58 — 9. jūlijā. Vidēji jauns laidiens ik pēc diviem līdz četrām dienām. Numerācija paliek zem 0.1, kas ir apzināts signāls: API un uzvedība vēl var mainīties, un komanda to publiski atzīst.
Astral dibinātājs Čārlijs Māršs beta paziņojumā uzsvēra, ka
tyarhitektūra ir būvēta ap inkrementalitāti, kas ļauj piegādāt dzīvos atjauninājumus ārkārtīgi ātri jebkura redaktora kontekstā.
Beta versija sākās 2025. gada 18. decembrī, un stabilo 1.0 Astral mērķē uz šo, 2026. gadu. Ceļā uz to komanda min trīs prioritātes: pilnīgāka Python tipu specifikācijas segšana ar mērķi pārsniegt 60% atbilstību, tiešs Pydantic un Django atbalsts un stabilitāte.
Ko tas nozīmē tagad
Instalēt var ar uv tool install ty@latest vai caur VS Code paplašinājumu. Praksē ir saprātīgi ty pagaidām laist līdzās esošajam pārbaudītājam, nevis to uzreiz aizvietot — 0.0.x numurs nozīmē, ka atsevišķas kļūdas vēl parādās un pazūd starp laidieniem. Uz lieliem projektiem ātruma starpība redaktorā ir tā, ko izstrādātāji pamana pirmo: kļūdas parādās, kamēr raksti, nevis pēc tam, kad esi jau pārgājis pie nākamā faila.
Kā ziņo InfoWorld, pēc beta laidiena Astral plāno vispirms atbalstīt agrīnos lietotājus un tikai tad virzīties uz stabilo versiju. Katra jaunā 0.0.x versija ar Pydantic labojumiem samazina to gadījumu skaitu, kad reāls kods dod viltus kļūdas — un tieši šis skaitlis noteiks, vai 1.0 iznāks šogad.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.