Skip to content

Latest commit

 

History

History
128 lines (89 loc) · 3.13 KB

File metadata and controls

128 lines (89 loc) · 3.13 KB
hide
navigation
tags
contributing
development

SAHI'ye Katkıda Bulunma

SAHI'ye katkıda bulunmak istediğiniz için teşekkür ederiz! Bu kılavuz hızlıca başlamanıza yardımcı olacaktır.

Geliştirme Ortamını Kurma

1. Fork ve Klonlama

git clone https://github.com/KULLANICI_ADINIZ/sahi.git
cd sahi

2. Ortam Oluşturma

Geliştirme için Python 3.10 kullanmanızı öneririz:

pip install uv
uv venv --python 3.10
source .venv/bin/activate  # Windows kullanıcıları: .venv\Scripts\activate

3. Bağımlılıkları Yükleme

# Çekirdek + geliştirme bağımlılıklarını yükleyin
uv sync --extra dev

# Belirli bir modeli test etmek isterseniz onun bağımlılıklarını da yükleyin.

Kod Formatlama

Kod formatlama ve lint kontrolleri için ruff kullanıyoruz. Kodu formatlamak için:

# Format kontrolü
uv run ruff check .
uv run ruff format --check .

# Formatı düzeltme
uv run ruff check --fix .
uv run ruff format .

Veya kolaylık sağlayan komut dosyasını kullanın:

# Format kontrolü
python scripts/format_code.py check

# Formatı düzeltme
python scripts/format_code.py fix

Testleri Çalıştırma

# Tüm testleri çalıştırın
uv run pytest

# Belirli bir test dosyasını çalıştırın
uv run pytest tests/test_predict.py

# Kapsam (coverage) raporu ile çalıştırın
uv run pytest --cov=sahi

Pull Request Gönderme

  1. Yeni bir dal oluşturun: git checkout -b feature-name
  2. Değişikliklerinizi yapın
  3. Kodu formatlayın: python scripts/format_code.py fix
  4. Testleri çalıştırın: uv run pytest
  5. Net bir commit mesajı yazın: git commit -m "Add feature X"
  6. Push yapın ve PR oluşturun: git push origin feature-name

CI Derleme Başarısızlıkları

CI derlemesi format sorunları nedeniyle başarısız olursa:

  1. CI çıktısını inceleyin ve başarısız olan Python sürümünü onaylayın

  2. O sürümle bir ortam oluşturun:

    uv venv --python 3.X  # X yerine CI sürümünü yazın
    source .venv/bin/activate
  3. Geliştirme bağımlılıklarını yükleyin:

    uv sync --extra dev
  4. Formatı düzeltin:

    python scripts/format_code.py fix
  5. Değişiklikleri commit edin ve push yapın

Yeni Model Desteği Ekleme

Yeni bir tespit kütüphanesi desteği eklemek için:

  1. sahi/models/your_framework.py altında yeni bir dosya oluşturun
  2. DetectionModel sınıfından türeyen bir sınıf yazın
  3. sahi/auto_model.py içinde MODEL_TYPE_TO_MODEL_CLASS_NAME sözlüğüne kütüphanenizi ekleyin
  4. tests/test_yourframework.py altına test ekleyin
  5. demo/inference_for_your_framework.ipynb altına örnek bir notebook ekleyin
  6. Yeni modelinizi içerecek şekilde README.md ve docs/ altındaki ilgili dokümanları güncelleyin

Lütfen sahi/models/ultralytics.py gibi mevcut uygulamaları referans alın.

Sorunuz Var mı?

Herhangi bir sorunuz varsa, bir tartışma (discussion) başlatabilirsiniz!