12 puan yazan darjeeling 2026-01-10 | Henüz yorum yok. | WhatsApp'ta paylaş

Özet:

  • Astral'ın (Ruff'un geliştiricisi) yayınladığı Rust tabanlı yeni Python tip denetleyicisi ty'nin benimsenmesi ve geçiş yöntemleri ele alınıyor.
  • ty, varsayılan olarak Mypy'nin strict moduna benzer şekilde çalışır ve uv ile kurulum ve çalıştırmayı temel olarak destekler.
  • Henüz resmi bir pre-commit desteği yoktur, ancak topluluk tarafından sunulan geçici çözümler kullanılabilir; GitHub Actions entegrasyonu da ayrıntılı olarak tanıtılır.

Ayrıntılı özet:
1. Ty tanıtımı ve özellikleri
Mypy ve Pyright'ın liderlik ettiği Python tip denetimi ekosistemine, Astral tarafından geliştirilen ty yeni katıldı. Ruff gibi o da Rust ile yazıldığı için çok yüksek hız sunar.

2. Kurulum ve yerelde çalıştırma
ty, uv üzerinden kolayca kurulup çalıştırılabilir.

  • Kurulum:
    # uv ile araç kurulumu  
    uv tool install ty@latest  
    
    # veya standalone kurulum desteği (belgelere bakın)  
    
  • Çalıştırma:
    # kurulumdan sonra çalıştırma  
    uv run ty  
    
    # kurulum yapmadan çalıştırma (uvx kullanarak)  
    uvx ty  
    
    # doğrudan çalıştırma  
    ty check  
    

3. Yapılandırma (Configuration)
Yapılandırma pyproject.toml veya ty.toml üzerinden yapılabilir.

  • Varsayılan davranış: Ayrı bir ayar olmadan çalıştırıldığında Mypy'nin strict moduna oldukça benzer davranır.
  • Kısıtlar: Şu anda eksik tip ipuçlarını (missing type hints) vurgulamaz. Bunu zorunlu kılmak için Ruff'un flake8-annotations kuralları pyproject.toml içine eklenerek bu eksik telafi edilmelidir.

4. GitHub Actions entegrasyonu
CI ortamında PR oluşturulduğunda otomatik tip denetimi çalıştırmak için .github/workflows/ty.yml dosyası oluşturularak yapılandırma yapılabilir.

name: ty  
on:  
  pull_request:  
    types: [opened, synchronize, reopened, ready_for_review]  
  workflow_dispatch:  
jobs:  
  build:  
    if: github.event.pull_request.draft == false  
    runs-on: self-hosted  
    steps:  
      - uses: actions/checkout@v3  
      - name: Install Python  
        uses: actions/setup-python@v4  
        with:  
          python-version: "3.12"  
      - name: Install dependencies  
        run: |  
          python -m pip install --upgrade pip  
          pip install ty==0.0.7      
      - name: Run ty  
        run: ty check  
        continue-on-error: false  
  

(Not: ty sürümünün, yayın durumuna göre güncellenmesi gerekir.)

5. Pre-commit entegrasyonu
Şu anda resmi bir pre-commit hook desteği yoktur (issue #269), ancak topluluğun sunduğu geçici çözümlerden (ty-pre-commit gibi) yararlanılarak .pre-commit-config.yaml içine entegre edilebilir. Resmi destek geldiğinde yapılandırmanın güncellenmesi önerilir.

Henüz yorum yok.

Henüz yorum yok.