Skip to main content

A web framework optimized for programmer happiness

Project description

:warning: WARNING: This is a work in progress. It doesn't have documentation. Do NOT use it.

Proper

A web framework optimized for programmer happiness.

Requirements

  • Python 3.10+

Installation

pip install proper

Design principles

  • "Convention over configuration".

  • No globals. When you need a shared object, pass it arround.

  • Optimize for the 95%. Don't compromise the usability of the common cases to keep consistency with the edge cases.

  • Code redability is important.

  • App-code over framework-code Because app code is infintely configurable without dirty hacks.

  • "Everyone is an adult here". Run with scissors if you must.

  • Regular WSGI is great.

Sources of inspirations

From Elixir/Phoenix

App-code over framework-code.

You can make it clean and straightforward or you can make it configurable. But if you put the code in the application, thanks to a standarized project skeleton, you can have both!

From Ruby/Rails

Convention over configuration.

Optimize for developer happiness.

The application code must be beatiful.

  • Empty class-based views that works!
  • Class-based views allows several tricks that make the experience much better:
    • A configurable and plugganle render and view functions.
    • Class based views a-la Django, but simpler and completely obvious because is your application code (see (App-code over framework-code)
    • Saving context varaibles in your view instance looks much cleaner that building a dictionary and manually calling render and the end of each view.

Visualization of the codebase

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proper-0.2.tar.gz (109.8 kB view details)

Uploaded Source

Built Distribution

proper-0.2-py3-none-any.whl (140.9 kB view details)

Uploaded Python 3

File details

Details for the file proper-0.2.tar.gz.

File metadata

  • Download URL: proper-0.2.tar.gz
  • Upload date:
  • Size: 109.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for proper-0.2.tar.gz
Algorithm Hash digest
SHA256 203cd7a7b98acb011cd7f3a6729e9e5a1c891bc3764a9744c789460e13fb0f7e
MD5 3313a9c880c95d5a13636b303140ef0e
BLAKE2b-256 23a728615337ccff96c4972225778897d4be8b09d5688c944cc3d73c02a295e5

See more details on using hashes here.

File details

Details for the file proper-0.2-py3-none-any.whl.

File metadata

  • Download URL: proper-0.2-py3-none-any.whl
  • Upload date:
  • Size: 140.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for proper-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 db8e074c2c57e47d9992a4566e0696a1f303982eef0c15eeb22bc6fdd82906ff
MD5 cf9ca85e51087f06eb663d6e3e2395dc
BLAKE2b-256 9135d3600e3e73647347b225d5d575330fd692f31ea227dcc6cadab13e9089ea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page