iommi is a Django-based framework that magically create pages, forms and tables with advanced out-of-the-box functionality based on your applications models - without sacrificing flexibility and control.
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:
class IndexPage(Page):
title = html.h1('Supernaut')
welcome_text = 'This is a discography of the best acts in music!'
artists = Table(auto__model=Artist, page_size=5)
albums = Table(
auto__model=Album,
page_size=5,
)
tracks = Table(auto__model=Album, page_size=5)
urlpatterns = [
path('', IndexPage().as_view()),
]
This creates a page with three separate tables, a header and some text:
For more examples, see the examples project.
Usage
See usage.
Running tests
We use hammett for tests, so pip install hammett then run hammett.
There’s a make test-live target for running tests interactively. You first need to pip install watchdog pyyaml argh.
For running the full tests on all supported environments: install tox then make test-all.
License
BSD
Documentation
Metadata
Release files for iommi 2.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iommi-2.6.0.tar.gz | 108.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iommi-2.6.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 298.3 kB
Release files / iommi-2.6.0.tar.gz
| Download URL | iommi-2.6.0.tar.gz |
|---|---|
| Size | 108.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae7768fd1637a2f31cccab5a5a40affe77d31559f157ba02c79c9b64dc4e903f
|
|
BLAKE2b-256 checksum How to use checksums |
38ab7cc4be75eead9ad21b8c484838d4cc6aa8e740e8ad09e1c76d38b604f904
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
|
Release files / iommi-2.6.0-py2.py3-none-any.whl
| Download URL | iommi-2.6.0-py2.py3-none-any.whl |
|---|---|
| Size | 190.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
89e75e35a20b7a7f9359785f9ddffa33aabe0b084bd0bee82a00293e74f6f11f
|
|
BLAKE2b-256 checksum How to use checksums |
597840f8748ae2de396e37966f44d3333f14289c3b15747eb7f4f16e1c4f1815
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
|