Skip to main content

envtether

Static Configuration Intelligence for Modern Python Applications

PyPI version Python versions License: MIT Code style: black

envtether is an enterprise-grade static analysis tool designed to help developers understand, validate, secure, and maintain project configuration before deployment.

It acts as the Ruff, SonarQube, or ESLint of application configuration, providing deep insights into how your configuration variables are defined, used, and deployed across your entire stack.


🌟 Key Features

  • Comprehensive Discovery: Parses Python code (AST-level), .env files, Docker Compose, Kubernetes manifests, GitHub Actions, Terraform, and more.
  • Deep Framework Support: Native support for FastAPI, Flask, Django, Pydantic BaseSettings, Dynaconf, and standard os.getenv.
  • Advanced Secret Detection: Combines heuristic regex patterns with Shannon entropy analysis to detect hardcoded and exposed credentials (AWS, Azure, GCP, OpenAI, Stripe, etc.) with minimal false positives.
  • Cross-File Drift Detection: Identifies misalignments between your .env.example, Docker Compose, and CI/CD pipelines.
  • Health Scoring: Computes a holistic health score (0-100) based on 11 dimensions of configuration hygiene, giving you an immediate sense of production readiness.
  • Dependency Graph: Builds a directed dependency graph connecting variables to services, files, and deployment targets. Exportable to Mermaid, Graphviz DOT, JSON, and interactive HTML.
  • Automated Documentation: Generates beautiful Markdown and HTML documentation of your project's configuration variables.
  • CI/CD Integration: Supports SARIF output for GitHub Advanced Security and other CI/CD dashboards.

🚀 Installation

envtether requires Python 3.12 or newer.

pip install envtether

Or using uv:

uv tool install envtether

🛠️ Quick Start

Navigate to your project's root directory and run the CLI:

1. Scan and Analyze

# Full interactive scan with Rich console output
envtether scan .

# Run a comprehensive health check (fails on critical issues)
envtether doctor .

2. Generate a Dependency Graph

Visualise how your configuration connects to your codebase and infrastructure:

envtether graph . --format html --output config-graph.html

3. Generate Documentation

Auto-generate a beautiful configuration reference for your team:

envtether docs . --format markdown --output CONFIG.md

4. CI/CD Integration

Run envtether in your CI pipeline to catch configuration drift and exposed secrets before they are merged:

envtether ci . --format sarif > envtether-results.sarif

🧠 How It Works

  1. Scanning: Recursively finds all relevant files (ignoring .gitignore, node_modules, etc.).
  2. Architecture Discovery: Detects the project type (e.g. FastAPI, Docker), cloud providers, and service dependencies (e.g. Redis, PostgreSQL).
  3. AST Analysis: Parses Python code using ast to find os.getenv, os.environ, and Pydantic BaseSettings declarations.
  4. Format Analysis: Parses .env, Docker Compose, Kubernetes manifests, and Terraform files to track variable definitions.
  5. Cross-Validation: Compares variable sets across files to detect drift (e.g. variable defined in Docker Compose but missing in .env.example).
  6. Secret Detection: Runs high-performance entropy checks and pattern matching on configuration values.
  7. Reporting: Aggregates findings, computes a health score, and exports to the requested format.

⚙️ Configuration

Initialise a configuration file in your repository:

envtether init .

This creates a .envtether.toml file where you can customise rules, secret detection thresholds, ignore paths, and more.

🔌 Plugin System

envtether is designed with a robust protocol-based plugin architecture. You can easily extend it to support proprietary configuration formats, internal tools, or new frameworks.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide and Code of Conduct.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🛡️ Security

If you discover a security vulnerability within envtether, please review our Security Policy for reporting guidelines.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envtether-26.7.20.tar.gz (65.8 kB view details)

Uploaded Source

Built Distribution

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

envtether-26.7.20-py3-none-any.whl (93.7 kB view details)

Uploaded Python 3

File details

Details for the file envtether-26.7.20.tar.gz.

File metadata

  • Download URL: envtether-26.7.20.tar.gz
  • Upload date:
  • Size: 65.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for envtether-26.7.20.tar.gz
Algorithm Hash digest
SHA256 2f3814b0cc2e566cf2457c2562ee2ccd3b7fcbdbc806fa785a76c18313a87fee
MD5 b84cd78d6bb6d991e8120bb8e7aaf856
BLAKE2b-256 2acf807f875cac62af832e8a4c25a28dd89aef32bc3e7764904044aa510751fc

See more details on using hashes here.

File details

Details for the file envtether-26.7.20-py3-none-any.whl.

File metadata

  • Download URL: envtether-26.7.20-py3-none-any.whl
  • Upload date:
  • Size: 93.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for envtether-26.7.20-py3-none-any.whl
Algorithm Hash digest
SHA256 00e57d01e8d342ddcacf4de16e376fd074e581f49afb39100c44f243a1f2e7d4
MD5 554e4e45a018a89223ce883b582bacea
BLAKE2b-256 d5e4cb8601b8337c4fe7be831cf4807e54918777e2ba21d6fd198b14a5a4ac8f

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