Skip to content

thecaptain789/iommi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,348 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iommi

https://travis-ci.org/TriOptima/iommi.svg?branch=master

iommi is a django-based framework for even higher abstraction and faster development than django itself.

Major features:

  • A system to project django model definitions into more high level definitions
  • Forms: view models, data validation, and parsing
  • Queries: filtering lists/query sets
  • Tables: view models for lists/query sets, html tables, and CSV reports
  • Pages: compose pages from parts like forms, tables and html fragments

All the components are written with the same philosophy of:

  • Everything has a name
  • Traversing a namespace is done with __ when . can't be used in normal python syntax
  • Callables for advanced usage, values for the simple cases
  • Late binding
  • Declarative/programmatic hybrid API
  • Prepackaged commonly used patterns (that can still be customized!)
  • Single point customization with no boilerplate
  • Escape hatches included

See philosophy for explanations of all these.

Example:

def music_page(request):
    class MusicPage(Page):
        musicians = Table(
            auto__model=Musician,
        )
        albums = Table(
            auto__model=Album,
        )

    return MusicPage()

This creates a page with two separate tables, one for the model Musician and one for the model Album.

For more examples, see the examples project.

Usage

See usage.

Running tests

You need tox installed then just make test.

License

BSD

Documentation

https://docs.iommi.rocks

About

Your first pick for a django power cord

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 91.5%
  • HTML 4.3%
  • JavaScript 3.2%
  • Other 1.0%