Python
Registro de cambios
Todas las versiones del paquete, de la más reciente a la más antigua.
0.0.1
La primera versión. Cubre todo el SDK de TypeScript tal como estaba en 0.0.8, más los cambios en cola posteriores: 430 métodos en 41 espacios de nombres, cada uno con su nombre de TypeScript en snake_case. Una comprobación de paridad demuestra que cada uno de ellos envía exactamente la solicitud que envía su equivalente en TypeScript, una vez sin opciones y otra con todas las opciones definidas.
OpenEmailyAsyncOpenEmailtienen un atributo por cada espacio de nombres, desdeemails,threadsytemplateshastaprovider_imports,dns_connectionsyaccount.listAlleslist_all,getActiveesget_activeytempMailestemp_mail.- El cuerpo de una solicitud es un diccionario cuyas claves conservan los nombres en camelCase de la API, las opciones de una llamada son argumentos nombrados en snake_case como
idempotency_key=ylimit=, y una respuesta vuelve como diccionario. Cada cuerpo y cada resultado tiene unTypedDictenopenemail.types, con el mismo nombre que en TypeScript. AsyncOpenEmailtiene los mismos métodos con los mismos argumentos, con await, y funciona con asyncio y con trio.- Cada recurso paginado tiene
listpara una página,list_allpara todos los elementos como lista eiterate, que va entregando elementos y obtiene la página siguiente solo cuando llega a ella. - Un rechazo de la API lanza
OpenEmailApiError, constatus,type,code,paramyrequest_id, y conis_validation,is_not_found,is_rate_limited,is_step_up_required,is_retryabley las demás comprobaciones. La ausencia total de respuesta lanzaOpenEmailNetworkError, conis_timeoutcuando se agotó el plazo. from openemail import openemailes un cliente ya preparado que se construye a partir deOPENEMAIL_API_KEYla primera vez que se usa, einitlo configura una vez al arrancar.create_temp_mailycreate_async_temp_mailabren buzones desechables sin ninguna credencial.access_token=acepta un token de acceso OAuth o una función que devuelva uno, a la que se llama antes de cada solicitud.verify_webhook_signaturecomprueba una entrega en tiempo constante y devuelve el evento analizado.client.raw.requestllega a un endpoint que todavía no envuelve ningún método.- Las lecturas se reintentan ante un 408 o un 5xx, y ante un 429 solo cuando lleva
Retry-After.timeoutlimita todo el intento, incluido el cuerpo de la respuesta, y una credencial nunca se envía por HTTP sin cifrar salvo a un servidor de esta máquina. - Necesita Python 3.10 o posterior, y solo depende de
httpx,anyioytyping-extensions.