پرش به مستندات
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 وابسته است.