Framework-agnostic messaging library for multi-channel communication.
Project description
python-missive
Bibliothèque Python légère et agnostique pour l'envoi de missives multi-canaux (emails, SMS, notifications push, courrier postal, etc.).
Présentation
python-missive est une bibliothèque Python framework-agnostic qui fournit des providers unifiés pour l'envoi de messages multi-canaux. Elle sert de base à django-missive et peut être utilisée indépendamment dans n'importe quel projet Python.
Fonctionnalités principales
- 🔌 15+ providers intégrés pour différents canaux de communication
- 📧 Email : SendGrid, Mailgun, SES, Brevo, SMTP, Django Email
- 📱 SMS & Voix : Twilio, Vonage, SMSPartner
- 💬 Messaging : Telegram, Signal, Messenger, Slack, Teams
- 📮 Courrier postal & LRE : La Poste, Maileva, AR24, Certeurope
- 🔔 Notifications push : FCM (Firebase), APN (Apple), In-App
- 🏗️ Architecture modulaire basée sur ProviderKit
- ✅ Framework-agnostic : utilisable avec ou sans framework
- 🎯 Type hints complets et documentation
Installation
# Installation basique
pip install python-missive
# Avec dépendances pour providers spécifiques
pip install python-missive[email] # Providers email
pip install python-missive[sms] # SMS et vocal
pip install python-missive[messaging] # Telegram, Signal, etc.
pip install python-missive[push] # FCM, APN
pip install python-missive[postal] # Courrier postal
pip install python-missive[all] # Tous les providers
Usage rapide
from pymissive.providers.sendgrid import SendGridProvider
# Configurer le provider
provider = SendGridProvider(config={
'SENDGRID_API_KEY': 'your-api-key'
})
# Envoyer un email
result = provider.send_email(
from_email='sender@example.com',
to_email='recipient@example.com',
subject='Hello',
body='<p>Message content</p>'
)
Providers disponibles
DjangoEmailProvider- Utilise le backend email DjangoSMTPProvider- SMTP génériqueSendGridProvider- SendGrid APIMailgunProvider- Mailgun APISESProvider- Amazon SESBrevoProvider- Brevo (ex-Sendinblue)ScalewayProvider- Scaleway Transactional Email
SMS & Voix
TwilioProvider- Twilio SMS et appels vocauxVonageProvider- Vonage (ex-Nexmo)SMSPartnerProvider- SMSPartner
Messaging
TelegramProvider- Telegram Bot APISignalProvider- Signal MessengerMessengerProvider- Facebook MessengerSlackProvider- SlackTeamsProvider- Microsoft Teams
Courrier postal & LRE
LaPosteProvider- La Poste (courrier physique)MailevaProvider- MailevaAR24Provider- AR24 (LRE)CerteuropeProvider- Certeurope
Notifications push
FCMProvider- Firebase Cloud MessagingAPNProvider- Apple Push NotificationInAppNotificationProvider- Notifications in-app
Architecture
La bibliothèque utilise ProviderKit pour la gestion des providers :
from pymissive.providers import get_missive_providers
# Découvrir tous les providers disponibles
providers = get_missive_providers()
# Filtrer par type de service
email_providers = [p for p in providers if 'email' in p.services]
Documentation
Pour plus de détails, consultez la documentation dans le dossier docs/ :
docs/purpose.md- Objectifs et architecture du projetdocs/structure.md- Structure des modules et organisationdocs/development.md- Guidelines de développementdocs/AI.md- Contrat pour assistants IA
Développement
# Créer un environnement virtuel
python service.py dev venv
# Installer en mode développement
python service.py dev install-dev
# Exécuter les tests
python service.py dev test
# Formater le code
python service.py dev format
# Lancer tous les checks qualité
python service.py quality check
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
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 pymissive-1.0.0.tar.gz.
File metadata
- Download URL: pymissive-1.0.0.tar.gz
- Upload date:
- Size: 25.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8d5b87e120dd8dc0235e373d21cf68c3b8a17b3360ee47f72f2235d81bd1463
|
|
| MD5 |
fdc790dd3ce13275a65138adc737968a
|
|
| BLAKE2b-256 |
bac484e01c20aa0a62d52094a4718dd9f88b295b9c51716951c1e5bf107c5795
|
File details
Details for the file pymissive-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pymissive-1.0.0-py3-none-any.whl
- Upload date:
- Size: 33.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf3259e55ceb50b4abd78359e6855c0e650a251e9e27f08f6dbaeb80f0155aa1
|
|
| MD5 |
5f04ba12fc1ec2f5750ef8920887041c
|
|
| BLAKE2b-256 |
f7c40c7611f5c4ea978735ed0baa8d3eb85f43627181f84196a46bf840645ba9
|