Skip to main content

A compact asynchronous healthcheck using only the standard library

Project description

async-healthcheck

async-healthcheck is a compact asynchronous health check library built using only the Python standard library. It provides a simple way to monitor the health of your application by checking the status of various synchronous and asynchronous functions.

Installation

You can install async-healthcheck directly from PyPI:

pip install async-healthcheck

Usage

Here is a basic usage example:

from async_healthcheck import start_healthcheck

def sync_check():
    # Perform some synchronous health check (e.g., check database connection)
    return True

async def async_check():
    # Perform some asynchronous health check (e.g., check API availability)
    return True

async def main():
    server = await start_healthcheck(
        sync_callables=[sync_check],
        async_callables=[async_check],
        host="127.0.0.1",
        path="/healthcheck",
        port=8000,
    )
    # The server is now running and can be accessed at http://127.0.0.1:8000/healthcheck

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

In this example, start_healthcheck starts a health check server that runs the provided synchronous and asynchronous checks when a GET request is made to the specified path (default is /healthcheck). If all checks pass, it returns a 200 status code; if any check fails, it returns a 500 status code.

Testing

Tests are located in the tests directory and can be run using the standard Python unittest module:

PYTHONPATH="async_healthcheck" poetry run python -m unittest discover -s tests

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

async_healthcheck-0.7.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

async_healthcheck-0.7.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file async_healthcheck-0.7.0.tar.gz.

File metadata

  • Download URL: async_healthcheck-0.7.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.9.19 Linux/6.5.0-1016-azure

File hashes

Hashes for async_healthcheck-0.7.0.tar.gz
Algorithm Hash digest
SHA256 7448a5a0731001352f2530b919fa922a7246c3bc093d3d4847d34f79569c562e
MD5 9eb1774ac0d2b5e11dafd8aa346ca912
BLAKE2b-256 4193cb113cb293c97645a4f68cd51efb3d44375fdbb26c6e06a237bce397265f

See more details on using hashes here.

File details

Details for the file async_healthcheck-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: async_healthcheck-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.9.19 Linux/6.5.0-1016-azure

File hashes

Hashes for async_healthcheck-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ddb3610834b26ab86c7a7fcd63035f42f2734da339513b3b90bd7471eb172f21
MD5 b060f2e5554705761fc23cc86bb0565c
BLAKE2b-256 76fc1ac2dbfa9239f6048f18b9ba0e952b73a59aeaa7220fc9a8c3d52183292e

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