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.
Files changed (95) hide show
  1. pymissive/__init__.py +3 -0
  2. pymissive/__main__.py +9 -0
  3. pymissive/archives/__init__.py +142 -0
  4. pymissive/archives/__main__.py +9 -0
  5. pymissive/archives/address.py +272 -0
  6. pymissive/archives/address_backends/__init__.py +29 -0
  7. pymissive/archives/address_backends/base.py +610 -0
  8. pymissive/archives/address_backends/geoapify.py +221 -0
  9. pymissive/archives/address_backends/geocode_earth.py +210 -0
  10. pymissive/archives/address_backends/google_maps.py +371 -0
  11. pymissive/archives/address_backends/here.py +348 -0
  12. pymissive/archives/address_backends/locationiq.py +271 -0
  13. pymissive/archives/address_backends/mapbox.py +314 -0
  14. pymissive/archives/address_backends/maps_co.py +257 -0
  15. pymissive/archives/address_backends/nominatim.py +348 -0
  16. pymissive/archives/address_backends/opencage.py +292 -0
  17. pymissive/archives/address_backends/pelias_mixin.py +181 -0
  18. pymissive/archives/address_backends/photon.py +322 -0
  19. pymissive/archives/cli.py +42 -0
  20. pymissive/archives/helpers.py +45 -0
  21. pymissive/archives/missive.py +64 -0
  22. pymissive/archives/providers/__init__.py +167 -0
  23. pymissive/archives/providers/apn.py +171 -0
  24. pymissive/archives/providers/ar24.py +204 -0
  25. pymissive/archives/providers/base/__init__.py +203 -0
  26. pymissive/archives/providers/base/_attachments.py +166 -0
  27. pymissive/archives/providers/base/branded.py +341 -0
  28. pymissive/archives/providers/base/common.py +781 -0
  29. pymissive/archives/providers/base/email.py +422 -0
  30. pymissive/archives/providers/base/email_message.py +85 -0
  31. pymissive/archives/providers/base/monitoring.py +150 -0
  32. pymissive/archives/providers/base/notification.py +187 -0
  33. pymissive/archives/providers/base/postal.py +742 -0
  34. pymissive/archives/providers/base/postal_defaults.py +26 -0
  35. pymissive/archives/providers/base/sms.py +213 -0
  36. pymissive/archives/providers/base/voice_call.py +82 -0
  37. pymissive/archives/providers/brevo.py +363 -0
  38. pymissive/archives/providers/certeurope.py +249 -0
  39. pymissive/archives/providers/django_email.py +182 -0
  40. pymissive/archives/providers/fcm.py +91 -0
  41. pymissive/archives/providers/laposte.py +392 -0
  42. pymissive/archives/providers/maileva.py +511 -0
  43. pymissive/archives/providers/mailgun.py +118 -0
  44. pymissive/archives/providers/messenger.py +74 -0
  45. pymissive/archives/providers/notification.py +112 -0
  46. pymissive/archives/providers/sendgrid.py +160 -0
  47. pymissive/archives/providers/ses.py +185 -0
  48. pymissive/archives/providers/signal.py +68 -0
  49. pymissive/archives/providers/slack.py +80 -0
  50. pymissive/archives/providers/smtp.py +190 -0
  51. pymissive/archives/providers/teams.py +91 -0
  52. pymissive/archives/providers/telegram.py +69 -0
  53. pymissive/archives/providers/twilio.py +310 -0
  54. pymissive/archives/providers/vonage.py +208 -0
  55. pymissive/archives/sender.py +339 -0
  56. pymissive/archives/status.py +22 -0
  57. pymissive/cli.py +42 -0
  58. pymissive/config.py +397 -0
  59. pymissive/helpers.py +0 -0
  60. pymissive/providers/apn.py +8 -0
  61. pymissive/providers/ar24.py +8 -0
  62. pymissive/providers/base/__init__.py +64 -0
  63. pymissive/providers/base/acknowledgement.py +6 -0
  64. pymissive/providers/base/attachments.py +10 -0
  65. pymissive/providers/base/branded.py +16 -0
  66. pymissive/providers/base/email.py +2 -0
  67. pymissive/providers/base/notification.py +2 -0
  68. pymissive/providers/base/postal.py +2 -0
  69. pymissive/providers/base/sms.py +2 -0
  70. pymissive/providers/base/voice_call.py +2 -0
  71. pymissive/providers/brevo.py +420 -0
  72. pymissive/providers/certeurope.py +8 -0
  73. pymissive/providers/django_email.py +8 -0
  74. pymissive/providers/fcm.py +8 -0
  75. pymissive/providers/laposte.py +8 -0
  76. pymissive/providers/maileva.py +8 -0
  77. pymissive/providers/mailgun.py +8 -0
  78. pymissive/providers/messenger.py +8 -0
  79. pymissive/providers/notification.py +8 -0
  80. pymissive/providers/partner.py +650 -0
  81. pymissive/providers/scaleway.py +498 -0
  82. pymissive/providers/sendgrid.py +8 -0
  83. pymissive/providers/ses.py +8 -0
  84. pymissive/providers/signal.py +8 -0
  85. pymissive/providers/slack.py +8 -0
  86. pymissive/providers/smtp.py +8 -0
  87. pymissive/providers/teams.py +8 -0
  88. pymissive/providers/telegram.py +8 -0
  89. pymissive/providers/twilio.py +8 -0
  90. pymissive/providers/vonage.py +8 -0
  91. python_missive-0.2.0.dist-info/METADATA +152 -0
  92. python_missive-0.2.0.dist-info/RECORD +95 -0
  93. python_missive-0.2.0.dist-info/WHEEL +5 -0
  94. python_missive-0.2.0.dist-info/entry_points.txt +2 -0
  95. 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,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ pymissive = pymissive.cli:main
@@ -0,0 +1 @@
1
+ pymissive