Turns your Python functions into microservices REST API in an instant.
Instantly turn your Python functions into production-ready microservices. Deploy and access your services via REST API. model2api
builds on open standards - OpenAPI, JSON Schema, and Python type hints - and is powered by FastAPI, and Pydantic. It cuts out all the pain for productizing and sharing your Python code - or anything you can wrap into a single Python function.
This package is based on opyrator and was fork as the package was relying on older version of FastAPI and Starlette.
- Turn functions into production-ready services within seconds.
- Auto-generated HTTP API based on FastAPI.
- Save and share as self-contained executable file or Docker image.
- Instantly deploy and scale for production usage.
- Track and monitor API's call with correlation_id
Requirements: Python 3.7+.
pip install model2api
-
A simple compatible function could look like this:
from pydantic import BaseModel class Input(BaseModel): message: str class Output(BaseModel): message: str def hello_world(input: Input) -> Output: """Returns the `message` of the input data.""" return Output(message=input.message)
A compatible function is required to have an
input
parameter and return value based on Pydantic models or an UploadFile. The input and output models are specified via type hints. -
Copy this code to a file, e.g.
model.py
-
Run the HTTP API server from command-line:
model2api model:hello_world
In the output, there's a line that shows where your web service is being served, on your local machine.