Skip to content

Releases: Pinak-Datta/envgap

envgap v0.3.0

Choose a tag to compare

@Pinak-Datta Pinak-Datta released this 17 Sep 08:47

envgap v0.3.0 adds Docker Compose environment drift detection.

What's new

  • Detect common Docker Compose environment variables.
  • Detect safe project-local Docker Compose env_file variables.
  • Report Compose variables that are missing from .env.example.
  • Add a Docker Compose drift example project.

Why this matters

This helps catch cases where a project works locally, but behaves differently in Docker because container environment variables are missing from .env.example or documented under different names.

Try it

pip install -U envgap
envgap check

Try the new example:

envgap check examples/docker-compose

envgap v0.2.2

Choose a tag to compare

@Pinak-Datta Pinak-Datta released this 17 Sep 08:31

Small docs/tooling release focused on making envgap easier to install and adopt.

What's new

  • Added uv tool and pipx install instructions.
  • Added a minimal GitHub Actions example for strict envgap checks.
  • Added pre-commit hook metadata and README setup instructions.

Install

pip install -U envgap

Or:

uv tool install envgap
pipx install envgap

envgap v0.2.1

Choose a tag to compare

@Pinak-Datta Pinak-Datta released this 02 Jul 05:54

What's new

envgap v0.2.1 improves Pydantic Settings support and includes the first community-contributed improvements.

Pydantic Settings aliases

envgap now understands common Pydantic Settings aliases:

from pydantic import Field
from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    openai_api_key: str = Field(alias="OPENAI_KEY")

envgap will now treat OPENAI_KEY as the expected environment variable.

Pydantic env_prefix

envgap now supports common env_prefix declarations:

from pydantic_settings import BaseSettings, SettingsConfigDict

class Settings(BaseSettings):
    model_config = SettingsConfigDict(env_prefix="APP_")

    database_url: str

envgap will now treat APP_DATABASE_URL as the expected environment variable.

Also included

  • Support for Field(validation_alias=...)
  • Support for AliasChoices(...)
  • Better handling of unknown Pydantic settings config overrides
  • More typo-detection test coverage for common abbreviations
  • README comparison with related configuration tools

Contributors

Thanks to @JhansiOruganti-43 and @xuu33030 who contributed for this release.

envgap v0.2.0

Choose a tag to compare

@Pinak-Datta Pinak-Datta released this 27 Jun 16:13

What's new

envgap now detects Pydantic BaseSettings fields, which makes it more useful for FastAPI-style projects.

It can now detect settings like:

from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    database_url: str
    openai_api_key: str
    debug: bool = False

and classify:

DATABASE_URL as required
OPENAI_API_KEY as required
DEBUG as optional

Also included

  • Required vs optional detection for Pydantic settings fields
  • Field(...) and Field(default=...) handling
  • default_factory support as optional
  • FastAPI/Pydantic example update
  • README and changelog updates

envgap v0.1.1

Choose a tag to compare

@Pinak-Datta Pinak-Datta released this 26 Jun 06:47

envgap v0.1.1

First public release of envgap: a Python CLI that finds gaps between your app's expected environment variables, .env, .env.example, shell environment, and Python code.

Highlights

  • Parse .env and .env.example
  • Detect missing, empty, duplicate, placeholder, and undocumented keys
  • Detect likely typo pairs like DB_URL vs DATABASE_URL
  • Scan Python code for os.environ[...], os.getenv(...), and os.environ.get(...)
  • Classify required vs optional env vars
  • Show file and line number for code usage
  • Explain when a missing .env key exists in the shell, which can hide CI/Docker failures
  • Provide terminal and JSON output
  • Support CI-friendly exits with --strict / --ci
  • Support deterministic checks with --no-shell

Install

pip install envgap

Try It

envgap check
envgap check examples/basic
envgap check --json
envgap check --ci