R(outing)Ump(ire) is an experimenal upstream (i.e. server) selector for HTTP requests. It does not proxy the request but instead integrates with a load-balancer or reverse-proxy that exposes an upstream selection interface:
nginx X-Accel-*
…
dev
$ git clone git@github.com:bninja/rump.git
$ cd rump
$ mkvirtualenv rump
(rump)$ pip install -e .[tests]
(rump)$ py.test test/ --cov=rump --cov-report term-missing
wtf?
Typically you can embed complex routing logic directly in a load-balancer or reverse-proxy (e.g. nginx lua, varnish vcl, etc) and that’s what should be done 99% of the time.
This is an experiment to see what writing a Python based HTTP upstream selector would look like and what flexibility that gives you.
Use it as a program or embed it as a lib in your proxy.
program
Install it:
Use it:
$ rump list
my-router
$ rump show -d my-router
...
$ rump edit -d my-router
$ service rumpd status
lib
Get it:
$ pip install rump
Use it:
import rump
router = rump.Router(
name='my-router',
...
)
upstream = router.match_upstream(router.request_type(wsgi_environ))
if upstream:
server = upstream()
Metadata
Release files for rump 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rump-0.2.1.tar.gz | 34.8 kB | Without provenance | Details |
Release files / rump-0.2.1.tar.gz
| Download URL | rump-0.2.1.tar.gz |
|---|---|
| Size | 34.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
857ad69152ec4e94401388e17cbf7ce6459aedd5f44d5e6baf2987b4ce5f24c6
|
|
BLAKE2b-256 checksum How to use checksums |
cacdbfde05d262a0302dd88fd2d3ca1b0e6b1d81afeecbb72e823ec10c21632c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for rump 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.