दस्तावेज़ पर जाएँ
Python

चेंजलॉग

पैकेज का हर रिलीज़, नवीनतम पहले।

0.0.1

पहली रिलीज़। यह पूरे TypeScript SDK को कवर करती है जैसा वह 0.0.8 पर था, और उसके बाद क़तार में लगे बदलाव भी: 41 namespaces में 430 मेथड, हर एक अपने TypeScript नाम से snake_case में। एक parity जाँच साबित करती है कि इनमें से हर एक ठीक वही अनुरोध भेजता है जो उसका TypeScript जुड़वाँ भेजता है, एक बार बिना किसी विकल्प के और एक बार हर विकल्प सेट करके।

  • OpenEmail और AsyncOpenEmail में हर namespace के लिए एक attribute है, emails, threads और templates से लेकर provider_imports, dns_connections और account तक। listAll यहाँ list_all है, getActive get_active है, और tempMail temp_mail है।
  • अनुरोध की body एक dict है जिसकी keys API के camelCase नाम रखती हैं, किसी कॉल के विकल्प idempotency_key= और limit= जैसे snake_case keyword आर्ग्युमेंट हैं, और रिस्पॉन्स एक dict के रूप में लौटता है। हर body और परिणाम के लिए openemail.types में एक TypedDict है, जिसका नाम TypeScript जैसा ही है।
  • AsyncOpenEmail में वही मेथड उन्हीं आर्ग्युमेंट के साथ हैं, जिन्हें await किया जाता है, और यह asyncio और trio दोनों पर चलता है।
  • पेजों में बँटे हर resource में एक पेज के लिए list, हर आइटम को एक list के रूप में पाने के लिए list_all, और iterate है, जो आइटम एक-एक करके देता है और अगला पेज तभी fetch करता है जब वहाँ तक पहुँचता है।
  • 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 किसी delivery को स्थिर समय में जाँचता है और पार्स किया हुआ event लौटाता है। client.raw.request उस endpoint तक पहुँचता है जिसे अभी कोई मेथड नहीं लपेटता।
  • reads 408 और 5xx पर retry होते हैं, और 429 पर सिर्फ़ तब जब वह Retry-After लिए आए। timeout पूरे प्रयास की सीमा तय करता है, रिस्पॉन्स body समेत, और कोई क्रेडेंशियल कभी सादे HTTP पर नहीं भेजा जाता, सिवाय इसी मशीन पर चल रहे सर्वर के।
  • इसे Python 3.10 या उससे नया वर्शन चाहिए, और यह सिर्फ़ httpx, anyio और typing-extensions पर निर्भर है।