Metadata-Version: 2.4
Name: wouaka
Version: 1.0.0
Summary: SDK Python officiel pour l'API Wouaka - Scoring crédit et KYC pour l'Afrique de l'Ouest
Home-page: https://github.com/wouaka/wouaka-python-sdk
Author: Wouaka SAS
Author-email: Wouaka SAS <support@wouaka.com>
License: MIT
Project-URL: Homepage, https://wouaka.com/developers/sdks
Project-URL: Documentation, https://docs.wouaka.com
Project-URL: Repository, https://github.com/wouaka/wouaka-python-sdk
Project-URL: Issues, https://github.com/wouaka/wouaka-python-sdk/issues
Keywords: wouaka,credit-scoring,kyc,verification,africa,uemoa,fintech,microfinance
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Topic :: Office/Business :: Financial
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.0.0
Requires-Dist: cryptography>=41.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=6.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.2.0; extra == "docs"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Wouaka Python SDK

SDK Python officiel pour l'API Wouaka - Solutions de scoring crédit et vérification KYC pour l'Afrique de l'Ouest.

## Installation

```bash
pip install wouaka
```

Ou depuis les sources:

```bash
git clone https://github.com/wouaka/wouaka-python-sdk.git
cd wouaka-python-sdk
pip install -e .
```

## Configuration

```python
from wouaka import WouakaClient

# Initialiser le client avec votre clé API
client = WouakaClient(
    api_key="wka_live_votre_cle_api",
    environment="production"  # ou "sandbox" pour les tests
)
```

## Fonctionnalités

### 1. Vérification KYC (WouakaVerify)

Vérifiez l'identité des clients avec détection de liveness et OCR intelligent.

```python
# Vérifier un document d'identité
result = client.kyc.verify(
    document_image="/path/to/cni.jpg",
    document_type="national_id",
    country="CI"  # Côte d'Ivoire
)

print(f"Statut: {result['status']}")
print(f"Nom: {result['data']['full_name']}")
print(f"Score d'authenticité: {result['authenticity_score']}")
```

### 2. Évaluation IEA (WouakaScore)

Calculez l'Indice d'Évaluabilité Africain pour évaluer le risque de crédit.

```python
# Évaluer une entreprise
evaluation = client.iea.evaluate(
    business_name="Boulangerie Moderne SARL",
    business_type="sme",
    location={
        "latitude": 5.3599,
        "longitude": -4.0083,
        "address": "Cocody Angré, Abidjan"
    },
    manager_info={
        "kyc_verification_id": "kyc_abc123"  # Optionnel
    }
)

print(f"Score IEA: {evaluation['iea_score']}/100")
print(f"Décision: {evaluation['recommendation']}")
print(f"ISI: {evaluation['isi_score']}")
print(f"ISS: {evaluation['iss_score']}")
print(f"IRM: {evaluation['irm_score']}")
```

### 3. Audit TrustLink (WouakaAtlas)

Auditez des projets avec analyse satellite et données de terrain.

```python
# Créer un audit de projet
audit = client.trustlink.create_audit(
    project_name="Construction Immeuble R+3",
    project_type="real_estate",
    location={
        "latitude": 5.3599,
        "longitude": -4.0083
    },
    declared_value=50000000,  # FCFA
    satellite_images={
        "before": "/path/to/before.jpg",
        "after": "/path/to/after.jpg"
    }
)

print(f"Score de conformité: {audit['compliance_score']}")
print(f"Risques détectés: {audit['risks_detected']}")
```

## Gestion des erreurs

```python
from wouaka.exceptions import (
    WouakaAPIError,
    InvalidAPIKeyError,
    QuotaExceededError,
    InvalidDocumentError
)

try:
    result = client.kyc.verify(document_image="invalid.jpg")
except InvalidDocumentError as e:
    print(f"Document invalide: {e.message}")
except QuotaExceededError as e:
    print(f"Quota épuisé. Limite: {e.quota_limit}")
except WouakaAPIError as e:
    print(f"Erreur API: {e.status_code} - {e.message}")
```

## Webhooks

Recevez des notifications en temps réel pour les événements importants.

```python
from wouaka.webhooks import verify_signature

@app.route('/webhooks/wouaka', methods=['POST'])
def handle_webhook():
    payload = request.data
    signature = request.headers.get('X-Wouaka-Signature')
    
    # Vérifier la signature
    if not verify_signature(payload, signature, webhook_secret):
        return 'Invalid signature', 401
    
    event = request.json
    
    if event['type'] == 'kyc.verified':
        # Traiter la vérification KYC complétée
        print(f"KYC vérifié: {event['data']['verification_id']}")
    
    elif event['type'] == 'evaluation.completed':
        # Traiter l'évaluation IEA complétée
        print(f"IEA complété: {event['data']['evaluation_id']}")
    
    return 'OK', 200
```

## Exemples avancés

### Évaluation en lot

```python
# Évaluer plusieurs entreprises en parallèle
businesses = [
    {"name": "Entreprise A", "location": {...}},
    {"name": "Entreprise B", "location": {...}},
]

results = client.iea.batch_evaluate(businesses)

for result in results:
    print(f"{result['business_name']}: {result['iea_score']}")
```

### Mode offline avec retry automatique

```python
from wouaka import WouakaClient

client = WouakaClient(
    api_key="wka_live_...",
    retry_config={
        "max_retries": 3,
        "backoff_factor": 2,
        "retry_on": [408, 500, 502, 503, 504]
    }
)
```

## Support

- **Documentation**: https://docs.wouaka.com
- **Email**: support@wouaka.com
- **Téléphone**: +225 07 01 23 89 74

## Licence

MIT License - Copyright (c) 2025 Wouaka SAS
