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 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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
126da8d8558a7986db736026556f95c7ee481dc762a48ddb8f7bbe367ceb9947
|
|
| MD5 |
0187a25b2cd668e5efc04cc4f95ceb94
|
|
| BLAKE2b-256 |
6cee4f39541ae2d2fcbc0fb0655f08b60609f6f82403ad792d5487ee263c7f68
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7f2131dd3875ca6e524fb24a012853613f3ba8b03c545db17794e1930ed9989
|
|
| MD5 |
385fa8fb94052d287408252679c0d5fb
|
|
| BLAKE2b-256 |
a5388cdbba13ba19b5e45420cc6d43be1d6ec820447197c422853b472a928574
|