Skip to main content

[![Build Status](https://travis-ci.org/gengo/decanter.png?branch=master)](https://travis-ci.org/gengo/decanter) decanter ========

A web framework based on [bottle](http://bottlepy.org/docs/stable/), see [requirements.txt](https://github.com/gengo/decanter/blob/master/install/requirements.txt) for a list of requirements. On Ubuntu, you will also need to have these extra packages installed: sudo apt-get install python-dev libevent-dev

### To run it ./decanter.py -h hostname -p port -c config.module start|stop|restart|status|runserver

config.module must match the location of a module containing decanter required configuration items, i.e. config/devel.py but without the .py extension.

### Overview Decanter does not particularly favor convention over configuration, it uses a combination of both, and it adds structure to bottle framework.

For example the app directory path is set in the configuration file, while the structure of the directory uses the following convention:

  • app
    • bundles
      • home
        • controllers

        • views

      • admin
        • controllers

        • views

    • config
      • environment
        • devel.py

        • live.py

      • settings.py

    • views

#### Bundles, controllers and the url path In the controllers directory there are modules with bottle style routes. Default bundle and default controller are configured in the configuration module (i.e. config.devel.py), so the single forward slash path “/” will load the default controller in the default bundle. While a path such as “/admin/home/” will load the controller home.py inside the controllers directory in the admin bundle.

#### Decanter routes Decanter routes override [bottle routes](http://bottlepy.org/docs/stable/tutorial.html#request-routing), (see lib/decorator.py) and they fix a couple of things:

  1. “apply” route parameter takes the string name of the plugin i.e. “jinja2” or “json” or a list of strings rather then an object or list of objects like in bottle

  2. the following two paths are the same “/home/” and “/home” in both the browser and decanter route.

#### Bundles, controllers and views Decanter overrides bottle jinja2 plugin. Templates are expected to by found in the “views” directory of each bundle, and if not found there the “bundle/views” directory is searched.

Templates name should, by convention, follow the bundle/controller/action name, i.e. if the “index” action in the “home” controller within the “admin” bundle is executed then by default a jinja2 template with the following name: “admin/home/index.html” will be loaded from the admin/views bundle directory if present, otherwise the “bundles/views” directory will be searched, if the template is not found the process is repeated searching for home/index.html in the “admin/views/” directory first the again the “bundles/views/”.

Metadata

Release files for decanter 0.1.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for decanter 0.1.9.2
File Size Uploaded Provenance
decanter-0.1.9.2.tar.gz 21.0 kB Without provenance Details

Release files / decanter-0.1.9.2.tar.gz

Download URL decanter-0.1.9.2.tar.gz
Size 21.0 kB
Tags Source
SHA-256 checksum
How to use checksums
63382f7f4146d280304fba33d72fb60ce4097e5920da412b2ca9d68f41c5bbb2
BLAKE2b-256 checksum
How to use checksums
fd6166c281ecfa67b0b7205e961db945b56895ab1294b2951c47b9e009828d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for decanter 0.1.9.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.9.2 This release

1 release file No provenance

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