Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

Asynchronous tus (tus.io) client library

Project description

aiotus - Asynchronous tus client library

aiotus implements the client-side of the tus protocol.

Features

  • Implements the core protocol as well as the creation and concatenation extensions.
  • Built-in retry support in case of communication errors.
  • Extensive test bench, including tests against the reference tusd server.

Usage

import aiotus

creation_url = "http://example.com/files"

metadata = {
    "Filename": "image.jpeg".encode(),
    "Content-Type": "image/jpeg".encode()
}

# Upload a file to a tus server.
with open("image.jpeg", "rb") as f:
    location = await aiotus.upload(creation_url, f, metadata)
    # 'location' is the URL where the file was uploaded to.

# Read back the metadata from the server.
metadata = aiotus.metadata(location)

Requirements

Installation

Install aiotus from PyPi:

pip install aiotus

Development versions can be installed from TestPyPi:

pip install --index-url https://test.pypi.org/simple --extra-index-url https://pypi.org/simple aiotus

Documentation

The documentation can be found at aiotus.readthedocs.io.

License

aiotus is licensed under the Apache 2.0 license.

Supported by

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