Skip to main content

FastAPI Server for Tus Protocol

A file upload server of the tus resumable upload protocol is implemented on FastAPI framework.

Thanks to tusd, it provides great ideas and a sensible design pattern to implement Tus protocol to support multiple backend storage implementations.

Features:

  • Basic operations to support Core Protocol such as HEAD, POST, PATCH, DELETE
    • Creation With Upload
    • Checksum such as md5
    • Expiration
    • Concatenation
  • File storage
  • S3 storage

Getting started

Import TusRouter to your application,

from fastapi import FastAPI
from fastapi_tusd import TusRouter

app = FastAPI()

# `store_dir`: the folder to store uploaded files
#  `location`: the API endpoint to serve, like `http://127.0.0.1:8000/files` or relative path `files` (TODO: induced from `prefix` in default)
app.include_router(TusRouter(store_dir="./files", location="/files"), prefix="/files")

Then the tus upload endpoints will be served at http://127.0.0.1:8000/files, more information is available at http://127.0.0.1:8000/docs

Examples

There is a simple example with a web file upload client supporting for Tus protocol, thanks to Uppy!

Enter the example/ folder, and run(pip install uvicornif nouvicorn`!)

uvicorn app_tusd:app --reload

Then visit https://127.0.0.1:8000/upload.thml

References

GitHub - tus/tus-resumable-upload-protocol: Open Protocol for Resumable File Uploads

Download files

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

Source Distribution

fastapi-tusd-0.100.2.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

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

fastapi_tusd-0.100.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file fastapi-tusd-0.100.2.tar.gz.

File metadata

  • Download URL: fastapi-tusd-0.100.2.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.9

File hashes

Hashes for fastapi-tusd-0.100.2.tar.gz
Algorithm Hash digest
SHA256 126da8d8558a7986db736026556f95c7ee481dc762a48ddb8f7bbe367ceb9947
MD5 0187a25b2cd668e5efc04cc4f95ceb94
BLAKE2b-256 6cee4f39541ae2d2fcbc0fb0655f08b60609f6f82403ad792d5487ee263c7f68

See more details on using hashes here.

File details

Details for the file fastapi_tusd-0.100.2-py3-none-any.whl.

File metadata

  • Download URL: fastapi_tusd-0.100.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.9

File hashes

Hashes for fastapi_tusd-0.100.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f7f2131dd3875ca6e524fb24a012853613f3ba8b03c545db17794e1930ed9989
MD5 385fa8fb94052d287408252679c0d5fb
BLAKE2b-256 a5388cdbba13ba19b5e45420cc6d43be1d6ec820447197c422853b472a928574

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.100.2 This release

2 files

0.100.1.post0

2 files

0.100.1

2 files

0.100.0

2 files

0.0.1

2 files

Supported by

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