7 poin oleh GN⁺ 2025-12-17 | Belum ada komentar. | Bagikan ke WhatsApp
  • ty, type checker dan language server Python supercepat yang ditulis dengan Rust, kini dirilis dalam versi beta
  • Dirancang sebagai alternatif untuk mypy, Pyright, dan Pylance, dengan performa 10–60 kali lebih cepat
  • Melalui arsitektur inkremental, hanya bagian yang diperlukan yang dihitung ulang saat kode diubah, sehingga memaksimalkan kecepatan respons real-time
  • Dengan fokus pada akurasi dan kegunaan, ty mendukung fitur sistem tipe modern seperti intersection types, advanced type narrowing, dan reachability analysis
  • Astral berencana mengembangkan ty bersama Ruff dan uv sebagai alat pengembangan inti dalam ekosistem Python

Ikhtisar ty

  • ty adalah type checker dan language server Python yang dikembangkan oleh Astral dan diimplementasikan dengan Rust
    • Dirancang sebagai alternatif yang jauh lebih cepat daripada mypy, Pyright, dan Pylance
    • Sudah digunakan di berbagai proyek internal Astral, dan pada tahap beta kini direkomendasikan juga untuk pengguna eksternal
  • Astral adalah tim yang membuat alat pengembangan berperforma tinggi untuk ekosistem Python, dan dikenal lewat uv (package manager) dan Ruff (linter dan formatter)

Performa dan arsitektur

  • ty dirancang dengan struktur berpusat pada language server, dan mengadopsi pemrosesan inkremental yang hanya menjalankan ulang operasi yang diperlukan saat file diubah
    • Karena itu, kecepatan pembaruan real-time di editor menjadi sangat tinggi
  • Bahkan saat dijalankan tanpa cache, ty tetap 10–60 kali lebih cepat daripada mypy dan Pyright
    • Contoh: saat file utama di repositori PyTorch diubah, kecepatan perhitungan ulang diagnostik mencapai 4.7ms, 80 kali lebih cepat daripada Pyright (386ms) dan 500 kali lebih cepat daripada Pyrefly (2.38 detik)
  • Bahkan pada proyek berskala besar, selisih performa saat pembaruan inkremental bisa mencapai puluhan kali lipat atau lebih

Sistem tipe dan akurasi

  • ty mendukung intersection types, advanced type narrowing, dan reachability analysis berbasis tipe
    • Melalui fitur-fitur ini, ty memberikan umpan balik tipe yang akurat dan mengurangi false positive yang tidak perlu
  • Tujuannya bukan sekadar meningkatkan kecepatan, tetapi membangun type checker yang meningkatkan akurasi sekaligus pengalaman pengguna

Sistem diagnostik

  • ty menyertakan sistem diagnostik canggih yang terinspirasi dari sistem pesan galat kompiler Rust
    • Dalam satu pesan diagnostik, konteks dari beberapa file dapat ditampilkan bersama untuk memperjelas penyebab masalah dan arah perbaikannya
    • Contoh: saat ada penetapan key dictionary yang salah, lokasi ketidakcocokan tipe dan lokasi deklarasi ditampilkan bersamaan
  • Output diagnostik adalah antarmuka inti ty, dan dirancang dengan struktur yang mudah dipahami oleh manusia maupun AI

Fitur language server

  • ty dapat digunakan di semua editor yang mendukung LSP (Language Server Protocol), seperti VS Code dan Cursor
    • Mendukung seluruh fitur language server modern seperti go to definition, rename symbol, autocompletion, auto-import, semantic syntax highlighting, dan inlay hints
  • Dapat dipasang melalui ekstensi VS Code, dan CLI juga bisa diinstal dengan perintah uv tool install ty@latest

Rencana ke depan

  • Target jangka pendek setelah beta adalah peningkatan stabilitas dan perbaikan bug, penyelesaian spesifikasi tipe Python, serta dukungan untuk Pydantic dan Django
  • Dalam jangka panjang, ty akan diperluas menjadi mesin fitur berbasis semantik dalam toolchain Astral
    • Fitur yang direncanakan mencakup penghapusan dead code, deteksi dependensi yang tidak terpakai, reachability analysis untuk kerentanan keamanan (CVE), dan linting yang memahami tipe
  • Astral menargetkan peningkatan ty secara berkelanjutan untuk menjadikan Python sebagai ekosistem pemrograman paling produktif

Ucapan terima kasih

  • Pengembangan ty melibatkan puluhan kontributor open source, dan dirilis di bawah lisensi MIT
  • Berbagai tokoh dan tim dari Salsa, Elixir, dan komunitas typing Python memberikan kolaborasi teknis serta inspirasi
  • Tim inti Astral mengembangkan ty berdasarkan pemahaman mendalam tentang teori tipe, semantik runtime Python, dan pola pemanfaatan ekosistem

Belum ada komentar.

Belum ada komentar.