FastAPI extention implementing the tus server
Project description
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 no
uvicorn`!)
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fastapi_tusd-0.100.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7f2131dd3875ca6e524fb24a012853613f3ba8b03c545db17794e1930ed9989 |
|
MD5 | 385fa8fb94052d287408252679c0d5fb |
|
BLAKE2b-256 | a5388cdbba13ba19b5e45420cc6d43be1d6ec820447197c422853b472a928574 |