A Dashboard Monitoring Tool for Multiple Python Applications
Project description
Fabric Monitor
🔍 Lightweight Python Backend Service Monitoring Framework
Features • Installation • Quick Start • Documentation • Contributing
Features
- 🚀 Zero-Intrusion Integration - Integrates via middleware with minimal impact on existing code
- 📊 Real-time Monitoring - Real-time collection of request data, response times, error rates, and more
- 📝 Auto Documentation - Automatically extracts API documentation from code
- 🎨 Visual Dashboard - Modern monitoring dashboard built with Vue3
- 🔌 Extensible Architecture - Plugin-based design supporting FastAPI, Flask, and more frameworks
- 💾 Multiple Storage Backends - Supports memory, SQLite(in dev), Redis(in dev), and other storage options
Installation
# Using uv
uv pip install fabric-monitor
# Using pip
pip install fabric-monitor
# Install with FastAPI support
uv pip install "fabric-monitor[fastapi]"
# Install with Flask support
uv pip install "fabric-monitor[flask]"
# Install all optional dependencies
uv pip install "fabric-monitor[all]"
Quick Start
FastAPI
from fastapi import FastAPI
from fabric import Fabric, FabricConfig
app = FastAPI()
# Initialize Fabric
fabric = Fabric(FabricConfig(app_name="My API"))
fabric.setup(app)
@app.get("/users")
async def get_users():
return [{"id": 1, "name": "Alice"}]
# Visit http://localhost:8000/fabric to view the monitoring dashboard
Configuration Options
from fabric import FabricConfig
config = FabricConfig(
app_name="My API", # Application name
prefix="/fabric", # Dashboard route prefix
enabled=True, # Enable monitoring
storage_type="memory", # Storage type: memory | sqlite | redis
max_requests=10000, # Maximum request records
retention_hours=24, # Data retention time
sample_rate=1.0, # Sampling rate (0.0-1.0)
exclude_paths=["/health"], # Excluded paths
enable_auth=False, # Enable authentication
auth_token=None, # Authentication token
)
Documentation
For detailed documentation, see Development Documentation
Supported Frameworks
| Framework | Status |
|---|---|
| FastAPI | ✅ Supported |
| Flask | ✅ Supported |
| Django | 📋 Planned |
Supported Storage
| Storage | Status |
|---|---|
| Memory | ✅ Supported |
| SQLite | 🚧 In Development |
| Redis | 🚧 In Development |
| MySQL | 📋 Planned |
License
MIT License
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
fabric_monitor-0.1.0.tar.gz
(282.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fabric_monitor-0.1.0.tar.gz.
File metadata
- Download URL: fabric_monitor-0.1.0.tar.gz
- Upload date:
- Size: 282.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85042ad488cd42d52aada8b7f9a250265cb83e704f08d9f19bf8f2e2d781c5f4
|
|
| MD5 |
1c3046ae274fd07cdc68c7d1395da4fc
|
|
| BLAKE2b-256 |
408a8a2e4d5bc2640e36b8ece5dbded2faf34f0593ac7368f934e852ce349490
|
File details
Details for the file fabric_monitor-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fabric_monitor-0.1.0-py3-none-any.whl
- Upload date:
- Size: 293.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc5e19a895764f7e8cb685a19584f4a5e68c25568995571e44e820e3856f0843
|
|
| MD5 |
b01102e9326818089dd50488d51e9ca5
|
|
| BLAKE2b-256 |
aea9765e7679550b51c6f21caf3b558820008c0fb54439775edb35c22124cef4
|