Python-SDK
Der offizielle Python-Client für die OpenEmail-API. Synchron und asynchron, durchgehend typisiert und eine Methode für jeden Endpunkt.
Was es ist
Ein Paket über die ganze API (Senden, Vorlagen, Tracking, Threads, Entwürfe, Labels, Kontakte, Audiences, Anmeldeformulare, Broadcasts, Domains, Regeln, Webhooks, Kalender, Einstellungen, Rollen, Mitglieder, Sperrlisten, Dateien und Wegwerf-Postfächer) mit einem TypedDict für jede Anfrage und Antwort, zwei Fehlerklassen, Wiederholungen, die einen Versand nicht verdoppeln können, und einer Prüfung von Webhook-Signaturen. Es läuft auf Python 3.10 und neuer und hängt nur von httpx, anyio und typing-extensions ab. Es trägt einen Workspace-API-Schlüssel oder ein OAuth-Zugriffstoken und gehört daher auf einen Server oder in ein Werkzeug, das auf Ihrem eigenen Rechner läuft; Wegwerf-Postfächer sind der einzige Teil, der keine Anmeldedaten braucht.
pip install openemailimport os from openemail import init, openemail init(os.environ['OPENEMAIL_API_KEY']) openemail.emails.send({ 'from': 'Acme Billing <[email protected]>', 'to': '[email protected]', 'subject': 'Your September invoice', 'html': '<p>Invoice attached.</p>',})Synchron und asynchron
OpenEmail ist synchron, und AsyncOpenEmail ist sein asynchrones Gegenstück mit denselben Optionen und denselben Methoden, die jeweils mit await aufgerufen werden. Es läuft auf asyncio und trio, und aus einem paginierten iterate wird ein async for.
import asyncio from openemail import AsyncOpenEmail async def main() -> None: async with AsyncOpenEmail() as client: email = await client.emails.send({ 'from': 'Acme Billing <[email protected]>', 'to': '[email protected]', 'subject': 'Your September invoice', 'html': '<p>Invoice attached.</p>', }) async for thread in client.threads.iterate(folder='inbox'): print(thread['id']) print(email['id'], email['status']) asyncio.run(main())Der gemeinsame openemail-Client ist synchron. Erzeugen Sie einen AsyncOpenEmail also selbst, einmal, und schließen Sie ihn mit aclose() oder einem async with-Block.
Wohin als Nächstes
Es kapselt dieselbe API wie jeder andere Client
Alles hier ist dieselbe Oberfläche, die die API-Referenz dokumentiert; lesen Sie dort, was ein Endpunkt tut, und hier, wie man ihn aufruft. Es gibt eine Methode für jede dokumentierte Operation, und die Parity-Prüfung des Pakets liest das OpenAPI-Dokument, um das nachzuweisen.
Jede TypeScript-Methode hat ein Python-Gegenstück unter demselben Namen in snake_case, und die Paritätsprüfung führt jedes Paar mit denselben Argumenten aus und schlägt fehl, es sei denn, beide senden dieselbe Anfrage, wiederholen auf dieselbe Weise und geben denselben Wert zurück.