Healthy-API

Healthchecks for Any Framework (FastAPI/Flask)

PyPI GitHub Actions Documentation Status Codecov PyPI - Downloads

Healthy-API is designed to work with both Flask and FastAPI. Healthy-API is really simple to set up. Healthy-API will provide an enpoint at /_health where you will get a JSON response of the system’s uptime, current git revision, version, and function you want.

You can also add in extra checks by passing in a list of checks to the constructor.

Installing

Install and update using pip:

pip install -U healthy_api

FastAPI Configuration

from fastapi import FastAPI
from healthy_api.adapters.fastapi import FlaskAdapter as HealthyApi

app = FastAPI(__name__)

def db_check():
  """Database"""
  try:
      with get_session_ctx() as session:
          (res,) = session.execute(text("SELECT 1")).fetchone()
          return bool(res == 1)
  except Exception as e:
      logger.error(f"Unable to connect to database: {e}")
      return False

HealthyApi(app, extra_checks=[db_check])

Flask Configuration

from Flask import Flask
from healthy_api.adapters.flask import Flask as HealthyApi

app = Flask(__name__)

HealthyApi(app)

Or if you can use the init_app function:

from Flask import Flask
from healthy_api.adapters.flask import Flask as HealthyApi

app = Flask(__name__)

healthy_api = HealthyApi()
healthy_api.init_app(app)

Features

  • Current Git Commit

  • Current Version

  • Accepts custom functions

Configuration

Config Key

Description

Type

Default

HAPI_ENABLE

Enable/Disable Healthy-API

bool

True

HAPI_ENABLE_GIT

Enable/Disable Git Stats

bool

True

HAPI_ENABLE_VERSION

Enable/Disable Version Stats

bool

True

HAPI_ENDPOINT

Custom Route

str

/_health

Sponsorship

Put your logo here! Become a sponsor and support this project!

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.