Skip to main content

iommi is a high level framework built on django

Project description

https://travis-ci.org/TriOptima/iommi.svg?branch=master https://codecov.io/gh/TriOptima/iommi/branch/master/graph/badge.svg

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iommi-0.2.0.tar.gz (60.5 kB view details)

Uploaded Source

File details

Details for the file iommi-0.2.0.tar.gz.

File metadata

  • Download URL: iommi-0.2.0.tar.gz
  • Upload date:
  • Size: 60.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.7

File hashes

Hashes for iommi-0.2.0.tar.gz
Algorithm Hash digest
SHA256 eb66a38fce55c4c987761f648324b4112ac9ab275edf9b9dc551ca1211963d10
MD5 36478307ff9b32bef768bd4e2969580b
BLAKE2b-256 800ccb368cbed2650ab08cab155cfdfd78bcd8c7d7c06f8a575d1727d64283b4

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page