Ir a la documentación
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.

  • OpenEmail y AsyncOpenEmail tienen un atributo por cada espacio de nombres, desde emails, threads y templates hasta provider_imports, dns_connections y account. listAll es list_all, getActive es get_active y tempMail es temp_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= y limit=, y una respuesta vuelve como diccionario. Cada cuerpo y cada resultado tiene un TypedDict en openemail.types, con el mismo nombre que en TypeScript.
  • AsyncOpenEmail tiene los mismos métodos con los mismos argumentos, con await, y funciona con asyncio y con trio.
  • Cada recurso paginado tiene list para una página, list_all para todos los elementos como lista e iterate, que va entregando elementos y obtiene la página siguiente solo cuando llega a ella.
  • Un rechazo de la API lanza OpenEmailApiError, con status, type, code, param y request_id, y con is_validation, is_not_found, is_rate_limited, is_step_up_required, is_retryable y las demás comprobaciones. La ausencia total de respuesta lanza OpenEmailNetworkError, con is_timeout cuando se agotó el plazo.
  • from openemail import openemail es un cliente ya preparado que se construye a partir de OPENEMAIL_API_KEY la primera vez que se usa, e init lo configura una vez al arrancar. create_temp_mail y create_async_temp_mail abren 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_signature comprueba una entrega en tiempo constante y devuelve el evento analizado. client.raw.request llega 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. timeout limita 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, anyio y typing-extensions.