Python
Journal des versions
Toutes les versions du paquet, de la plus récente à la plus ancienne.
0.0.1
La première version. Elle couvre tout le SDK TypeScript tel qu'il était en 0.0.8, plus les changements prévus après : 430 méthodes dans 41 espaces de noms, chacune sous son nom TypeScript en snake_case. Un contrôle de parité prouve que chacune d'elles envoie exactement la requête qu'envoie son équivalent TypeScript, une fois sans option et une fois avec toutes les options renseignées.
OpenEmailetAsyncOpenEmailont un attribut pour chaque espace de noms, d'emails,threadsettemplatesàprovider_imports,dns_connectionsetaccount.listAlldevientlist_all,getActivedevientget_active, ettempMaildevienttemp_mail.- Le corps d'une requête est un dictionnaire dont les clés gardent les noms en camelCase de l'API, les options d'un appel sont des arguments nommés en snake_case comme
idempotency_key=etlimit=, et une réponse revient sous forme de dictionnaire. Chaque corps et chaque résultat a unTypedDictdansopenemail.types, nommé comme en TypeScript. AsyncOpenEmaila les mêmes méthodes avec les mêmes arguments, appelées avec await, et fonctionne sur asyncio comme sur trio.- Chaque ressource paginée a
listpour une page,list_allpour tous les éléments sous forme de liste, etiterate, qui fournit les éléments un par un et ne récupère la page suivante qu'au moment d'y arriver. - Un refus de l'API lève
OpenEmailApiError, avecstatus,type,code,parametrequest_id, ainsi queis_validation,is_not_found,is_rate_limited,is_step_up_required,is_retryableet les autres vérifications. L'absence de toute réponse lèveOpenEmailNetworkError, avecis_timeoutquand le délai est dépassé. from openemail import openemailest un client prêt à l'emploi, construit à partir d'OPENEMAIL_API_KEYla première fois qu'on l'utilise, etinitle configure une fois au démarrage.create_temp_mailetcreate_async_temp_mailouvrent des boîtes jetables sans aucun identifiant.access_token=accepte un jeton d'accès OAuth ou une fonction qui en renvoie un, appelée avant chaque requête.verify_webhook_signaturevérifie une livraison en temps constant et renvoie l'événement analysé.client.raw.requestatteint un endpoint qu'aucune méthode n'enveloppe encore.- Les lectures sont réessayées sur 408 et 5xx, et un 429 seulement s'il porte
Retry-After.timeoutborne toute la tentative, corps de la réponse compris, et un identifiant n'est jamais envoyé en HTTP simple, sauf à un serveur situé sur cette machine. - Il nécessite Python 3.10 ou plus récent, et ne dépend que de
httpx,anyioettyping-extensions.