Skip to main content

tus.io protocol implementation for aiohttp.web applications

Project description

CI Workflow pre-commit black Latest Version Python versions BSD License Documentation

tus.io server implementation for aiohttp.web applications.

For uploading large files, please consider using aiotus (Python 3.7+) library instead.

  • Works on Python 3.6+

  • Works with aiohttp 3.5+

  • BSD licensed

  • Latest documentation on Read The Docs

  • Source, issues, and pull requests on GitHub

Quickstart

Code belows shows how to enable tus-compatible uploads on /uploads URL for aiohttp.web application. After upload, files will be available at ../uploads directory.

from pathlib import Path

from aiohttp import web
from aiohttp_tus import setup_tus


app = setup_tus(
    web.Application(),
    upload_url="/uploads",
    upload_path=Path(__file__).parent.parent / "uploads",
)

Chunk Size

Please, make sure to configure client_max_size for aiohttp.web Application and supply proper chunkSize for Uppy.io or other tus.io client.

Documentation

CORS Headers

To setup CORS headers you need to use cors_middleware from aiohttp-middlewares package. aiohttp-cors library not supported cause of aio-libs/aiohttp-cors#241 issue.

Documentation

Reverse proxy and HTTPS

When aiohttp application deployed under the reverse proxy (such as nginx) with HTTPS support, it is needed to use https_middleware from aiohttp-middlewares package to ensure that web.Request instance has proper schema.

Documentation

Examples

examples/ directory contains several examples, which illustrate how to use aiohttp-tus with some tus.io clients, such as tus.py and Uppy.io.

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

aiohttp-tus-1.1.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

aiohttp_tus-1.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file aiohttp-tus-1.1.0.tar.gz.

File metadata

  • Download URL: aiohttp-tus-1.1.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Darwin/21.1.0

File hashes

Hashes for aiohttp-tus-1.1.0.tar.gz
Algorithm Hash digest
SHA256 acc2196c1046c5aeb73904734e87ba944ed18c4c376d710d1d039606e35cfbc9
MD5 5fab5798bf871d1040c6b8532fccd427
BLAKE2b-256 bc1d3029a6a9ff5701ff6b8fe070502a69bf1f75ea3350115837fde712e9d679

See more details on using hashes here.

File details

Details for the file aiohttp_tus-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: aiohttp_tus-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Darwin/21.1.0

File hashes

Hashes for aiohttp_tus-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83457ec3a0d455a0c83b771b0de317d146dfe66e3e91ad2da9834aba283f200c
MD5 20db4523d2e4bef751d80380df6a1f08
BLAKE2b-256 a078a22624c1656b3eb2c863a41c9d757f0fdf7e63382d7c68d4d4b56b826f2f

See more details on using hashes here.

Supported by

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