- Meta’nın Pyrefly aracı, Rust ile geliştirilmiş açık kaynaklı bir Python tür denetleyicisi ve IDE eklentisidir
- Son derece hızlı analiz performansı ve IDE entegrasyonu sunar; Pyre’ın sınırlarını aşmak için geliştirilmiştir
- Otomatik tür çıkarımı, büyük kod tabanı desteği ve açık kaynak felsefesi temel ilkeleri arasındadır
- Python topluluğuyla iş birliği ve katkılar yoluyla ekosistem genelindeki tür sistemini iyileştirmeyi hedefler
- Şu anda alfa sürümü yayımlandı; topluluktan geri bildirim ve katkı aktif olarak isteniyor
Giriş
- Pyrefly, Meta’nın Rust ile geliştirdiği, açık kaynaklı bir Python statik tür denetleyicisi ve IDE eklenti projesidir
- Kodu çalıştırmadan önce tür tutarlılığını doğrulayarak hataları önceden tespit etmeyi destekler
- Hem IDE entegrasyonu hem de CLI kullanımı mümkündür; böylece esnek bir iş akışı sunar
- Açık kaynak topluluğuyla iş birliği yaparak Python tür sisteminin ve çeşitli kütüphanelerin gelişimine katkı sağlamayı amaçlar
Pyrefly’nin geliştirilme arka planı
- 2017’de Meta, Instagram’ın büyük ölçekli Python kod tabanı için yeni bir tür denetleyicisi geliştirdi; bu araç daha sonra Pyre oldu
- Pyre, Hack ve Flow gibi araçların sağlam tasarımından ilham aldı ve performans için OCaml ile geliştirildi
- Zamanla tür sisteminin gelişmesi ve IDE entegrasyonu ihtiyacının artmasıyla bazı sınırlar ortaya çıktı
- Pyright gibi topluluk araçları da kullanıldı, ancak büyük ölçekli kod gezintisi ve tür dışa aktarma gibi gereksinimleri karşılamada yetersiz kalınca Pyrefly geliştirilmeye başlandı
Pyrefly’nin temel ilkeleri
-
1. Performans
- Geliştiricilerin kodu yazdıktan hemen sonra, her tuş vuruşunda hızlı tür denetimi alması gerekir
- Pyrefly, saniyede 1,8 milyon satırı denetleyebilen, çok büyük kod tabanlarını destekleyen yüksek performanslı bir Rust uygulaması yapısına sahiptir
-
2. IDE merkezli tasarım
- IDE ile CLI’ın aynı bakış açısını koruyabilmesi için soyutlama tasarımı en baştan buna göre yapıldı
- Pyre’da bu sonradan eklenen bir iyileştirmeydi; Pyrefly’de ise tasarım aşamasından itibaren tutarlılık vurgulandı
-
3. Inference (çıkarım)
- Tür açıklaması olmayan Python kodunda bile otomatik tür çıkarımı sağlar
- Dönüş değerleri ve yerel değişkenlerin türlerini IDE’de gösterir; ayrıca daha iyi kod yazımı için çift tıklamayla çıkarılan türü otomatik ekleme özelliği sunar
-
4. Açık kaynak
- Pyrefly, MIT lisansıyla GitHub’da açık olarak yayımlanmıştır; topluluk PR’ları ve hata bildirimleri memnuniyetle karşılanır
- Python ekosistemi ve Meta’nın başlıca kütüphaneleriyle (PyTorch vb.) bağlantı kurar; Discord kanalı üzerinden aktif iletişimi teşvik eder
Pyrefly’nin geleceği
- Toplulukla birlikte Python dili ve geliştirici deneyimini iyileştirme hedefiyle çalışıyor
- Pyre’ın ilk geliştirme döneminden beri kodu açık kaynak yapma ve PEP katkıları sürdürülüyordu; Pyrefly ile de farklı geliştiriciler, kütüphaneler ve yeni başlayanlar için tür kullanımının faydalarını en üst düzeye çıkarmak planlanıyor
- Meta, dinamik dillerde tür kullanımına dair deneyim ve kazanımlarını paylaşarak ekosistemde tür kalitesini artırmayı hedefliyor
- Pyrefly şu anda alfa sürümünde olsa da bu yaz resmî lansman hedefiyle sürekli hata düzeltmeleri ve yeni özellikler üzerinde çalışılıyor
- Topluluk geri bildirimi büyük önem taşıyor; Pyrefly kullandıktan sonra sorun bildirimi ve iyileştirme talepleri özellikle isteniyor
Pyrefly alfa sürümü kullanımı ve topluluk bilgileri
- Pyrefly’nin geliştirme süreci ve teknik ayrıntıları Meta Tech Podcast ile PyCon US sunumlarında paylaşıldı
- Meta Open Source ile ilgili siteler, YouTube, Facebook, Threads, X ve LinkedIn gibi çeşitli kanallar üzerinden ek bilgiler sunuluyor
1 yorum
Hacker News yorumları
uv'nin popülaritesi çok yüksek olduğu içinty'nin bu alanda galip geleceğine dair bir his var, işler ters giderse Atom ya da Flow'da olduğu gibi iç ekibin dış açık kaynağa yenik düştüğü ve üst yönetimde "bu ekibe gerçekten ihtiyaç yok mu, açık kaynak olana geçelim" havasının oluşabileceği bir durum yaşanabilir, bunun yöneticinin (Aaron Pollack?) dikkat etmesi gereken bir konu olduğunu düşünüyormypy'nin hâlâ varlığını sürdürdüğü gözlemimypy'den daha hızlı olduğu söyleniyorPylintgibi bir linter'ın kod satırı başına tek tek kontrol yapıp 30 saniyeden uzun sürebildiği, dolayısıyla bunun performansın önemli olduğu bir alan olduğu savunuluyorpyrefly'nin sadece VS Code'a bağlı olmadığı hatırlatılıyor; farklı insanların farklı tercihleri olduğu konusunda biraz daha anlayış isteniyor,pycharm'ın da mutlak olarak daha iyi olmadığı söyleniyor; yorum sahibi,vscodeile uzaktan geliştirmenin rahat olduğunu, ama internete çıkıppycharm'ın kötü olduğunu yazmak istemediğini ekliyor