Metadata-Version: 2.4
Name: envoy-server
Version: 1.39.0
Summary: A Python wheel distribution of the Envoy server
Keywords: envoy
Author: CurioSwitch
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
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.
It supports glibc Linux, macOS on arm64, and Windows on amd64, running an embedded Envoy binary
directly.

Note, this package is for Python users. If you're not already using Python, you may want to try
[func-e](https://github.com/tetratelabs/func-e/) instead.

## 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
```

If you just want to run Envoy on a machine with `uv` (or `pipx`, etc) available without a project to
add to, you can.

```bash
uvx --from envoy-server envoy --version
```

The path to the actual Envoy binary can be found with `get_envoy_path`. Note, this will not be available
on Windows or other unsupported Envoy platforms and looking up `envoy` on `PATH` is recommended when
supporting such platforms.

```python
import subprocess

from envoy import get_envoy_path

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