Client Python pour l'API de surveillance de la dengue
Project description
Appi Dengue Client
Client Python officiel pour l'API de surveillance de la dengue Appi. Ce package permet d'accéder facilement aux données épidémiologiques, de gérer les alertes et d'effectuer des analyses avancées.
🚀 Installation
pip install dengsurvap-bf
Pour les fonctionnalités d'analyse avancées :
pip install dengsurvap-bf[analysis]
📖 Guide rapide
Connexion à l'API
from dengsurvab import AppiClient
# Initialisation du client
client = AppiClient(
base_url="https://votre-api-appi.com",
api_key="votre-clé-api"
)
# Authentification
client.authenticate("votre-email", "votre-mot-de-passe")
Récupération des données
# Récupérer les cas de dengue
cas = client.get_cas_dengue(
date_debut="2024-01-01",
date_fin="2024-12-31",
region="Antananarivo",
limit=100
)
# Récupérer les indicateurs hebdomadaires
indicateurs = client.data_period(
date_debut="2024-01-01",
date_fin="2024-12-31",
region="Toutes"
)
# Exporter les données
data_bytes = client.export_data(
format="csv",
date_debut="2024-01-01",
date_fin="2024-12-31"
)
Gestion des alertes
# Récupérer les alertes actives
alertes = client.get_alertes(severity="critical", status="active")
# Configurer les seuils d'alerte
client.configurer_seuils(
seuil_positivite=10,
seuil_hospitalisation=5,
seuil_deces=2
)
# Vérifier les alertes
alertes_verifiees = client.verifier_alertes(
date_debut="2024-01-01",
date_fin="2024-12-31"
)
🔧 Fonctionnalités principales
📊 Données épidémiologiques
- Récupération des cas de dengue
- Indicateurs hebdomadaires et mensuels
- Analyses géographiques et démographiques
- Calculs de taux (hospitalisation, létalité, positivité)
🚨 Système d'alertes
- Configuration des seuils d'alerte
- Vérification automatique des alertes
- Historique des alertes
- Notifications personnalisées
📈 Outils d'analyse
- Séries temporelles
- Détection d'anomalies
- Analyses statistiques
- Visualisations
🔐 Authentification sécurisée
- Support JWT
- Gestion des rôles (user, analyst, admin, authority)
- Tokens automatiques
- Sécurité renforcée
📤 Export/Import
- Formats multiples (CSV, JSON, Excel)
- Filtrage avancé
- Validation des données
- Compression automatique
📚 Documentation complète
Modèles de données
Cas de dengue
from dengsurvab.models import CasDengue
cas = CasDengue(
idCas=1,
date_consultation="2024-01-15",
region="Antananarivo",
district="Analamanga",
sexe="M",
age=25,
resultat_test="Positif",
serotype="DENV2",
hospitalise="Non",
issue="Guéri",
id_source=1
)
Alertes
from dengsurvab.models import AlertLog
alerte = AlertLog(
id=1,
severity="critical",
status="active",
message="Seuil dépassé pour la région Antananarivo",
region="Antananarivo",
created_at="2024-01-15T10:30:00"
)
Méthodes principales
Client API
# Authentification
client.authenticate(email, password)
client.logout()
# Données
client.get_cas_dengue(**params)
client.data_period(**params)
client.get_stats()
# Résumé statistique
client.resume() # Résumé JSON structuré
client.resume_display(verbose=True, show_details=True, graph=True) # Affichage console avec graphiques
# Alertes
client.get_alertes(**params)
client.configurer_seuils(**params)
client.verifier_alertes(**params)
# Export
client.export_data(format="csv", **params)
client.export_alertes(format="json", **params)
Outils d'analyse
from dengsurvab.analytics import EpidemiologicalAnalyzer
analyzer = EpidemiologicalAnalyzer(client)
# Analyses temporelles
series = analyzer.get_time_series(
date_debut="2024-01-01",
date_fin="2024-12-31",
frequency="W"
)
# Détection d'anomalies
anomalies = analyzer.detect_anomalies(series)
# Calculs de taux
taux = analyzer.calculate_rates(
date_debut="2024-01-01",
date_fin="2024-12-31"
)
🧪 Tests
# Installer les dépendances de développement
pip install dengsurvap-bf[dev]
# Lancer les tests
pytest
# Avec couverture
pytest --cov=dengsurvab
# Tests spécifiques
pytest tests/test_client.py
pytest tests/test_analytics.py
🔧 Configuration
Variables d'environnement
export APPI_API_URL="https://api-bf-dengue-survey-production.up.railway.app/"
export APPI_API_KEY="votre-clé-api"
export APPI_DEBUG="true"
Configuration programmatique
import os
from dengsurvab import AppiClient
# Configuration via variables d'environnement
client = AppiClient.from_env()
# Configuration manuelle
client = AppiClient(
base_url=os.getenv("APPI_API_URL"),
api_key=os.getenv("APPI_API_KEY"),
debug=os.getenv("APPI_DEBUG", "false").lower() == "true"
)
📊 Exemples avancés
Résumé statistique avec graphiques
from dengsurvab import AppiClient
client = AppiClient("https://api.example.com", "your-key")
# Résumé complet avec graphiques
client.resume_display(
verbose=True, # Afficher tous les détails
show_details=True, # Statistiques détaillées
graph=True # Afficher les graphiques
)
# Résumé simplifié sans graphiques
client.resume_display(
verbose=False, # Affichage simplifié
show_details=False, # Pas de détails
graph=False # Pas de graphiques
)
# Résumé avec graphiques mais sans détails
client.resume_display(
verbose=False, # Affichage simplifié
show_details=False, # Pas de détails
graph=True # Afficher les graphiques
)
Dashboard épidémiologique
from dengsurvab import AppiClient
from dengsurvab.analytics import DashboardGenerator
client = AppiClient("https://api.example.com", "your-key")
dashboard = DashboardGenerator(client)
# Générer un rapport complet
rapport = dashboard.generate_report(
date_debut="2024-01-01",
date_fin="2024-12-31",
region="Toutes",
include_visualizations=True
)
# Sauvegarder le rapport
dashboard.save_report(rapport, "rapport_dengue_2024.pdf")
Surveillance en temps réel
from dengsurvab import AppiClient
import time
client = AppiClient("https://api.example.com", "your-key")
def surveillance_continue():
while True:
# Vérifier les nouvelles alertes
alertes = client.get_alertes(status="active")
for alerte in alertes:
print(f"Nouvelle alerte: {alerte.message}")
# Attendre 5 minutes
time.sleep(300)
# Démarrer la surveillance
surveillance_continue()
🐛 Dépannage
Erreurs courantes
Erreur d'authentification
# Vérifier vos identifiants
client.authenticate("email@example.com", "mot-de-passe")
Erreur de connexion
# Vérifier l'URL de l'API
client = AppiClient("https://api-correcte.com", "your-key")
Erreur de validation
# Vérifier le format des dates
cas = client.get_cas_dengue(
date_debut="2024-01-01", # Format YYYY-MM-DD
date_fin="2024-12-31"
)
🤝 Contribution
- Fork le projet
- Créer une branche feature (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
📞 Support
- 📧 Email: yamsaid74@gmail.com
- 🐛 Issues: GitHub Issues
- 📖 Documentation: ReadTheDocs
🔄 Changelog
Version 0.1.0
- ✅ Client API de base
- ✅ Authentification JWT
- ✅ Gestion des alertes
- ✅ Export de données
- ✅ Outils d'analyse épidémiologique
- ✅ Documentation complète
- ✅ Tests unitaires
Appi Dengue Client - Simplifiez l'accès aux données de surveillance de la dengue avec Python.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dengsurvap_bf-0.1.0.tar.gz.
File metadata
- Download URL: dengsurvap_bf-0.1.0.tar.gz
- Upload date:
- Size: 57.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5d439b5957fbb1601eacf4e67452a64efd47d8d9c361a0cf33c69d142313b0f
|
|
| MD5 |
0346fdcf9ccada756834178ae5238ee1
|
|
| BLAKE2b-256 |
063febd82feb0c28f8c5b3a40af6464e6cf9e48c3153e04d1aa5c9ba07f1d779
|
File details
Details for the file dengsurvap_bf-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dengsurvap_bf-0.1.0-py3-none-any.whl
- Upload date:
- Size: 38.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea538aa1995b0dc4ce8a22716e101e2b773c43468881554d9725cf4258b6cab7
|
|
| MD5 |
8330a4246e2545cc7c8dd2280c15cc19
|
|
| BLAKE2b-256 |
0eaec78bd4e62b6f61019c3a8f98b0c343b3388c2fcd26f79e78f337c2aff609
|