> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sunra.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Python

[![PyPI - Version](https://img.shields.io/pypi/v/sunra_client)](https://pypi.org/project/sunra_client)

### Giriş

Python için istemci kütüphanesi, Sunra'nın hizmetleriyle etkileşim kurmak için kullanımı kolay bir arayüz sunar.

### Kurulum

İstemciyi projenize entegre etmek için pip kullanarak yükleyin:

```bash theme={null}
pip install sunra-client
```

### Özellikler

#### Uç Noktaları Çağırma

Sunra, güvenilirlik ve ölçeklenebilirlik sağlayarak uç nokta isteklerini bir kuyruk sistemi aracılığıyla yönetir. Bir istek göndermek ve sonucu beklemek için `subscribe` yöntemini kullanın.

**Örnek:**

```python theme={null}
import sunra_client

result = sunra_client.subscribe(
    "black-forest-labs/flux-kontext-pro/text-to-image",
    arguments={
    	"prompt": 'Renkli evler, çamaşırların sallandığı ve pencerelerde uyuyan kedilerin olduğu Studio Ghibli tarzı sahil kasabası.',
    	"width": 1024,
    	"height": 768,
    	"output_format": 'jpeg'
    },
    with_logs=True,
    on_enqueue=print,
    on_queue_update=print,
)
print(result)
```

#### Kuyruk Yönetimi

Bu yöntemlerle isteklerinizi yönetin:

##### İstek Gönderme

Bir istek gönderin ve daha sonra kullanmak üzere `request_id`'yi alın.

**Örnek:**

```python theme={null}
import sunra_client

handler = sunra_client.submit(
    "black-forest-labs/flux-kontext-pro/text-to-image",
    arguments={
      "prompt": 'Renkli evler, çamaşırların sallandığı ve pencerelerde uyuyan kedilerin olduğu Studio Ghibli tarzı sahil kasabası.',
      "width": 1024,
      "height": 768,
      "output_format": 'jpeg'
    },
    webhook_url="https://optional.webhook.url/for/results",
)
request_id = handler.request_id
```

##### İstek Durumunu Kontrol Etme

Bir isteğin durumunu alın.

**Örnek:**

```python theme={null}
import sunra_client
status = sunra_client.status(request_id, with_logs=True)
```

##### İstek Sonuçlarını Alma

Tamamlanmış bir isteğin sonucunu getirin.

**Örnek:**

```python theme={null}
import sunra_client
result = sunra_client.result(request_id)
```

#### Dosya Yüklemeleri

Asenkron isteklerde kullanılmak üzere URL'ler elde etmek için dosya yükleyin. Bu, resimden videoya veya konuşmadan metne dönüştürücüler gibi dosyaları işleyen modeller için gereklidir.

<Note>Maksimum dosya boyutu: 100MB</Note>

##### Yerel Dosya Yükleme

Yerel dosya sisteminizden kolayca bir dosya yükleyebilirsiniz. Bu, yerel verileri işleyen komut dosyaları veya uygulamalar için faydalıdır.

```python theme={null}
import sunra_client

# Senkron istemciyi başlat
client = sunra_client.SyncClient()

try:
  # Verilen yoldan bir dosya yükle
  file_url = client.upload_file(path="path/to/your/image.png")
  print(f"Dosya başarıyla yüklendi: {file_url}")
  # Bu URL artık bir model uç noktası ile kullanılabilir
except FileNotFoundError:
  print("Hata: Dosya belirtilen yolda bulunamadı.")
except Exception as e:
  print(f"Bir hata oluştu: {e}")
```

##### Bellekteki Verileri Yükleme

PIL (Pillow) ile oluşturulan bir resmin içeriği veya bir web isteğinde alınan dosya gibi bellekte tutulan verileri de yükleyebilirsiniz.

<CodeGroup>
  ```python PIL Image theme={null}
  import sunra_client
  from PIL import Image
  import io

  # Senkron istemciyi başlat
  client = sunra_client.SyncClient()

  # Bellekte bir resim oluştur, örneğin Pillow ile
  image = Image.new("RGB", (600, 400), color = 'red')
  byte_arr = io.BytesIO()
  image.save(byte_arr, format='PNG')
  image_bytes = byte_arr.getvalue()

  # `upload` yöntemini kullanarak bellekteki resim verilerini yükle
  image_url = client.upload(
      data=image_bytes,
      content_type="image/png"
  )
  print(f"Resim başarıyla yüklendi: {image_url}")
  ```

  ```python Raw Bytes theme={null}
  import sunra_client

  # Senkron istemciyi başlat
  client = sunra_client.SyncClient()

  # Bir dosya okumadan veya web isteğinden sahip olabileceğiniz ham baytlar
  raw_data = b"some file content here"

  # Ham baytları yükle
  data_url = client.upload(
      data=raw_data,
      content_type="application/octet-stream"
  )
  print(f"Veri başarıyla yüklendi: {data_url}")
  ```
</CodeGroup>

### Destek

Yardım veya tartışmalar için topluluğumuza katılın:

* **Discord Topluluğu**: [Bize katılın](https://discord.gg/897qCzvCcU)
* **GitHub Deposu**: [Buraya gidin](https://github.com/sunra-ai/sunra-clients)

Size yardımcı olmak için buradayız!
