Skip to main content

Lightweight observation web application

Project description

Observe Application

test pypi version python support version size gh license code style: black

The Lightweight Observe Application project was created for easy to make an observe application that getting logs, audits, or trigger status from any data framework storage and endpoint APIs. This project focuses on the ddeutil-workflow tool first :dart:.

[!WARNING] This project is the best fit integration with ddeutil-workflow package. The first propose is monitor and observe from worker nodes that deploy the workflow application on a target self-hosted.

[!NOTE] I will use this project to be the base Frontend learning path for me.

:round_pushpin: Installation

pip install -U ddeutil-observe

:egg: Docker Images supported:

Docker Image Python Version Support
ddeutil-observe:latest 3.9 :x:
ddeutil-observe:python3.10 3.10 :x:
ddeutil-observe:python3.11 3.11 :x:
ddeutil-observe:python3.12 3.12 :x:
ddeutil-observe:python3.12 3.13 :x:

[!NOTE] If you want to increase this application performance, you can install the performance option, pip install ddeutil-observe[perf] (It does not edit code, it's just routing other faster packages).

:beers: Getting Started

For the first phase, I will use the SQLite be a backend database that keep authentication and workflows data.

Login Page

Login Page

Main Page

Workflow Page

Workflow Detail Page

Workflow Trace Page

:cookie: Configuration

[!IMPORTANT] The config value that you will set on the environment should combine with prefix, component, and name which is OBSERVE_{component}_{name} (Upper case).

Environment Component Default Description
TIMEZONE Core UTC A timezone that use on all components of this application
SQLALCHEMY_DB_ASYNC_URL Core sqlite+aiosqlite:///./observe.db A database url of the application backend side
ACCESS_SECRET_KEY Core secrets.token_urlsafe(32) A secret key that use to hash the access token with jwt package
ACCESS_TOKEN_EXPIRE_MINUTES Core 30 Expire period of the access token in minute unit
REFRESH_SECRET_KEY Core secrets.token_urlsafe(32) A secret key that use to hash the refresh token with jwt package
REFRESH_TOKEN_EXPIRE_MINUTES Core 60 * 24 * 8 Expire period of the refresh token in minute unit
ADMIN_USER Web observe An username of superuser
ADMIN_PASS Web observe A password of superuser
ADMIN_EMAIL Web observe@mail.com An email of superuser
DEBUG_MODE Log true Logging mode
SQLALCHEMY_DEBUG_MODE Log true Database Logging mode that will logging every execution statement before and after connection

:rocket: Deployment

(env) $ uvicorn src.ddeutil.observe.app:app \
  --host 127.0.0.1 \
  --port 88 \
  --no-access-log

[!NOTE] If this package already deploy, it is able to use

(env) $ uvicorn ddeutil.workflow.api:app \
  --host 127.0.0.1 \
  --port 88 \
  --workers 4 \
  --no-access-log

:speech_balloon: Contribute

I do not think this project will go around the world because it has specific propose, and you can create by your coding without this project dependency for long term solution. So, on this time, you can open the GitHub issue on this project :raised_hands: for fix bug or request new feature if you want it.

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

ddeutil_observe-0.0.7.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

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

ddeutil_observe-0.0.7-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

Details for the file ddeutil_observe-0.0.7.tar.gz.

File metadata

  • Download URL: ddeutil_observe-0.0.7.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ddeutil_observe-0.0.7.tar.gz
Algorithm Hash digest
SHA256 a240558df50f184491035ac50e88f7640487e6e99913d57cda302cfa708e04fd
MD5 8a06202074db1c6b9868a82bba5f4ff7
BLAKE2b-256 42ea4636dd2bc05bea21799b208b01880fa93cec4d8f65d94c0278b40d0d8fab

See more details on using hashes here.

File details

Details for the file ddeutil_observe-0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for ddeutil_observe-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ada08266203cf4ce1d05f4f36ea816a065697116901a9a57ab45c971c568e862
MD5 37fb9660fe29ffc221c3ddc6cfde1953
BLAKE2b-256 a1b716101b1333398a39c23c1478c6ef4e678dddd7839006f85c034b21b30b1c

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