# Observe Web App
[![test](https://github.com/ddeutils/ddeutil-observe/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/ddeutils/ddeutil-observe/actions/workflows/tests.yml)
[![pypi version](https://img.shields.io/pypi/v/ddeutil-observe)](https://pypi.org/project/ddeutil-observe/)
[![python support version](https://img.shields.io/pypi/pyversions/ddeutil-observe)](https://pypi.org/project/ddeutil-observe/)
[![size](https://img.shields.io/github/languages/code-size/ddeutils/ddeutil-observe)](https://github.com/ddeutils/ddeutil-observe)
[![gh license](https://img.shields.io/github/license/ddeutils/ddeutil-observe)](https://github.com/ddeutils/ddeutil-observe/blob/main/LICENSE)
[![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
The **Lightweight observation web application** project was created for easy to
make a observation web application that getting log, or trigger status from any
data framework formats and endpoint APIs, this project focuses on the
`ddeutil-workflow` data orchestration 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.
## :round_pushpin: Installation
```shell
pip install ddeutil-observe
```
> I added this feature to the main milestone.
>
> :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: |
## :beers: Getting Started
This project implement the best scalable FastAPI web application structure.
For the first phase, I will use the SQLite be a backend database that keep
authentication and workflows data.
### Main Page
### Workflow Release Page
## :cookie: Configuration
| Environment | Component | Default | Description |
|---------------------------------------------|-----------|----------------------------------|-----------------------------------------------------------------------------------------------|
| `OBSERVE_CORE_TIMEZONE` | Core | UTC | |
| `OBSERVE_SQLALCHEMY_DB_ASYNC_URL` | Core | sqlite+aiosqlite:///./observe.db | |
| `OBSERVE_CORE_ACCESS_SECRET_KEY` | Core | | |
| `OBSERVE_CORE_ACCESS_TOKEN_EXPIRE_MINUTES` | Core | | |
| `OBSERVE_CORE_REFRESH_SECRET_KEY` | Core | | |
| `OBSERVE_CORE_REFRESH_TOKEN_EXPIRE_MINUTES` | Core | | |
| `OBSERVE_WEB_ADMIN_USER` | Web | observe | An username of superuser |
| `OBSERVE_WEB_ADMIN_PASS` | Web | observe | An password of superuser |
| `OBSERVE_WEB_ADMIN_EMAIL` | Web | observe@mail.com | An email of superuser |
| `OBSERVE_LOG_DEBUG_MODE` | Log | true | Logging mode |
| `OBSERVE_LOG_SQLALCHEMY_DEBUG_MODE` | Log | true | Database Logging mode that will logging every execution statement before and after connection |
## :rocket: Deployment
```shell
(env) $ uvicorn src.ddeutil.observe.app:app --host 127.0.0.1 --port 88
```
> [!NOTE]
> If this package already deploy, it able to use
> `uvicorn ddeutil.workflow.api:app --host 127.0.0.1 --port 88 --workers 4`
Raw data
{
"_id": null,
"home_page": null,
"name": "ddeutil-observe",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9.13",
"maintainer_email": null,
"keywords": "data, observe, utility, webserver, fastapi",
"author": null,
"author_email": "ddeutils <korawich.anu@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/7c/71/b6d8b95b1f2397c1a56d331eb9d52e877f5cb8cb2f7922c8d4a217b8de9e/ddeutil_observe-0.0.5.tar.gz",
"platform": null,
"description": "# Observe Web App\n\n[![test](https://github.com/ddeutils/ddeutil-observe/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/ddeutils/ddeutil-observe/actions/workflows/tests.yml)\n[![pypi version](https://img.shields.io/pypi/v/ddeutil-observe)](https://pypi.org/project/ddeutil-observe/)\n[![python support version](https://img.shields.io/pypi/pyversions/ddeutil-observe)](https://pypi.org/project/ddeutil-observe/)\n[![size](https://img.shields.io/github/languages/code-size/ddeutils/ddeutil-observe)](https://github.com/ddeutils/ddeutil-observe)\n[![gh license](https://img.shields.io/github/license/ddeutils/ddeutil-observe)](https://github.com/ddeutils/ddeutil-observe/blob/main/LICENSE)\n[![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nThe **Lightweight observation web application** project was created for easy to\nmake a observation web application that getting log, or trigger status from any\ndata framework formats and endpoint APIs, this project focuses on the\n`ddeutil-workflow` data orchestration tool first :dart:.\n\n> [!WARNING]\n> This project is the best fit integration with `ddeutil-workflow` package.\n> The first propose is monitor and observe from worker nodes that deploy the\n> workflow application on a target self-hosted.\n\n## :round_pushpin: Installation\n\n```shell\npip install ddeutil-observe\n```\n\n> I added this feature to the main milestone.\n>\n> :egg: **Docker Images** supported:\n>\n> | Docker Image | Python Version | Support |\n> |----------------------------|----------------|---------|\n> | ddeutil-observe:latest | `3.9` | :x: |\n> | ddeutil-observe:python3.10 | `3.10` | :x: |\n> | ddeutil-observe:python3.11 | `3.11` | :x: |\n> | ddeutil-observe:python3.12 | `3.12` | :x: |\n> | ddeutil-observe:python3.12 | `3.13` | :x: |\n\n## :beers: Getting Started\n\nThis project implement the best scalable FastAPI web application structure.\nFor the first phase, I will use the SQLite be a backend database that keep\nauthentication and workflows data.\n\n### Main Page\n\n### Workflow Release Page\n\n## :cookie: Configuration\n\n| Environment | Component | Default | Description |\n|---------------------------------------------|-----------|----------------------------------|-----------------------------------------------------------------------------------------------|\n| `OBSERVE_CORE_TIMEZONE` | Core | UTC | |\n| `OBSERVE_SQLALCHEMY_DB_ASYNC_URL` | Core | sqlite+aiosqlite:///./observe.db | |\n| `OBSERVE_CORE_ACCESS_SECRET_KEY` | Core | | |\n| `OBSERVE_CORE_ACCESS_TOKEN_EXPIRE_MINUTES` | Core | | |\n| `OBSERVE_CORE_REFRESH_SECRET_KEY` | Core | | |\n| `OBSERVE_CORE_REFRESH_TOKEN_EXPIRE_MINUTES` | Core | | |\n| `OBSERVE_WEB_ADMIN_USER` | Web | observe | An username of superuser |\n| `OBSERVE_WEB_ADMIN_PASS` | Web | observe | An password of superuser |\n| `OBSERVE_WEB_ADMIN_EMAIL` | Web | observe@mail.com | An email of superuser |\n| `OBSERVE_LOG_DEBUG_MODE` | Log | true | Logging mode |\n| `OBSERVE_LOG_SQLALCHEMY_DEBUG_MODE` | Log | true | Database Logging mode that will logging every execution statement before and after connection |\n\n## :rocket: Deployment\n\n```shell\n(env) $ uvicorn src.ddeutil.observe.app:app --host 127.0.0.1 --port 88\n```\n\n> [!NOTE]\n> If this package already deploy, it able to use\n> `uvicorn ddeutil.workflow.api:app --host 127.0.0.1 --port 88 --workers 4`\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Lightweight observation web application",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/ddeutils/ddeutil-observe/",
"Source Code": "https://github.com/ddeutils/ddeutil-observe/"
},
"split_keywords": [
"data",
" observe",
" utility",
" webserver",
" fastapi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6f317c5aec6ad13fc892f0fd11898bb90b644d09f04a9e899c0e5f62adc1d04f",
"md5": "6965860ed00d5424a5d5304bf9960573",
"sha256": "e66c6d39c276933da0fea14c61b17c0ca17bbbbdb99cc2a36c4e483983cbb155"
},
"downloads": -1,
"filename": "ddeutil_observe-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6965860ed00d5424a5d5304bf9960573",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9.13",
"size": 35597,
"upload_time": "2024-09-23T08:05:56",
"upload_time_iso_8601": "2024-09-23T08:05:56.366744Z",
"url": "https://files.pythonhosted.org/packages/6f/31/7c5aec6ad13fc892f0fd11898bb90b644d09f04a9e899c0e5f62adc1d04f/ddeutil_observe-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c71b6d8b95b1f2397c1a56d331eb9d52e877f5cb8cb2f7922c8d4a217b8de9e",
"md5": "72b2c1210bfbc369ae8f252e6da2552f",
"sha256": "23223c1e8c778f1e95f342d790f32a068697c6b574c19d576b27e76dfb1a7006"
},
"downloads": -1,
"filename": "ddeutil_observe-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "72b2c1210bfbc369ae8f252e6da2552f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9.13",
"size": 26130,
"upload_time": "2024-09-23T08:05:57",
"upload_time_iso_8601": "2024-09-23T08:05:57.828244Z",
"url": "https://files.pythonhosted.org/packages/7c/71/b6d8b95b1f2397c1a56d331eb9d52e877f5cb8cb2f7922c8d4a217b8de9e/ddeutil_observe-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-23 08:05:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ddeutils",
"github_project": "ddeutil-observe",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ddeutil-observe"
}