Metadata-Version: 2.4
Name: envoy-server
Version: 1.36.2.post1
Summary: A Python wheel distribution of the Envoy server
Keywords: envoy
Author: CurioSwitch
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: Proxy Servers
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: System :: Networking
Requires-Python: >=3.10
Project-URL: Changelog, https://github.com/curioswitch/py-envoy-server/releases
Project-URL: Homepage, https://github.com/curioswitch/py-envoy-server
Project-URL: Issues, https://github.com/curioswitch/py-envoy-server/issues
Project-URL: Repository, https://github.com/curioswitch/py-envoy-server.git
Description-Content-Type: text/markdown

# envoy-server

A Python package containing a runnable [Envoy](https://github.com/envoyproxy/envoy) command.

On platforms supported natively by Envoy, typically glibc Linux or macOS on arm64, the package
embeds the Envoy binary itself and runs it directly. On other platforms such as Windows, it runs
the official [Envoy docker image](https://hub.docker.com/r/envoyproxy/envoy) - Docker must be installed
to run. The Docker fallback is primarily meant for non-production usage, for example when your
project runs Envoy on Linux in production but should still be runnable on a Windows developer
machine.

## Usage

```bash
uv add envoy-server # or pip install
```

The package defines a script named `envoy` which will be available on the `PATH` as normal and can
then be run as you need.

```bash
uv run envoy --version # or just envoy if in the system Python or an activated virtualenv
```

The path to the actual binary can be found with `get_envoy_path` for use with e.g., `subprocess` in Python code.

```python
import subprocess

from envoy import get_envoy_path

subprocess.run([get_envoy_path(), "--version"], check=True)
```
