Python
فهرست تغییرات
همهٔ انتشارهای این بسته، تازهترین در ابتدا.
0.0.1
نخستین انتشار. کل TypeScript SDK را آنگونه که در 0.0.8 بود پوشش میدهد، بهعلاوهٔ تغییراتی که پس از آن در صف بودند: 430 متد در 41 فضای نام، هر کدام با نام TypeScript خودش به شکل snake_case. یک بررسی همخوانی ثابت میکند که هر کدام دقیقاً همان درخواستی را میفرستد که همتای TypeScript آن میفرستد، یک بار بدون هیچ گزینهای و یک بار با تنظیم همهٔ گزینهها.
OpenEmailوAsyncOpenEmailبرای هر فضای نام یک attribute دارند، ازemails،threadsوtemplatesتاprovider_imports،dns_connectionsوaccount.listAllمیشودlist_all،getActiveمیشودget_active، وtempMailمیشودtemp_mail.- بدنهٔ درخواست یک دیکشنری است که کلیدهایش نامهای camelCase خودِ API را نگه میدارند، گزینههای یک فراخوانی آرگومانهای کلیدواژهای snake_case هستند مانند
idempotency_key=وlimit=، و پاسخ به شکل یک دیکشنری برمیگردد. هر بدنه و نتیجه یکTypedDictدرopenemail.typesدارد، با همان نامی که در TypeScript دارد. AsyncOpenEmailهمان متدها را با همان آرگومانها دارد که با await فراخوانی میشوند، و روی asyncio و روی trio اجرا میشود.- هر منبع صفحهبندیشده
listرا برای یک صفحه دارد،list_allرا برای همهٔ آیتمها به شکل یک فهرست، وiterateرا که آیتمها را yield میکند و صفحهٔ بعد را فقط وقتی به آن برسد میگیرد. - رد شدن از سوی API خطای
OpenEmailApiErrorرا raise میکند، باstatus،type،code،paramوrequest_id، وis_validation،is_not_found،is_rate_limited،is_step_up_required،is_retryableو بررسیهای دیگر. نرسیدن هیچ پاسخیOpenEmailNetworkErrorرا raise میکند، باis_timeoutوقتی مهلت گذشته باشد. from openemail import openemailیک کلاینت آماده است که نخستین بار که به آن دست زده شود ازOPENEMAIL_API_KEYساخته میشود، وinitآن را یک بار هنگام راهاندازی پیکربندی میکند.create_temp_mailوcreate_async_temp_mailصندوقهای یکبارمصرف را بدون هیچ اعتبارنامهای باز میکنند.access_token=یک توکن دسترسی OAuth یا تابعی را که آن را برمیگرداند میگیرد، که پیش از هر درخواست صدا زده میشود.verify_webhook_signatureیک تحویل را در زمان ثابت بررسی میکند و رویداد تجزیهشده را برمیگرداند.client.raw.requestبه اندپوینتی میرسد که هنوز هیچ متدی آن را نمیپوشاند.- خواندنها روی 408 و 5xx دوباره تلاش میشوند، و یک 429 فقط وقتی که
Retry-Afterداشته باشد.timeoutکل تلاش را، از جمله بدنهٔ پاسخ، محدود میکند، و اعتبارنامه هرگز روی HTTP ساده فرستاده نمیشود، مگر به سروری روی همین دستگاه. - به Python 3.10 یا تازهتر نیاز دارد، و فقط به
httpx،anyioوtyping-extensionsوابسته است.