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
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.
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!
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file simplestatusserver-1.0.0.0.tar.gz
.
File metadata
- Download URL: simplestatusserver-1.0.0.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc2a829187891ef7e208ea62ae4a2abddbb1e0c9575c08d6edd98e345bc817e |
|
MD5 | 90ecdf3aa88d48745463133b68161363 |
|
BLAKE2b-256 | f37c565829d63158ff37763fd6a9ebc8ee5358b358064f8dd662242f46823129 |
File details
Details for the file simplestatusserver-1.0.0.0-py3-none-any.whl
.
File metadata
- Download URL: simplestatusserver-1.0.0.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 307d9c9f98de341c3f5f0af73ae58017745a13f15de06871f9654178518a1e87 |
|
MD5 | 3df0f4e6c7d13ebf6927615b2b248390 |
|
BLAKE2b-256 | 8476f80418e0a70b3f061d92df155bd95bd3082e1e0124b15b42453e7d4208e8 |