Backpipe
Back-Ends simplified.
pip install backpipe
Info
Backpipe tries to support all operating systems.
But its primary focus lies on Linux support,
as it is the main choice for website hosting.
Running it on Windows might lead to issues and is not recommended.
Why the name?
The name 'Backpipe' is inspired by the english word 'Bagpipe'.
I decided to call it 'Backpipe', because it is a Back-End Framework.
It is just a little pun.
Samples
Hello World!
import backpipe
server = backpipe.BackPipe()
@server.get()
def hello_world(r: backpipe.Request):
return (200, "Hello World")
server.run()
What is my IP address?
import backpipe
server = backpipe.BackPipe()
@server.get()
def my_ip_address(r: backpipe.Request):
return (200, r.address)
server.run()
Complex Example
import backpipe
server = backpipe.BackPipe()
@server.any()
def wrong_method(r: backpipe.Request):
return (405, f"Wrong method: {r.method}, use POST.")
@server.unknown()
def unknown_method(r: backpipe.Request):
return (405, f"Unknown method: {r.method}, use POST.")
@server.post()
def login(r: backpipe.Request):
try:
if r.headers["key"] == "password1234":
return (200, "Password correct!")
else:
return (304, "Password wrong!")
except KeyError:
return (400, "invalid request, 'key' header missing.")
server.run()
Using Request Bodies
import backpipe
server = backpipe.BackPipe()
@server.post()
def respond(r: backpipe.Request):
return (200, r.body) # Returns the clients's request body
server.run()
Known issues
- URI-too-long message raises error on client-side when using Python requests
- Limited client information on URI-too-long message (probably unfixable.)
HTTPS notice
When activating HTTPS, you need to sign your certificate file
with a key provided by a trusted authority.
Self-signing your certificate will make tools such as
CURL, your Browser, etc. raise a warning,
that the website may be unsafe.
Documentation
Read through the Documentation,
to get started with backpipe
License
Backpipe is licensed under the GNU GPL v3.
Metadata
Release files for backpipe 0.6.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| backpipe-0.6.5.tar.gz | 27.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| backpipe-0.6.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.5 kB
Release files / backpipe-0.6.5.tar.gz
| Download URL | backpipe-0.6.5.tar.gz |
|---|---|
| Size | 27.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4927cd58f22c5108e3b572be9ed8da842066a82d836fb24e9e0c5c9bf4b2cd9
|
|
BLAKE2b-256 checksum How to use checksums |
285d0a37022ccdf2950749f6a308ad4956555c38cda67288fbf4df8fbd945814
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|
Release files / backpipe-0.6.5-py3-none-any.whl
| Download URL | backpipe-0.6.5-py3-none-any.whl |
|---|---|
| Size | 35.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c014815a290ed73172eb44af7516de7e1a3a40cd2ab23b72b88fa42956ca45ec
|
|
BLAKE2b-256 checksum How to use checksums |
8f8942a27d8575034768f2d8b5b1d73f3fc4a3f4669a1161709f1a700f2881f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|