Skip to content

OakNinja/iommi

 
 

Repository files navigation

iommi

image

image

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:

  • Late binding
  • Many layered customization
  • Single point customization without needing to introduce entire chains of classes
  • Prepackaged commonly used patterns (that can still be customized!)
  • Declarative/programmatic hybrid API
  • Everything has a name so can be referenced for customization
  • Escape hatches included

Example:

def my_page(request):
    class MyPage(Page):
        foos = Table.from_model(model=Foo)
        bars = Table.from_model(model=Bar)

    return MyPage()

This creates a page with two tables, one for the model Foo and one for the model Bar.

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

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 94.8%
  • HTML 3.7%
  • CSS 1.2%
  • Makefile 0.3%