Metadata-Version: 2.3
Name: envgate
Version: 0.1.0
Summary: A minimal Python library to validate environment variables at startup. Zero dependencies.
Keywords: environment,validation,env,config,startup
Author: Victor Magueta Soler
Author-email: Victor Magueta Soler <solermvictor@gmail.com>
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.10
Project-URL: Homepage, https://github.com/vmagueta/envgate
Project-URL: Repository, https://github.com/vmagueta/envgate
Project-URL: Issues, https://github.com/vmagueta/envgate/issues
Description-Content-Type: text/markdown

# envgate

[![PyPI version](https://img.shields.io/pypi/v/envgate)](https://pypi.org/project/envgate/)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Python](https://img.shields.io/pypi/pyversions/envgate)](https://pypi.org/project/envgate/)

A minimal Python library to validate environment variables at startup. Zero dependencies.

## Why?

Instead of your app crashing at runtime because `DATABASE_URL` is missing,
envgate validates everything at startup and tells you exactly what's wrong — all at once.

## Installation

```bash
pip install envgate
```

## Quick Start

```python
from envgate import envgate

envgate({
    "DATABASE_URL": {"required": True},
    "REDIS_URL": {"required": True},
    "LOG_LEVEL": {"default": "INFO"},
    "PORT": {"type": int, "default": 8000},
    "DEBUG": {"type": bool, "default": False},
})
```

If `DATABASE_URL` and `REDIS_URL` are missing, you get:

```
envgate: 2 environment variable errors:
  - DATABASE_URL is required
  - REDIS_URL is required
```

## License

MIT
