Skip to main content

Bicchiere

Bicchiere Logo

Yet another Python web (WSGI) micro-framework

Following Flask and Bottle footsteps, adding a bit of italian flavor :-)

Install

pip install bicchiere

Project Demo App

Current version: 1.9.5

GitHub tag (latest by date)    

A drop from Bicchiere

from bicchiere import Bicchiere

app = Bicchiere()
or
app = Bicchiere("La mia bella App")

@app.get("/")
def home():
    return "Bon giorno, cosa bevete oggi?"
    
if __name__ == "__main__":
    #This will run default server on http://localhost:8086
    app.run()

... and this is just about the classical WSGI Hello, World, for everything else please refer to Bicchiere Wiki

Well... not really. A bit of rationale is in order here.

So, why Bicchiere?

  • For one thing, reinventing the wheel is not only fun but highly educational, so, by all means, do it!

  • I like Flask and Bottle. A lot. Both have things that I highly appreciate, simplicity in the first place. But it doesn't end there.

  • There's also the single file/no dependencies approach (Bottle), which I intend to mimic with Bicchiere. Although not a mandatory thing, I like it that way.

  • Built-in sessions (Flask). Although the user of the library must be free to choose whatever he likes regarding sessions or any other component of the application for that matter, I think session-handling is one of those must-have things in any web app these days. So, I provided basic session handling mechanism, in 3 flavors: memory, filesystem, and sqlite. This was the most that could be done without falling out of the boundaries of the Python Standard Library. Details on this at the wiki (under construction)

  • Built-in templating mechanism (Bottle). Similar considerations apply. In my opinion, this is also a must have, regardless how micro is the framework/library. Then again, end-user must be free to choose. As a good WSGI compliant middleware, Bicchiere doesn't come in the way of the user if he prefers to use Mako, Jinja2, Genshi or whatever he likes. Details at the wiki (under construction)

  • WebSockets handling: to me, this is the fruit on the cake, for various reasons:

    1. It's been said that it can't be done under WSGI, reason the more to do it.
    2. Real time communication looks like another must have in the current landscape of web app development
    3. Then again, its a lot of fun. A lot of pain, too... In any case, Bicchiere comes bundled with native WebSocket support - just taken out from the oven :-)) Details at the wiki (under construction) . Regretably, the original Demo App won't work with websockets, because Pythonanywhere hasn't yet implemented the feature. As of now, there's a mirror at bicchiere.sytes.net which works fine, test at the home page and all. In any case, these issues are related to reverse proxy configuration and have nothing to see with the app/library itself.
  • And still, there's a lot of stuff to be mentioned. More to come...

Metadata

Release files for bicchiere 1.9.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 bicchiere 1.9.5
File Size Uploaded
bicchiere-1.9.5.tar.gz 60.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bicchiere 1.9.5
File Interpreter ABI Platform
bicchiere-1.9.5-py3-none-any.whl Python 3 none any Details

Total release size: 121.4 kB

Release files / bicchiere-1.9.5.tar.gz

Download URL bicchiere-1.9.5.tar.gz
Size 60.1 kB
Tags Source
SHA-256 checksum
How to use checksums
36447cf931ebb489c9408d41054e7213498d93d8a6b927d85b7817c912c1d1a6
BLAKE2b-256 checksum
How to use checksums
87b6da815412e3c9d01821c3b415a3cbe163e9ccdd9fb9b7240bb8def36db138
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.10

Release files / bicchiere-1.9.5-py3-none-any.whl

Download URL bicchiere-1.9.5-py3-none-any.whl
Size 61.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e033a16b48ff0df5a450046cfdcf0d8b98409f6fd91fc56739ad3ceafac7a58
BLAKE2b-256 checksum
How to use checksums
1278e5fe1e0e276de5cb4072dea08cabc21614fe051cbb659e4454c4f9ac2789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.9.5 This release

2 release files

1.9.4

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.1

2 release files

1.7.1

2 release files

1.6.9

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.4.3

2 release files

1.4.1

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.3

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.12.8

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.10.5

2 release files

0.10.2

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.5

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.8.2

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.6.5

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.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

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.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

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