Metadata-Version: 1.0
Name: giotto
Version: 0.10.5
Summary: Web development simplified. An MVC framework supporting Python 3.
Home-page: https://github.com/priestc/giotto
Author: Chris Priest
Author-email: cp368202@ohiou.edu
License: LICENSE
Description: 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
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Web Environment
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
