Skip to main content

Package to transform python functions into state of the art REST API

Project description

model2api

Turns your Python functions into microservices REST API in an instant.

Getting Started

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.


Highlights

  • 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

Getting Started

Installation

Requirements: Python 3.7+.

pip install model2api

Usage

  1. 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.

  2. Copy this code to a file, e.g. model.py

  3. 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.

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

model2api-0.0.3.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

model2api-0.0.3-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file model2api-0.0.3.tar.gz.

File metadata

  • Download URL: model2api-0.0.3.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

File hashes

Hashes for model2api-0.0.3.tar.gz
Algorithm Hash digest
SHA256 97e53269b7c135476158b06ab75e6bc988efc827fe15d1a4cdf375059b09e03e
MD5 1ff9ff58ea06aa6bb4ac8fc6932fe4ab
BLAKE2b-256 8a6828223e9d5813d419a4474277914abfb3a4fe8e8b60ac8edeb47d24dd8458

See more details on using hashes here.

File details

Details for the file model2api-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: model2api-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.8.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

File hashes

Hashes for model2api-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 73f475c1f2ae60add3998b7fd7073fa9b44c71722ab73e8c686d6d46651e9db3
MD5 08e770809107885e275e76aa96d20e58
BLAKE2b-256 4ee64fa894e5c0b9739ff21cc2158297d54bff1cc0e3c551be031e897f323f31

See more details on using hashes here.

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