Metadata-Version: 2.4
Name: trapi-client
Version: 1.0.0
Summary: TRApi resmi Python istemcisi — Türkiye'ye özel API'ler | Official Python client for TRApi — Turkey-specific REST APIs (phone, TCMB, calendar, IBAN, company, Islamic)
Project-URL: Homepage, https://trapi.tr
Project-URL: Repository, https://github.com/doguab/turkapi-api
Project-URL: Documentation, https://trapi.tr/docs
Project-URL: Bug Tracker, https://github.com/doguab/turkapi-api/issues
Author-email: TRApi <support@trapi.tr>
License-Expression: MIT
Keywords: api,iban,rapidapi,trapi,turkey,turkish
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.27
Description-Content-Type: text/markdown

# trapi-client

**[TRApi](https://trapi.tr)** resmi Python istemcisi.
Official Python client for **[TRApi](https://trapi.tr)**.

Türkiye'ye özel REST API'leri: telefon doğrulama, TCMB döviz kuru ve altın fiyatları, iş takvimi, şirket sorgulama, IBAN/BIN/TCKN doğrulama, İslami servisler.

Turkey-specific REST APIs: phone validation, TCMB exchange rates & gold prices, business calendar, company lookup, IBAN/BIN/TCKN validation, Islamic services.

## Kurulum / Install

```bash
pip install trapi-client
```

**Python 3.10+** gereklidir. `httpx` üzerine kuruludur.

Requires **Python 3.10+**. Built on `httpx`.

## Hızlı Başlangıç / Quick Start

### RapidAPI (önerilen / recommended)

```python
import os
from trapi_client import TRApiClient

client = TRApiClient(
    rapid_api_key=os.environ["RAPIDAPI_KEY"],
    rapid_api_host="turkey-business-calendar-api.p.rapidapi.com",
)

# Telefon doğrulama / Phone validation
print(client.phone_validate("05301234567"))
```

### Doğrudan Erişim / Direct Access (`trapi.tr`)

```python
client = TRApiClient(proxy_secret=os.environ["TRAPI_PROXY_SECRET"])
```

## Örnek Çağrılar / Example Calls

```python
# Döviz kurları / Exchange rates
client.market_exchange_rates(lang="tr")

# IBAN doğrulama / IBAN validation
client.finance_validate_iban("TR330006100519786457841326")

# İş günü kontrolü / Business day check
client.calendar_is_business_day("2026-04-14")

# Namaz vakitleri / Prayer times
client.islamic_prayer_times("Istanbul", lang="tr")

# Altın fiyatları / Gold prices
client.market_gold_prices()

# Şirket VKN sorgulama / Company VKN lookup
client.company_vkn_lookup("1234567890")

# Resmi tatiller / Public holidays
client.calendar_holidays(2026)

# Telefon operatör tespiti / Operator detection
client.phone_operator("05301234567")
```

## Mevcut Metodlar / Available Methods

| Metod / Method | Açıklama / Description |
|----------------|------------------------|
| **Telefon / Phone** | |
| `phone_validate(number)` | Numara doğrulama / Number validation |
| `phone_operator(number)` | Operatör tespiti / Operator detection |
| `phone_format(number)` | Formatlama / Formatting |
| `phone_city(number)` | Şehir tespiti / City lookup |
| **Piyasa / Market** | |
| `market_exchange_rates()` | TCMB döviz kurları / TCMB exchange rates |
| `market_exchange_rate(currency)` | Tek döviz kuru / Single exchange rate |
| `market_gold_prices()` | Altın fiyatları / Gold prices |
| `market_convert(amount, source, target)` | Döviz çevirici / Currency converter |
| **Finans / Finance** | |
| `finance_validate_iban(iban)` | IBAN doğrulama / IBAN validation |
| `finance_lookup_bin(bin_number)` | BIN sorgulama / BIN lookup |
| `finance_validate_tckn(tckn)` | TC Kimlik doğrulama / Identity validation |
| `finance_validate_vkn(vkn)` | Vergi kimlik doğrulama / Tax ID validation |
| **Şirket / Company** | |
| `company_vkn_lookup(vkn)` | VKN ile şirket sorgulama / Company lookup by VKN |
| `company_tax_offices(city)` | Vergi daireleri / Tax offices |
| **Takvim / Calendar** | |
| `calendar_holidays(year)` | Resmi tatiller / Public holidays |
| `calendar_is_business_day(date)` | İş günü mü? / Is it a business day? |
| `calendar_business_days(start, end)` | İş günleri / Business days |
| `calendar_next_business_day(date)` | Sonraki iş günü / Next business day |
| `calendar_bist_trading_days(year)` | BIST işlem günleri / BIST trading days |
| **İslami / Islamic** | |
| `islamic_prayer_times(city)` | Namaz vakitleri (Diyanet) / Prayer times |
| `islamic_locations_cities()` | Şehir listesi / City list |
| `islamic_hijri_today()` | Bugünün Hicri tarihi / Today's Hijri date |
| `islamic_quran_random()` | Rastgele ayet / Random verse |

Tüm metodlar opsiyonel `lang` parametresi kabul eder (`"tr"` veya `"en"`).

All methods accept an optional `lang` parameter (`"tr"` or `"en"`).

## Lisans / License

MIT
