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है,getActiveget_activeहै, औरtempMailtemp_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 का इनकार
OpenEmailApiErrorraise करता है, जिसमेंstatus,type,code,paramऔरrequest_idहोते हैं, औरis_validation,is_not_found,is_rate_limited,is_step_up_required,is_retryableतथा बाकी जाँचें। कोई रिस्पॉन्स न आने परOpenEmailNetworkErrorraise होती है, और समय-सीमा बीत जाने पर उसमें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पर निर्भर है।