Skip to main content

Machine Learning ASGI Server with FastAPI

Project description

FastApp

HTTP Apps Made Easier with FastApp

Installation

pip install fastapp

Using Out the Example Server

pip install fastapp[example]
fastapp serve-debug fastapp.app.example:app

Using FastApp to build an app

Create a Python File with Endpoints, we'll call this main.py:

from datetime import datetime

from fastapp.app import app


@app.get("/hello")
def custom_endpoint() -> dict:
    """"
    This is a Custom API Endpoint
    """
    return dict(timestamp=datetime.now(),
                hello="world")

Then, using the FastApp CLI we can serve this App:

fastapp serve-debug main:app

...or via docker:

docker run --rm -it \
    --publish 8080:8080 \
    --volume ${PWD}/main.py:/root/fastapp/main.py \
    juftin/fastapp:latest \
    serve-debug main:app

Test out our new endpoint:

curl \
  --request GET \
  --header "Content-Type: application/json" \
  http://localhost:8080/hello

Alternatively, if we want to serve this app using Gunicorn, Nginx, and the UvicornWorker we can use the serve command:

fastapp serve main:app

I prefer doing this within a docker container so you don't have to run Nginx on the host machine:

docker run --rm -it \
    --publish 8080:8080 \
    --volume ${PWD}/main.py:/root/fastapp/main.py \
    juftin/fastapp:latest \
    serve main:app

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

fastapp-0.1.7.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

fastapp-0.1.7-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file fastapp-0.1.7.tar.gz.

File metadata

  • Download URL: fastapp-0.1.7.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for fastapp-0.1.7.tar.gz
Algorithm Hash digest
SHA256 bb7ed3818c7be485287f42e45e00ba3467f79c2e9b3f978f12f2dd6cf54d5043
MD5 bcc6ef68b4ebc64b5d35c8b31872133e
BLAKE2b-256 b4f8309fe11a80f7695af7410b24dbc5ef95a31faadf8cfa5d9bd15146ce05cb

See more details on using hashes here.

File details

Details for the file fastapp-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: fastapp-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for fastapp-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f2c93a8f499def8c50ed3ee0404fdd94b24d0e0e5b2f097bb38f143e229ef8a0
MD5 3a55d93d61e2b69bc4f8d76b79ae6731
BLAKE2b-256 04ce9086c03d3886996fcbe493c05c9b7a3d5234a46ba0ce5f24cbd703fa29c8

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