Skip to main content

apiminio

docs.apimin.io Release PyPI Version Build status codecov Commit activity License

apiminio banner

apiminio is a Python package that provides a ready-to-use REST API for interacting with MinIO S3 storage, built with FastAPI and the MinIO Python client. It enables seamless file uploads, downloads, and bucket management via HTTP interface ideal for integrating MinIO S3 into your applications with minimal setup.

Additionally, wrapped AI agent tools via MCP are now supported to provide an interface for LLMs to S3 bucket objects ✨

🔜 Customization of your own endpoints!

📄 Table of Contents

💡 Project

  1. At 1st basic implementation of apiminio, handling buckets and files will be focused.
    1. Create buckets
    2. List buckets
    3. Delete buckets
    4. Upload files
    5. Download files
    6. Delete files
  2. MCP (Model Context Protocol) wrapped endpoints to enable usage for AI agent tools
  3. Customization of additional endpoints and MCP tools
  4. Security will be at the 2nd development stage using authenticated sessions by credentials as well as tokens.
  5. Certificate handling and TLS will be the 3rd level.

🚦 Prerequisites

🚀 Install

Recommended

uv add apiminio

or use pip

pip install apiminio

💥 Usage 🌰🐿️

Create your python file, e.g., apiminio_server.py, configure your S3 server and run it. You can use the following examples as a starting point.

✔️ Minimal Example

from apiminio import Apiminio, MinioConfig
from pydantic import SecretStr

app = Apiminio(
    minio_config=MinioConfig(
        endpoint="localhost:9000",
        access_key="minioadmin",
        secret_key=SecretStr("minioadmin"),
        secure=False
    )
)

if __name__ == "__main__":
    # Serve FastAPI using Uvicorn
    import uvicorn

    uvicorn.run("minimal:app", host="0.0.0.0", port=8000, reload=True)

🐍 Run the Server

Either just run python apiminio_server.py or use fastapi run apiminio_server.py.

You can use flags and parmeters inherited from FastAPI to deploy your apiminio server via Uvicorn 🦄🐍 Open apiminio docs and explore your new API on http://localhost:8000 🔬

Support

Thats it! Please leave me a ⭐ if you like the projekt 🤗 More features coming soon!

🥐 Kubernetes

This repository has a skaffold.yaml configuration with a working minio as well as the apiminio service to bootstrap the development 😎🙌

🛞 Commands

To clone this repository, run:

git clone https://github.com/raederan/apiminio.git

To instantly provide minio with apiminio, e.g., run:

skaffold dev --no-prune=false --cache-artifacts=false --default-repo localhost:32000/apiminio --port-forward

📜 License

This project is licensed under the terms of the Apache License 2.0.

The banner file is based on an original png generated using Microsoft Copilot and subsequently modified further as svg by the initial author of this repository.

🦥 Authors

Andreas Räder

Metadata

Release files for apiminio 0.3.6

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

Source distribution (sdist)

Source distribution for apiminio 0.3.6
File Size Uploaded
apiminio-0.3.6.tar.gz 1.6 MB Details

Built distribution (wheel)

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

Total release size: 1.6 MB

Release files / apiminio-0.3.6.tar.gz

Download URL apiminio-0.3.6.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
ff8d611ffa6a73cce1bcfc8ebd3f2de2d87965058e7bdbd1d91d04a60a038b60
BLAKE2b-256 checksum
How to use checksums
a352fc61ee5a31c1746a2c976bc117932ce50f1d93d9efe73e0710f14d04b8cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.14

Release files / apiminio-0.3.6-py3-none-any.whl

Download URL apiminio-0.3.6-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0605f427841b221c529d5d529df499af1fdcc63ca07dcc4cc5d571422b17334f
BLAKE2b-256 checksum
How to use checksums
e88bc8005160343224efaa34711212525eeba4ec2ce173f068507dcb5fe92c39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.14

Release history Release notifications | RSS feed

This release

0.3.6 This release

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.0.2

2 release files

0.0.1

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