A backend HTTP framework for Python.


Keywords
framework, http, web, api, server, backend, internet, package, pypi, python, www
License
GPL-3.0
Install
pip install backpipe==0.5.1

Documentation

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 for dummies

Read through the Documentation for Dummies,
to get started with backpipe

License

Backpipe is licensed under the GNU GPL v3.