Skip to main content

Project description File Manager for FastAPI A plug-and-play solution for managing file uploads in FastAPI apps. It handles file uploads, saves them uniquely, and serves them via a static route automatically. It also supports cloud storage solutions like Cloudinary, AWS S3, Firebase, and Google Cloud Storage. GitHub Repository

Installation Install using pip:

bash Copy Edit pip install fastapiFileManager Quick Start fastapiFileManager is designed to be a plug-and-play package to manage files in FastAPI, just like in Django. You only need three lines of code to get started:

python Copy Edit from fastapiFileManager import FileManager file_manager = FileManager(app=app, base_path="uploads", route_path="/files")

file_url = file_manager.save_file(file) Full Example: python Copy Edit from fastapi import FastAPI, UploadFile from fastapiFileManager import FileManager

app = FastAPI()

Initialize FileManager (can be configured to use Cloud services)

file_manager = FileManager( app=app, cloud="cloudinary", # Options: 'local', 'cloudinary', 'aws', 'firebase', 'gcloud' base_path="uploads", # Only used for local storage route_path="/files", cloud_config={ "cloud_name": "your_cloudinary_name", "api_key": "your_api_key", "api_secret": "your_api_secret", # Additional cloud config options for AWS, Firebase, GCloud, etc. } )

@app.post("/upload") async def upload_file(file: UploadFile): # Save the file and get its URL file_url = file_manager.save_file(file) return {"file_url": file_url, "check as": f"localhost:8000/{file_url}"}

@app.get("/download/{filename}") async def download_file(filename: str): # Serve the file for download return file_manager.serve_file(filename) Features: Plug-and-play solution: Just integrate and start managing files.

Automatic file serving: Files are served via a static route (for local storage).

Cloud storage support: Supports file uploads to Cloudinary, AWS S3, Firebase, and Google Cloud Storage.

Simple API: Easy to use methods to upload, save, and serve files.

Customizable paths: Specify the base path for saving and the route for serving files.

Cloud Storage Support Cloudinary: A popular cloud service for media management.

AWS S3: Upload files directly to AWS S3 buckets.

Firebase: Upload files to Firebase Storage and make them publicly accessible.

Google Cloud Storage: Upload files to Google Cloud Storage and manage them with public URLs.

Configuration Cloud Option: In the FileManager constructor, you can choose your cloud provider with the cloud argument. The options are:

'local': Use the local filesystem (default).

'cloudinary': Use Cloudinary for storing files.

'aws': Use Amazon S3 for storing files.

'firebase': Use Firebase Storage for storing files.

'gcloud': Use Google Cloud Storage for storing files.

Cloud Config: You can pass a dictionary containing the necessary configuration for your cloud provider in the cloud_config argument:

For Cloudinary, provide cloud_name, api_key, and api_secret.

For AWS S3, provide aws_access_key_id, aws_secret_access_key, and bucket.

For Firebase, provide the firebase_credentials path and firebase_bucket.

For Google Cloud Storage, provide gcloud_credentials and bucket.

Metadata

Release files for fastapiFileManager 1.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapiFileManager 1.1.4
File Size Uploaded
fastapifilemanager-1.1.4.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapiFileManager 1.1.4
File Interpreter ABI Platform
fastapifilemanager-1.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 10.3 kB

Release files / fastapifilemanager-1.1.4.tar.gz

Download URL fastapifilemanager-1.1.4.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
86de1e2f28667e090b0392445c176c87d183bdbb257c65edaab57bd49eb2e597
BLAKE2b-256 checksum
How to use checksums
743b20a88c5434680c936520e138473bbafaea9f9bcc6993ab9554ce77d03ad7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / fastapifilemanager-1.1.4-py3-none-any.whl

Download URL fastapifilemanager-1.1.4-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
976ce38ef03fa20828b01589b1fb0958cc93e4f97128dc53046bf14792815921
BLAKE2b-256 checksum
How to use checksums
05902ada06bd97ac43e96b2b4fdd70c84a6207d2b96ca5f71af7923b52479bd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.1.4 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page