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 from PyPI
pip install pynx-proxy
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.2.0.tar.gz
(9.3 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.2.0.tar.gz.
File metadata
- Download URL: pynx_proxy-0.2.0.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9874c8add2f199ea6325d5e5c46ec55a47d193fec8a15e204bf829c677ce00a
|
|
| MD5 |
884af8b3b5e722e3cf01967c423bfe1d
|
|
| BLAKE2b-256 |
235483a890e5c1e63b065d8c4aeb445e2b90f7cb26f93831fab316f77e301c36
|
File details
Details for the file pynx_proxy-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pynx_proxy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.4 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 |
8f17ba7e5499de90ef316e2ef97565fd456a39a94635f09210eb6e4f62bffa68
|
|
| MD5 |
3e40fbbc87fb3da86c39d6468e17c298
|
|
| BLAKE2b-256 |
2b6d3b110764d96e25c56648d225636ae34459b82be59cfa76ff2d5f4cbcdef3
|