Skip to main content

A single file python module that simplifies creating and running a simple `Flask` server that reports a json formated dict. Intended to be used with simple apps that run in container style environments, allowing for a basic http server to report the status of the app.

Project description

Git Auto Backup

Python versions PyPI Downloads Downloads per week GitHub stars

CodeQL Dependabot Updates

This module is intended to be imported into any script requiring a simple HTTP status reporting page. This optionally supports threading as well, defining the run_threaded and make_thread methods.

Setup

This module can be installed using:

pip install simplestatusserver

Module Interface

This module only contains a single (fully documented) class: SimpleStatusServer. This cass can be instantiated to generate and when desired, run, a simple HTTP server. This server will report the data contained within that instance's status attribute as json. The instance itself may also be used as a dictionary, passing along all the data contained withing its status If the threading module is imported (which can be checked using the module's STATUS_SERVER_THREADING_POSSIBLE constant), threading related running methods are also defined for this class. Refer to the docstrings for each method for more information. This module contains type hints.

Example

from simplestatusserver import SimpleStatusServer, STATUS_SERVER_THREADING_POSSIBLE as THREADING_POSSIBLE
#Note: this example presumes that the threading module is available!
assert THREADING_POSSIBLE, "The threading module must be available for this example to work!"

#some code here...

server = SimpleStatusServer(init_status = {"hello": "world"})
server["world"] == "hello" #returns True
server["status"] = "starting..."
#now run the http server
server.run_threaded(debug = True)

#perhaps a startup routine here?

server["status"] = "running"
del server["world"] #lets remove this key...

try:
  #the main part of a script here...
  pass
except Exception as e:
  server["error"] = str(e)
  server["error code"] = 1

#finish off things here...

print("all done!")

Licence

This is licensed under the Mozilla Public License 2.0 (MPL 2.0) Licence. See the Licence file in this repository for more information.

Credits

This project uses the flask python module, and may also make use of the typing-extentions module for older python versions.

While not required, feel free to credit "Markus Hammer" (or just "Markus") if you find this code or script useful for whatever you may be doing with it.

Thanks!

Like what you see? Enough to buy me a Ko-Fi ?

Security Policy

While the python source code will be actively maintained, any binary files (if at all provided) are in no way supported. These are provided as a courtesy and are not intended to be the main usage of this software. Please keep this in mind when choosing how you wish to use this software.

Supported Versions

Version Supported
1.0.0.0 >=
1.0.0.0 <

Reporting a Vulnerability

Please report any issues to the email 107761433+MarkusHammer(THEN THE @ SYMBOL HERE)users.noreply.github.com

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

simplestatusserver-1.0.1.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

simplestatusserver-1.0.1.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file simplestatusserver-1.0.1.0.tar.gz.

File metadata

  • Download URL: simplestatusserver-1.0.1.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for simplestatusserver-1.0.1.0.tar.gz
Algorithm Hash digest
SHA256 6302dc7ede62667cf6a146d89b65e92123c1e280ca34dd1e6b82588bfa2fdabe
MD5 76b16e4a70c0f177b81933dd0f11e653
BLAKE2b-256 a6a524726b4192bedaec1afc4476db5ed7e1ddc665ad8037e8d1ee3716e717ab

See more details on using hashes here.

File details

Details for the file simplestatusserver-1.0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for simplestatusserver-1.0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f1d2e33280b2e94f42163f7669a3176b1bbc6d34126aa874703019620f431cd
MD5 09d19c65fee0b60abc04a9e9e692d2cb
BLAKE2b-256 7bfc44bd0cba3cf9cd933e2c76f0c162d6d288072b7586c6737272e8f3af91cc

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