python-missive 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pymissive/__init__.py +3 -0
- pymissive/__main__.py +9 -0
- pymissive/archives/__init__.py +142 -0
- pymissive/archives/__main__.py +9 -0
- pymissive/archives/address.py +272 -0
- pymissive/archives/address_backends/__init__.py +29 -0
- pymissive/archives/address_backends/base.py +610 -0
- pymissive/archives/address_backends/geoapify.py +221 -0
- pymissive/archives/address_backends/geocode_earth.py +210 -0
- pymissive/archives/address_backends/google_maps.py +371 -0
- pymissive/archives/address_backends/here.py +348 -0
- pymissive/archives/address_backends/locationiq.py +271 -0
- pymissive/archives/address_backends/mapbox.py +314 -0
- pymissive/archives/address_backends/maps_co.py +257 -0
- pymissive/archives/address_backends/nominatim.py +348 -0
- pymissive/archives/address_backends/opencage.py +292 -0
- pymissive/archives/address_backends/pelias_mixin.py +181 -0
- pymissive/archives/address_backends/photon.py +322 -0
- pymissive/archives/cli.py +42 -0
- pymissive/archives/helpers.py +45 -0
- pymissive/archives/missive.py +64 -0
- pymissive/archives/providers/__init__.py +167 -0
- pymissive/archives/providers/apn.py +171 -0
- pymissive/archives/providers/ar24.py +204 -0
- pymissive/archives/providers/base/__init__.py +203 -0
- pymissive/archives/providers/base/_attachments.py +166 -0
- pymissive/archives/providers/base/branded.py +341 -0
- pymissive/archives/providers/base/common.py +781 -0
- pymissive/archives/providers/base/email.py +422 -0
- pymissive/archives/providers/base/email_message.py +85 -0
- pymissive/archives/providers/base/monitoring.py +150 -0
- pymissive/archives/providers/base/notification.py +187 -0
- pymissive/archives/providers/base/postal.py +742 -0
- pymissive/archives/providers/base/postal_defaults.py +26 -0
- pymissive/archives/providers/base/sms.py +213 -0
- pymissive/archives/providers/base/voice_call.py +82 -0
- pymissive/archives/providers/brevo.py +363 -0
- pymissive/archives/providers/certeurope.py +249 -0
- pymissive/archives/providers/django_email.py +182 -0
- pymissive/archives/providers/fcm.py +91 -0
- pymissive/archives/providers/laposte.py +392 -0
- pymissive/archives/providers/maileva.py +511 -0
- pymissive/archives/providers/mailgun.py +118 -0
- pymissive/archives/providers/messenger.py +74 -0
- pymissive/archives/providers/notification.py +112 -0
- pymissive/archives/providers/sendgrid.py +160 -0
- pymissive/archives/providers/ses.py +185 -0
- pymissive/archives/providers/signal.py +68 -0
- pymissive/archives/providers/slack.py +80 -0
- pymissive/archives/providers/smtp.py +190 -0
- pymissive/archives/providers/teams.py +91 -0
- pymissive/archives/providers/telegram.py +69 -0
- pymissive/archives/providers/twilio.py +310 -0
- pymissive/archives/providers/vonage.py +208 -0
- pymissive/archives/sender.py +339 -0
- pymissive/archives/status.py +22 -0
- pymissive/cli.py +42 -0
- pymissive/config.py +397 -0
- pymissive/helpers.py +0 -0
- pymissive/providers/apn.py +8 -0
- pymissive/providers/ar24.py +8 -0
- pymissive/providers/base/__init__.py +64 -0
- pymissive/providers/base/acknowledgement.py +6 -0
- pymissive/providers/base/attachments.py +10 -0
- pymissive/providers/base/branded.py +16 -0
- pymissive/providers/base/email.py +2 -0
- pymissive/providers/base/notification.py +2 -0
- pymissive/providers/base/postal.py +2 -0
- pymissive/providers/base/sms.py +2 -0
- pymissive/providers/base/voice_call.py +2 -0
- pymissive/providers/brevo.py +420 -0
- pymissive/providers/certeurope.py +8 -0
- pymissive/providers/django_email.py +8 -0
- pymissive/providers/fcm.py +8 -0
- pymissive/providers/laposte.py +8 -0
- pymissive/providers/maileva.py +8 -0
- pymissive/providers/mailgun.py +8 -0
- pymissive/providers/messenger.py +8 -0
- pymissive/providers/notification.py +8 -0
- pymissive/providers/partner.py +650 -0
- pymissive/providers/scaleway.py +498 -0
- pymissive/providers/sendgrid.py +8 -0
- pymissive/providers/ses.py +8 -0
- pymissive/providers/signal.py +8 -0
- pymissive/providers/slack.py +8 -0
- pymissive/providers/smtp.py +8 -0
- pymissive/providers/teams.py +8 -0
- pymissive/providers/telegram.py +8 -0
- pymissive/providers/twilio.py +8 -0
- pymissive/providers/vonage.py +8 -0
- python_missive-0.2.0.dist-info/METADATA +152 -0
- python_missive-0.2.0.dist-info/RECORD +95 -0
- python_missive-0.2.0.dist-info/WHEEL +5 -0
- python_missive-0.2.0.dist-info/entry_points.txt +2 -0
- python_missive-0.2.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: python-missive
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Framework-agnostic messaging library for multi-channel communication.
|
|
5
|
+
Author-email: Charl <charl@example.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://example.com/python-missive
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Provides-Extra: scaleway
|
|
11
|
+
Requires-Dist: boto3>=1.34; extra == "scaleway"
|
|
12
|
+
Requires-Dist: scaleway>=2.0; extra == "scaleway"
|
|
13
|
+
Provides-Extra: dev
|
|
14
|
+
Requires-Dist: pytest>=8.3; extra == "dev"
|
|
15
|
+
Requires-Dist: ruff>=0.5; extra == "dev"
|
|
16
|
+
Requires-Dist: flake8-simplify>=0.21; extra == "dev"
|
|
17
|
+
Requires-Dist: flake8-docstrings>=1.7; extra == "dev"
|
|
18
|
+
|
|
19
|
+
# python-missive
|
|
20
|
+
|
|
21
|
+
Bibliothèque Python légère et agnostique pour l'envoi de missives multi-canaux (emails, SMS, notifications push, courrier postal, etc.).
|
|
22
|
+
|
|
23
|
+
## Présentation
|
|
24
|
+
|
|
25
|
+
**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.
|
|
26
|
+
|
|
27
|
+
### Fonctionnalités principales
|
|
28
|
+
|
|
29
|
+
- 🔌 **15+ providers intégrés** pour différents canaux de communication
|
|
30
|
+
- 📧 **Email** : SendGrid, Mailgun, SES, Brevo, SMTP, Django Email
|
|
31
|
+
- 📱 **SMS & Voix** : Twilio, Vonage, SMSPartner
|
|
32
|
+
- 💬 **Messaging** : Telegram, Signal, Messenger, Slack, Teams
|
|
33
|
+
- 📮 **Courrier postal & LRE** : La Poste, Maileva, AR24, Certeurope
|
|
34
|
+
- 🔔 **Notifications push** : FCM (Firebase), APN (Apple), In-App
|
|
35
|
+
- 🏗️ **Architecture modulaire** basée sur ProviderKit
|
|
36
|
+
- ✅ **Framework-agnostic** : utilisable avec ou sans framework
|
|
37
|
+
- 🎯 **Type hints complets** et documentation
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Installation basique
|
|
43
|
+
pip install python-missive
|
|
44
|
+
|
|
45
|
+
# Avec dépendances pour providers spécifiques
|
|
46
|
+
pip install python-missive[email] # Providers email
|
|
47
|
+
pip install python-missive[sms] # SMS et vocal
|
|
48
|
+
pip install python-missive[messaging] # Telegram, Signal, etc.
|
|
49
|
+
pip install python-missive[push] # FCM, APN
|
|
50
|
+
pip install python-missive[postal] # Courrier postal
|
|
51
|
+
pip install python-missive[all] # Tous les providers
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Usage rapide
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from pymissive.providers.sendgrid import SendGridProvider
|
|
58
|
+
|
|
59
|
+
# Configurer le provider
|
|
60
|
+
provider = SendGridProvider(config={
|
|
61
|
+
'SENDGRID_API_KEY': 'your-api-key'
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
# Envoyer un email
|
|
65
|
+
result = provider.send_email(
|
|
66
|
+
from_email='sender@example.com',
|
|
67
|
+
to_email='recipient@example.com',
|
|
68
|
+
subject='Hello',
|
|
69
|
+
body='<p>Message content</p>'
|
|
70
|
+
)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Providers disponibles
|
|
74
|
+
|
|
75
|
+
### Email
|
|
76
|
+
- `DjangoEmailProvider` - Utilise le backend email Django
|
|
77
|
+
- `SMTPProvider` - SMTP générique
|
|
78
|
+
- `SendGridProvider` - SendGrid API
|
|
79
|
+
- `MailgunProvider` - Mailgun API
|
|
80
|
+
- `SESProvider` - Amazon SES
|
|
81
|
+
- `BrevoProvider` - Brevo (ex-Sendinblue)
|
|
82
|
+
- `ScalewayProvider` - Scaleway Transactional Email
|
|
83
|
+
|
|
84
|
+
### SMS & Voix
|
|
85
|
+
- `TwilioProvider` - Twilio SMS et appels vocaux
|
|
86
|
+
- `VonageProvider` - Vonage (ex-Nexmo)
|
|
87
|
+
- `SMSPartnerProvider` - SMSPartner
|
|
88
|
+
|
|
89
|
+
### Messaging
|
|
90
|
+
- `TelegramProvider` - Telegram Bot API
|
|
91
|
+
- `SignalProvider` - Signal Messenger
|
|
92
|
+
- `MessengerProvider` - Facebook Messenger
|
|
93
|
+
- `SlackProvider` - Slack
|
|
94
|
+
- `TeamsProvider` - Microsoft Teams
|
|
95
|
+
|
|
96
|
+
### Courrier postal & LRE
|
|
97
|
+
- `LaPosteProvider` - La Poste (courrier physique)
|
|
98
|
+
- `MailevaProvider` - Maileva
|
|
99
|
+
- `AR24Provider` - AR24 (LRE)
|
|
100
|
+
- `CerteuropeProvider` - Certeurope
|
|
101
|
+
|
|
102
|
+
### Notifications push
|
|
103
|
+
- `FCMProvider` - Firebase Cloud Messaging
|
|
104
|
+
- `APNProvider` - Apple Push Notification
|
|
105
|
+
- `InAppNotificationProvider` - Notifications in-app
|
|
106
|
+
|
|
107
|
+
## Architecture
|
|
108
|
+
|
|
109
|
+
La bibliothèque utilise **ProviderKit** pour la gestion des providers :
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
from pymissive.providers import get_missive_providers
|
|
113
|
+
|
|
114
|
+
# Découvrir tous les providers disponibles
|
|
115
|
+
providers = get_missive_providers()
|
|
116
|
+
|
|
117
|
+
# Filtrer par type de service
|
|
118
|
+
email_providers = [p for p in providers if 'email' in p.services]
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Documentation
|
|
122
|
+
|
|
123
|
+
Pour plus de détails, consultez la documentation dans le dossier `docs/` :
|
|
124
|
+
|
|
125
|
+
- `docs/purpose.md` - Objectifs et architecture du projet
|
|
126
|
+
- `docs/structure.md` - Structure des modules et organisation
|
|
127
|
+
- `docs/development.md` - Guidelines de développement
|
|
128
|
+
- `docs/AI.md` - Contrat pour assistants IA
|
|
129
|
+
|
|
130
|
+
## Développement
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Créer un environnement virtuel
|
|
134
|
+
python service.py dev venv
|
|
135
|
+
|
|
136
|
+
# Installer en mode développement
|
|
137
|
+
python service.py dev install-dev
|
|
138
|
+
|
|
139
|
+
# Exécuter les tests
|
|
140
|
+
python service.py dev test
|
|
141
|
+
|
|
142
|
+
# Formater le code
|
|
143
|
+
python service.py dev format
|
|
144
|
+
|
|
145
|
+
# Lancer tous les checks qualité
|
|
146
|
+
python service.py quality check
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Licence
|
|
150
|
+
|
|
151
|
+
Ce projet est sous licence MIT. Voir le fichier `LICENSE` pour plus de détails.
|
|
152
|
+
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
pymissive/__init__.py,sha256=a7t6jcwIQRxnWyAn-qopDRIza3zVubonCtuMC7pIhf4,84
|
|
2
|
+
pymissive/__main__.py,sha256=aNySAYqdUVPb-Wr5I6JE8_MeHHT5ECMD2w7waNEqKm0,124
|
|
3
|
+
pymissive/cli.py,sha256=sjvh3fEck9c-i1t5PD2RaIDO8MokqxcPuQnK1fi0RQI,1013
|
|
4
|
+
pymissive/config.py,sha256=V6aCtov_9YZGnOSJK4LWXIX3m74uQDMKPyLZGJfiXzE,10539
|
|
5
|
+
pymissive/helpers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
pymissive/archives/__init__.py,sha256=ha_2gU5w2fXINuwOWuN-Kq9ri1N0-2uoxiIgsITxtJQ,4825
|
|
7
|
+
pymissive/archives/__main__.py,sha256=aNySAYqdUVPb-Wr5I6JE8_MeHHT5ECMD2w7waNEqKm0,124
|
|
8
|
+
pymissive/archives/address.py,sha256=K06OgDy8f9ESLUAPiKCnSOvgCfymdXlycYXMJ429Qc8,10151
|
|
9
|
+
pymissive/archives/cli.py,sha256=sjvh3fEck9c-i1t5PD2RaIDO8MokqxcPuQnK1fi0RQI,1013
|
|
10
|
+
pymissive/archives/helpers.py,sha256=iqZyy1EqYvf2N9oEDgfFtYQ2hHLnHGkpSVf869Q7aTc,1407
|
|
11
|
+
pymissive/archives/missive.py,sha256=B7i79b4UzO4VdpwMzS8gxx77toFcr4RXlvaU45y-0zM,1941
|
|
12
|
+
pymissive/archives/sender.py,sha256=nOr7pSFZPaG1QpuPuCvPFmsWoty5SrbRTvWYAGeh-OM,12938
|
|
13
|
+
pymissive/archives/status.py,sha256=rtl3QcpdNzQArDuHxgfaZauQIN42Wc3JUx9wXA-XtN8,568
|
|
14
|
+
pymissive/archives/address_backends/__init__.py,sha256=RT1_ohC_klNr_racwX2VqFkMMCzEnaBUBPsLZQ0IXOk,902
|
|
15
|
+
pymissive/archives/address_backends/base.py,sha256=lABb2qygvllSbWbqhbh6x0kvYHikJmHWybhXo84MoZE,22228
|
|
16
|
+
pymissive/archives/address_backends/geoapify.py,sha256=HlwwmUsWF6VNoJk013FsPRUsVDfmVB9J4valyb-n1As,8638
|
|
17
|
+
pymissive/archives/address_backends/geocode_earth.py,sha256=d5gCpy9AZWBzNK_2Fr4eXRJtn_Xf8iNNFJhWxQ0q_-8,7979
|
|
18
|
+
pymissive/archives/address_backends/google_maps.py,sha256=A3UEJq6RF5SLS5W0FORpapx_-tJuwPsefE2YxAtIS5w,12756
|
|
19
|
+
pymissive/archives/address_backends/here.py,sha256=ZFW0d2KkD-FDYkfe5tjUEQSge_ZMTBSubGuqbCIOgoU,12683
|
|
20
|
+
pymissive/archives/address_backends/locationiq.py,sha256=5qp4YsnoeLUkh7yAkd9K-a2m0-szMSEJbGVvjduttYo,10235
|
|
21
|
+
pymissive/archives/address_backends/mapbox.py,sha256=oVvR5kEIa48bZ0WDyhJZPPdskF75PeCbE6xwV3PaePo,11705
|
|
22
|
+
pymissive/archives/address_backends/maps_co.py,sha256=VThA_ChNC59lwyxb8WjIjzKViCftYWIAS5F0kPscF3E,10117
|
|
23
|
+
pymissive/archives/address_backends/nominatim.py,sha256=5QFT8Jzkn9yovpbNss5dRXB9yF_a6maA723cSh1qkFA,12350
|
|
24
|
+
pymissive/archives/address_backends/opencage.py,sha256=hso1blS1NWzDa3g1rP0cs5XyzklgCL9LlTEzllIHq9w,11154
|
|
25
|
+
pymissive/archives/address_backends/pelias_mixin.py,sha256=Bv9W21u_KMUrPDu6mW83-wlgQq1TqloUZ7yLhs1TRzM,6840
|
|
26
|
+
pymissive/archives/address_backends/photon.py,sha256=AbAjLc2HOhbWM5WcbeuhYdGIose8dpPvgcEKC4_CaCE,12567
|
|
27
|
+
pymissive/archives/providers/__init__.py,sha256=BEU-nWcZ7R_gyieyeFgvZo1FhpjS6j8Anjl7W8C1-4U,5581
|
|
28
|
+
pymissive/archives/providers/apn.py,sha256=bMsaGqvLRtz0C3OAIxq0rGLsW9a6SB5Gvu_t6Y0eRWo,6089
|
|
29
|
+
pymissive/archives/providers/ar24.py,sha256=P6d6gMPK_EmOfXViBccfEQkF26DZJr4okroaH02XCrA,7238
|
|
30
|
+
pymissive/archives/providers/brevo.py,sha256=pX8YWD5jd6gvIFkLBVoSX6_GZohi6OdnGV6GufqDLfg,13910
|
|
31
|
+
pymissive/archives/providers/certeurope.py,sha256=Nyeu_KucWjR1auLfICgdhi9K2PBnZlJaBeLgVw0E8VA,8552
|
|
32
|
+
pymissive/archives/providers/django_email.py,sha256=CQLZPe0SqagGvpldAxcxLWifn1YclLA63EApEBce7oQ,7324
|
|
33
|
+
pymissive/archives/providers/fcm.py,sha256=qvZDUIA1RELDm3sX_g5FNNmTaG31L3GpjpQC3fF1Ts4,2763
|
|
34
|
+
pymissive/archives/providers/laposte.py,sha256=lvE-WoKDnSu-EWJsCgmXjUTqa_sWarLYxXgckUIoqYs,14660
|
|
35
|
+
pymissive/archives/providers/maileva.py,sha256=FgWXGl0hvaQfR8KnavkM_NwhHhvAVYtU9WlZfzlmEGM,19502
|
|
36
|
+
pymissive/archives/providers/mailgun.py,sha256=nn1AXRZKfK4tEKW1Y0dqKgsQnN3qj5HuPpW9zTp1c2w,4162
|
|
37
|
+
pymissive/archives/providers/messenger.py,sha256=wbKZmQXPw6ndqY9HhY1ZVQ3Ecegl5lCgFLoYWzdmWhk,2333
|
|
38
|
+
pymissive/archives/providers/notification.py,sha256=lDC_Ccyx9G2j3F3yofdBbj9BhCJrgZLEoyqyTGItnG0,3717
|
|
39
|
+
pymissive/archives/providers/sendgrid.py,sha256=PBwMMi0Rayfe3SiWaJwTqBbOcNYI9ZS6uVzLAuW653c,5741
|
|
40
|
+
pymissive/archives/providers/ses.py,sha256=D1pCfR6T8WjvUZ9mblRxEzRpdb1syG8b6FPRtm49pJU,6223
|
|
41
|
+
pymissive/archives/providers/signal.py,sha256=9ZEUnW7IHaGzGC9866k5IsFz6CNsmwb5TB2G2y0Ga1E,1983
|
|
42
|
+
pymissive/archives/providers/slack.py,sha256=GSDDZd0uOKlTt-5JSIG9rtEzGou_xn-Zzj-QEGY2CEQ,2497
|
|
43
|
+
pymissive/archives/providers/smtp.py,sha256=I8FOSV1pdUd15HcGVX1I9mKbD_rK5TS9m0Qe9WoI_hY,6685
|
|
44
|
+
pymissive/archives/providers/teams.py,sha256=hUMTMM8-uq8K76rqvzVOx79mNIX75_DGL7FDIV1JowA,2913
|
|
45
|
+
pymissive/archives/providers/telegram.py,sha256=I799nXhnl89wsPvt_4O1KAPHP2jwqMRiVnvREBcnwSY,2079
|
|
46
|
+
pymissive/archives/providers/twilio.py,sha256=SLFr51921_uoWnjH6gHCdpDV_vykG7nWLOeHIQJY1zA,10638
|
|
47
|
+
pymissive/archives/providers/vonage.py,sha256=4w6W9s0mU3vIJ80cvuubf2wnzCRCxVuoxN5GT0sPnGY,7273
|
|
48
|
+
pymissive/archives/providers/base/__init__.py,sha256=yICxO7zXYJapEgEKGDfGtLl3yfbE7pSUf367rUmEnD4,6112
|
|
49
|
+
pymissive/archives/providers/base/_attachments.py,sha256=748KrUbZYYSJsexsTQijYSh6mlO5XhwiuQmtiB4rt7A,6066
|
|
50
|
+
pymissive/archives/providers/base/branded.py,sha256=m_0TPLsh8KsH2w8qYvtzmW9CoxW17kITTqP_aNfovpw,12456
|
|
51
|
+
pymissive/archives/providers/base/common.py,sha256=PgcjZLs4EkX0uH8cU7ZjjSjlkdC1GFo1kOJU84PwY-M,29391
|
|
52
|
+
pymissive/archives/providers/base/email.py,sha256=h5CA8_I0B8pS6oz_5wWB6Wl-nNhbApDOyveUR0L-kg0,15213
|
|
53
|
+
pymissive/archives/providers/base/email_message.py,sha256=ligkPXvr8KvlzOS-ZmB_aRZVBgyHxSWjrdlpgJj1Fvk,2801
|
|
54
|
+
pymissive/archives/providers/base/monitoring.py,sha256=AwHfmuM_eLNzsD9R6xctOiGLOaxDINY3BkIM165BjOw,5151
|
|
55
|
+
pymissive/archives/providers/base/notification.py,sha256=4EXXSfkeRcD2_mayXZjjzvDgFm8g84h2iYoVe2dX6ZY,7201
|
|
56
|
+
pymissive/archives/providers/base/postal.py,sha256=bYGTCcod3ligGqGM4AwtnDjwIw6_LKCbpv-CMSWdcLA,28356
|
|
57
|
+
pymissive/archives/providers/base/postal_defaults.py,sha256=QPHk-yMU3opvy9vuG_jE9hvp9phxLc6JNs6RgTLz3aQ,681
|
|
58
|
+
pymissive/archives/providers/base/sms.py,sha256=ZUl2S_ZwKnezXNNZBdMkEKZL0d1_dEL2uwCNA7pk8_U,7442
|
|
59
|
+
pymissive/archives/providers/base/voice_call.py,sha256=x16iKJX6qsrlysImauJDofqpwvsnkSYtL-6c5mAd1OI,3027
|
|
60
|
+
pymissive/providers/apn.py,sha256=SepNPKLWDoZGaIEQ0zR1pYIa0704iveQl3YiuxBRtkY,229
|
|
61
|
+
pymissive/providers/ar24.py,sha256=utypmAFnV129IjW2W2N4vgNezGe5ujj9C0FPSWY8lH8,222
|
|
62
|
+
pymissive/providers/brevo.py,sha256=gyzfnNMeizB_vhKXZN6GCbfHn17gFljgtW12y27HySU,17063
|
|
63
|
+
pymissive/providers/certeurope.py,sha256=HObNYCtwdIdu1WhTS7QHuwy9uJS5YKcx7khqn5CaJvY,240
|
|
64
|
+
pymissive/providers/django_email.py,sha256=2z7FsEFFMqOHghW-MMenp5rUWHsCF7hl_yPfoPUwQbg,334
|
|
65
|
+
pymissive/providers/fcm.py,sha256=zZoNk5K1rRz-6rq3YzmFyb1LLQErLdOBAqJ2l6TQjbk,247
|
|
66
|
+
pymissive/providers/laposte.py,sha256=uy1yF3E5Iy1rDu34WEgZkdNwPEZkZd8N12Dm4ebrB6U,233
|
|
67
|
+
pymissive/providers/maileva.py,sha256=udZcvJffMhI2z1ZFpS6AAkUx4dZt4KKBpTCLhONnObg,226
|
|
68
|
+
pymissive/providers/mailgun.py,sha256=z8tS6jKONnL5W9vfogga41vzOPHO55idySMjjHL09Yo,239
|
|
69
|
+
pymissive/providers/messenger.py,sha256=WiF_fU0Is1GzGs5yGziZQwX4j2DYMOH8WDj-vDvduqs,244
|
|
70
|
+
pymissive/providers/notification.py,sha256=y2e3q5mjqwn1gCX5elE8b7yVsy4xHh5AEqPMU1Ug5ew,245
|
|
71
|
+
pymissive/providers/partner.py,sha256=gP6jWeYKAjQIuLnubZnxRZotEeGGL5788MIMJyi4yEQ,21406
|
|
72
|
+
pymissive/providers/scaleway.py,sha256=u_EzUb4QWhf3WFsS0Vxj_P_bd8X7Zh3yuuG-Y2DjR2Q,19832
|
|
73
|
+
pymissive/providers/sendgrid.py,sha256=6iV3CpjZJVe2iQerJFb4_g_UY55PIdbmNLKA-BACY_8,229
|
|
74
|
+
pymissive/providers/ses.py,sha256=VnAXKGGkjWiXoPJI0qJbXccLM5vWzLoPJTnWIeeuCuQ,223
|
|
75
|
+
pymissive/providers/signal.py,sha256=YMk31qbniq2eysl_ae4a__pZxAI_ohkM3Uk_vC8NazI,209
|
|
76
|
+
pymissive/providers/slack.py,sha256=eqDTrpKl4beyENVKEUtlUIqvF7eAahZb3B_-WfsnLWY,210
|
|
77
|
+
pymissive/providers/smtp.py,sha256=mJQ4_nqVE7_1MgmmwLV9IKJzl70qdg6amEbGkwl9HKg,242
|
|
78
|
+
pymissive/providers/teams.py,sha256=T61V85S0EPItARg0MiQBO2OWdvSqs0l7m35idwDO6zs,237
|
|
79
|
+
pymissive/providers/telegram.py,sha256=W_3HW-qic2cAFfI4WtSeUHW5V3NOsD8QXBj5CXG8pN4,212
|
|
80
|
+
pymissive/providers/twilio.py,sha256=pjjmVtu1Wg-IwM2qK5R_w-8FPZDrNjCFLtOrjBcFC1I,230
|
|
81
|
+
pymissive/providers/vonage.py,sha256=CRsWPRW8FYRKHxMBEtBKAjys0Ax7Do9CuQ1ZYI7RNEg,218
|
|
82
|
+
pymissive/providers/base/__init__.py,sha256=WJbTkd8GTQ8-ddnp5gseuScu7om_g5kucZN0nLudB2Q,1977
|
|
83
|
+
pymissive/providers/base/acknowledgement.py,sha256=Wohv9T4BjAFBTkZhZQBH_amYbeIz5AGO2rKZFq3ng_g,223
|
|
84
|
+
pymissive/providers/base/attachments.py,sha256=FTeig3cQPUOCo-lCTmaVUKGQHbAznolj6dFYvgoSEKk,272
|
|
85
|
+
pymissive/providers/base/branded.py,sha256=0oVNHzgUSfQm8Kg6sKTd8fVTcMv-pPrdgh7e_B_ulT0,538
|
|
86
|
+
pymissive/providers/base/email.py,sha256=cn1r79OdvDcrFiGlUC_ZyE2-7cRACdWYFyVQtQccxgw,45
|
|
87
|
+
pymissive/providers/base/notification.py,sha256=99_3sBxQ_A0PC1jEXxjmuXR_R5izllNGhtPw71Gwwnk,60
|
|
88
|
+
pymissive/providers/base/postal.py,sha256=ev10jni4OS5BWvHo8eCMC4RYRmpw4Worj07tDhZpv-Q,47
|
|
89
|
+
pymissive/providers/base/sms.py,sha256=1SZX8xgHVJ138Zp5F7P13X9PGZWZJWAm83UHm20geUM,41
|
|
90
|
+
pymissive/providers/base/voice_call.py,sha256=bC_jxdO2R28OZHdtbGuAgjKoQMChBbmSJKw2wK5tSZE,54
|
|
91
|
+
python_missive-0.2.0.dist-info/METADATA,sha256=ywU_N_ZYwOuSF6PBGxOon6nhhuKTGuESGCuvR0-x4Cs,4612
|
|
92
|
+
python_missive-0.2.0.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
|
|
93
|
+
python_missive-0.2.0.dist-info/entry_points.txt,sha256=1c3sMSXmAbsBpQxqvkmO_fPGspG19ReD3i1vsGXeLw0,49
|
|
94
|
+
python_missive-0.2.0.dist-info/top_level.txt,sha256=0NGfIiTXt1vY1-tHy1TK3CCYG0M8P5cNOeBSRpYJ0FE,10
|
|
95
|
+
python_missive-0.2.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pymissive
|