Skip to main content

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)

Source distribution for backpipe 0.6.5
File Size Uploaded
backpipe-0.6.5.tar.gz 27.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for backpipe 0.6.5
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.6.5 This release

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page