# `SnakeBridge.PythonEnv`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/python_env.ex#L1)

Compile-time orchestrator for Python environment provisioning.

# `requirement`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/python_env.ex#L8)

```elixir
@type requirement() :: String.t()
```

# `derive_requirements`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/python_env.ex#L39)

```elixir
@spec derive_requirements([SnakeBridge.Config.Library.t()]) :: [requirement()]
```

Converts library config to PEP-440 requirement strings.

Skips stdlib libraries and applies pypi_package and extras overrides.

# `ensure!`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/python_env.ex#L18)

```elixir
@spec ensure!(SnakeBridge.Config.t()) :: :ok | no_return()
```

Ensures the Python environment is ready for introspection.

In dev with auto_install enabled, installs missing packages.
In strict mode, verifies the environment without installing.

# `verify_environment!`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/python_env.ex#L62)

```elixir
@spec verify_environment!(SnakeBridge.Config.t()) :: :ok | no_return()
```

Checks packages are installed without installing.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
