Nginx-like async edge router / reverse proxy in pure Python.
Project description
pynx
pynx is a minimal Nginx-like async reverse proxy / edge router written in Python.
Features (MVP)
- Reverse proxy (HTTP)
- Virtual hosts (server blocks)
- Location routing (prefix + exact match)
- Load balancing (round-robin)
- Basic health checks (optional)
- Prometheus metrics (optional)
Quickstart
Install (dev)
pip install -e .
Run with YAML config
pynx run -c examples/pynx.yml
Example curl
curl -H "Host: example.com" http://localhost:8080/
Config format
See examples/pynx.yml.
Roadmap
- TLS termination + ACME
- HTTP/2 + HTTP/3
- Middleware pipeline (rate limit, auth, rewrite)
- TCP/UDP proxy
- Admin API + dashboard
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pynx_proxy-0.1.0.tar.gz
(8.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pynx_proxy-0.1.0.tar.gz.
File metadata
- Download URL: pynx_proxy-0.1.0.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11ce3b517032a4f4f5959650a1e9e7b9de940bac774f398d00c41bd1285cfec9
|
|
| MD5 |
c2dfea9873de395205a632e9de635754
|
|
| BLAKE2b-256 |
a81e8c4b66f8a16d314e83715568ff7ddcf4e225744d8547889fca081d224fbd
|
File details
Details for the file pynx_proxy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pynx_proxy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1922c0ab41bbb7b687ec3d58e81bc01d1537aeb3dfd7bb30f6a7e0963f859457
|
|
| MD5 |
7d6a8276826c4c5f3ec88560689c2f03
|
|
| BLAKE2b-256 |
f7cc8b4a2dbc97cd86922dd421765f11a620316661a3fdda3bd1511b9e690a00
|