Skip to main content

Infrastructure anomaly detection and monitoring tool

Project description

deta

AI Cost Tracking

PyPI Version Python License AI Cost Human Time Model

  • 🤖 LLM usage: $6.3000 (42 commits)
  • 👤 Human dev: ~$730 (7.3h @ $100/h, 30min dedup)

Generated on 2026-04-30 using openrouter/qwen/qwen3-coder-next


Infrastructure anomaly detection and monitoring tool for development environments.

PyPI Version Python License

Features

  • Manifest Scanning: Scans docker-compose, OpenAPI, package.json, and pyproject.toml files up to 3 layers deep
  • Topology Building: Builds service dependency graphs and detects anomalies
  • Real-time Monitoring: Watches for config changes and probes HTTP health checks
  • Anomaly Detection: Detects missing healthchecks, port conflicts, dependency cycles, and hardcoded secrets
  • Toon Format: Generates Semcod-compatible toon output for ecosystem integration
  • CLI Interface: Simple command-line interface with scan, monitor, and diff commands

Installation

pip install deta

Or with optional dependencies:

pip install deta[docker,toml]

Jak uruchomić

Instalacja zależności web: pip install 'deta[web]' Start dashboardu: deta web /home/tom/github/maskservice/c2004 --depth 3 --host 127.0.0.1 --port 8765 Otwórz: http://127.0.0.1:8765

Usage

Scan infrastructure

deta scan /path/to/project --depth 3 --output infra-map.json

Generate graph outputs (YAML / Mermaid / PNG)

# text graph + mermaid + json
deta scan /path/to/project --formats json,yaml,mermaid

# include online checks (localhost probes)
deta scan /path/to/project --formats json,yaml,mermaid --online

# try PNG (requires graphviz python package + graphviz binary)
deta scan /path/to/project --formats png

Generated files (configurable in deta.yaml):

  • infra-map.json
  • infra-graph.yaml
  • infra-graph.mmd
  • infra-graph.png
  • infra.toon.yaml

Monitor in real-time

deta monitor /path/to/project --interval 30 --depth 3
deta monitor . --interval 30 --depth 3

# realtime watch from scan command (regenerates outputs on each change)
deta scan /path/to/project --watch --formats json,yaml,mermaid --online

Compare with baseline

deta diff --baseline infra-map.json /path/to/project

Python API

from pathlib import Path
from deta import build_topology

# Build topology from manifests
topology = build_topology(Path("/path/to/project"), max_depth=3)

# Detect anomalies
anomalies = topology.detect_anomalies()
for anomaly in anomalies:
    print(f"{anomaly['severity']}: {anomaly['type']}")

# Export to JSON
import json
output = json.loads(topology.to_json())

Architecture

deta/
├── scanner/          # Manifest parsing
│   ├── compose.py    # docker-compose.yml
│   ├── openapi.py    # OpenAPI specs
│   ├── npm.py        # package.json
│   └── python.py     # pyproject.toml
├── builder/          # Topology construction
│   └── topology.py   # Graph & anomaly detection
├── monitor/          # Real-time monitoring
│   ├── watcher.py    # File watching
│   ├── prober.py     # HTTP health checks
│   └── alerter.py    # Colored output
├── formatter/        # Output formats
│   └── toon.py       # Semcod toon format
├── integration/      # Ecosystem hooks
│   └── semcod.py     # sumd, pyqual, vallm
└── cli.py            # Command-line interface

Semcod Integration

deta integrates with the Semcod ecosystem:

from deta.integration import generate_for_sumd, pre_deploy_check

# Generate toon for sumd
generate_for_sumd(Path("."), output=Path("infra.toon.yaml"))

# Pre-deployment validation
passed, issues = pre_deploy_check(Path("."))
if not passed:
    print("Deployment blocked:", issues)

License

Licensed under Apache-2.0.

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

deta-0.2.40.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

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

deta-0.2.40-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file deta-0.2.40.tar.gz.

File metadata

  • Download URL: deta-0.2.40.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for deta-0.2.40.tar.gz
Algorithm Hash digest
SHA256 cd6679370808b8fdfd0d2c99ddb8ed5da1ddc206af6cdecce989ddba8c5a4b58
MD5 3163d59498a5b443f22e06edba57d0f0
BLAKE2b-256 3aae6eff14f929313a99a57cfec2fd62e965d50635283c6c7d2722da8f8b4bfa

See more details on using hashes here.

File details

Details for the file deta-0.2.40-py3-none-any.whl.

File metadata

  • Download URL: deta-0.2.40-py3-none-any.whl
  • Upload date:
  • Size: 58.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for deta-0.2.40-py3-none-any.whl
Algorithm Hash digest
SHA256 cc62fa97d60b6862f13ae196d7e6f5b7358feaf506817dc6ad7b9f4914bec58f
MD5 62e45ec2f114acc6857ed011f21e4beb
BLAKE2b-256 7c5965cfa6fe9c64816de9b7e1e39298f3aff2e4efb8aaf34127a1e971758ccb

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