Skip to main content

TUS py protocol implementation in FastAPI

Project description

FastAPI Tus

FastAPI Extension implementing the Tus.io server protocol

Prerequisites FastAPI

Installation

Installation from PyPi repository (recommended for latest stable release)

pip install tuspyserver

Usage

main.py

from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from starlette.staticfiles import StaticFiles

from tusserver.tus import create_api_router

app = FastAPI()
app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_methods=["*"],
    allow_headers=["*"],
)
app.mount("/static", StaticFiles(directory="static"), name="static")


def on_upload_complete(file_path: str, metadata: dict):
    print('Upload complete')
    print(file_path)
    print('Upload Metadata')
    print(metadata)


app.include_router(
    create_api_router(
        files_dir='/tmp/different_dir', # OPTIONAL
        max_size=128849018880, # OPTIONAL
        on_upload_complete=on_upload_complete # OPTIONAL
        prefix="files"
    ),
)

This package has the ability to upload, download, delete (including a scheduler) files.

python setup.py sdist bdist_wheel

Any contribution is welcomed.

Buy Me A Coffee

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

tuspyserver-2.1.0.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

tuspyserver-2.1.0-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

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