Skip to main content

Python SDK for the UseSend API

Project description

UseSend Python SDK

A minimal Python SDK for the UseSend API, mirroring the structure of the JavaScript SDK.

Installation

Install via pip or Poetry:

pip install usesend
# or
poetry add usesend

Usage

from usesend import UseSend, types

# By default: raises UseSendHTTPError on non-2xx.
client = UseSend("us_123")

# 1) TypedDict payload (autocomplete in IDEs). Use dict to pass 'from'.
payload: types.EmailCreate = {
    "to": "test@example.com",
    "from": "no-reply@example.com",
    "subject": "Hello",
    "html": "<strong>Hi!</strong>",
}
resp, _ = client.emails.send(payload=payload)

# 2) Or pass a plain dict (supports 'from')
resp, _ = client.emails.send(payload={
    "to": "test@example.com",
    "from": "no-reply@example.com",
    "subject": "Hello",
    "html": "<strong>Hi!</strong>",
})

# Toggle behavior if desired:
# - raise_on_error=False: return (None, error_dict) instead of raising
# No model parsing occurs; methods return plain dicts following the typed shapes.
client = UseSend("us_123", raise_on_error=False)
raw, err = client.emails.get(email_id="email_123")
if err:
    print("error:", err)
else:
    print("ok:", raw)

Development

This package is managed with Poetry. Models are maintained in-repo under usesend/types.py (readable names). Update this file as the API evolves.

It is published as usesend on PyPI.

Notes

  • Human-friendly models are available under usesend.types (e.g., EmailCreate, Contact, APIError).
  • Endpoint methods accept TypedDict payloads or plain dicts via the payload= keyword.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usesend-0.2.6.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

usesend-0.2.6-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file usesend-0.2.6.tar.gz.

File metadata

  • Download URL: usesend-0.2.6.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for usesend-0.2.6.tar.gz
Algorithm Hash digest
SHA256 9e1f1d7d15db6f39c04938aa44c8ea313f0ca2c84febabc5dc071007e8d49cc4
MD5 ec5f8de97d047ab389fbf8960e1c585d
BLAKE2b-256 93dbef75a16734c7b53f3c6a711134b2ad28f0baa5061eca18cde410736c501d

See more details on using hashes here.

File details

Details for the file usesend-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: usesend-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for usesend-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2696c601b9d4f365e1c253d24f0acd6be0be20fb8e5ab34c99e9468c4e9b5040
MD5 914d47497b0ab818da0d4c729bdc7146
BLAKE2b-256 24cae4f2983d0a0c5f67cbdd674c6874677b51a566c1ddf441d9836a9a62fdc1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page