Skip to main content

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[flask]"

or

pip install -U "healthy-api[fastapi]"

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

healthy_api-0.11.0.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

healthy_api-0.11.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file healthy_api-0.11.0.tar.gz.

File metadata

  • Download URL: healthy_api-0.11.0.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.8

File hashes

Hashes for healthy_api-0.11.0.tar.gz
Algorithm Hash digest
SHA256 338fd1b5c8738cfc6d1c326e56b352938e5566841feaac86b67f314ff4aacb69
MD5 c0ace85afa2eb3e6f140228f76710725
BLAKE2b-256 541a11499015f3d57cd2d6da14b4f91ffbb466f851c5fae85872fc6241f3ddf8

See more details on using hashes here.

File details

Details for the file healthy_api-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: healthy_api-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.8

File hashes

Hashes for healthy_api-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79770ed6d9ec9d8fdcbfe73523fc4345119f76b1f40f0d467233e0e4277d9fa0
MD5 ec70543d6421c315f13c0261a70eb607
BLAKE2b-256 b8405c736066afe4aec6ebe25782c19284c42be3ccd42ba32a810ea9b49aea99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page