Skip to main content

yourimageshare

Official Python SDK for the YourImageShare upload API. One dependency (requests), Python 3.8+.

Install

pip install yourimageshare

Usage

from yourimageshare import YourImageShare

client = YourImageShare(api_key="YOUR_API_KEY")

# Upload a file by path
result = client.upload("photo.jpg")
print(result.direct)  # https://yourimageshare.com/ib/aB3xY9qRz1

# Upload with auto-delete after 1 hour
client.upload("photo.jpg", expires_in=3600)

# Upload from an already-open file object
with open("photo.jpg", "rb") as f:
    client.upload(f, filename="photo.jpg")

# List your uploads (paginated, 50 per page)
listing = client.list()
for item in listing.data:
    print(item.id, item.direct)

# Delete an upload
client.delete(result.id)

YourImageShare also works as a context manager, which closes the underlying HTTP session on exit:

with YourImageShare(api_key="YOUR_API_KEY") as client:
    client.upload("photo.jpg")

Error handling

Failed requests raise YourImageShareError (.status is the HTTP status code, .message is the server's error text):

from yourimageshare import YourImageShare, YourImageShareError

client = YourImageShare(api_key="YOUR_API_KEY")
try:
    client.upload("photo.jpg")
except YourImageShareError as err:
    print(err.status, err.message)

API

YourImageShare(api_key, base_url=DEFAULT_BASE_URL, timeout=30.0)

base_url defaults to https://yourimageshare.com/api - override only for testing against a different environment.

client.upload(file, *, filename=None, expires_in=None)

file is a path (str/os.PathLike) or an open binary file object. expires_in is seconds, 60 to 2,592,000 (30 days) - omit for a permanent upload. Returns an UploadResult(id, type, path, src, direct, expires_at).

client.list(page=1)

Returns a ListResult(data, meta) where data is a list of ListedUpload(id, type, title, path, src, direct, expires_at, created_at) and meta is ListMeta(current_page, last_page, total).

client.delete(upload_id)

Raises YourImageShareError on a 404/401; returns None on success.

Rate limits

20 requests/minute and 500/day per key by default (2,000/day per IP as a backstop). Not currently surfaced on the return values from this SDK - read the X-RateLimit-Limit/X-RateLimit-Remaining response headers yourself via client._session if you need them, or open an issue to request them on the result objects.

License

MIT

Support

yourimageshare.com/contact

Download files

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

Source Distribution

yourimageshare-1.0.2.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

yourimageshare-1.0.2-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file yourimageshare-1.0.2.tar.gz.

File metadata

  • Download URL: yourimageshare-1.0.2.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for yourimageshare-1.0.2.tar.gz
Algorithm Hash digest
SHA256 022ebe23e231b59ec958f795b33ec7f27ab17a850506c3e02706940155a50b22
MD5 facaedd8e8f0bce702bb01dd4553a7f9
BLAKE2b-256 137a300423278faf2a7086e20ecbc7efb0680232bce7ec6cb6e578cc6fc6b140

See more details on using hashes here.

File details

Details for the file yourimageshare-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: yourimageshare-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for yourimageshare-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1b0ff3ac28204dcabb19d32b8398be1f42a6a498f1825e96407c64c316562f42
MD5 6da31614e6344afd07c3adb38b0be435
BLAKE2b-256 4e1c89adfc5e565083a4e38caf013b1bfcc238d766c0d3220213102565996e63

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 Sentry Error logging StatusPage Status page