Socket
Socket
Sign inDemoInstall

giotto

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    giotto

Web development simplified. An MVC framework supporting Python 3.


Maintainers
1

Readme

What is Giotto?

Giotto is a python web framework. It encourages a functional style where model, view and controller code is strongly decoupled.

Key Features of Giotto include:

  • Extremely terse code. A full featured blog application is under 300 lines of code (including templates)
  • Generic views, generic models and multiple pluggable controllers.
  • Free RESTful interface along with your normal "browser POST" CRUD site.
  • Functional CRUD patterns that do away with the need for django-style form objects.
  • Automatic URL routing.
  • Built in cache (supports Redis and Memcache, and an API for supporting any other engines)
  • SQLAlchemy for database persistence.
  • Jinja2 for HTML templates (with an API for extending for other template engines)

Getting started

Install and create base project files::

pip install giotto
mkdir demo
giotto create http

Now your project is initialized. Open the manifest.py and add the following::

from giotto.programs import ProgramManifest, GiottoProgram
from giotto.views import jinja_template, BasicView

def multiply(x, y):
    x = int(x or 0)
    y = int(y or y)
    return {'x': x, 'y': y, 'result': x * y}

manifest = ProgramManifest({
    'multiply': GiottoProgram(
        model=[multiply],
        view=BasicView(
            html=jinja_template('multiply.html'),
        ),
    ),
})

Now create a file called multiply.html::

<!DOCTYPE html>
<html>
    <body>
        {{ data.x }} * {{ data.y }} == <strong>{{ data.result }}</strong>
    </body>
</html>

Or if you're too lazy to make a template, set the view keyword argument to just BasicView() to use the generic view.

Run the development server::

$ giotto http --run

Point your browser to http://localhost:5000/multiply?x=3&y=3. Additionaly, try http://localhost:5000/multiply.json?x=3&y=3. You can also invoke your multiply program through the command line::

$ giotto create cmd
$ giotto cmd multiply --x=4 --y=2

Also::

$ giotto cmd multiply.html --x=4 --y=2

You can also use positional arguments::

$ giotto cmd multiply/4/6

Links:

  • To discuss Giotto, please visit the Google Group_
  • Read Giotto's documentation_.
  • Check out giottoblog_, a full featured blog application written with the Giotto framework.

.. _Group: https://groups.google.com/forum/#!forum/giotto-framework/ .. _giottoblog: https://github.com/priestc/giottoblog/ .. _documentation: http://giotto.readthedocs.org/en/latest/index.html

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc