UIClasses - Data-Modeling for User Interfaces
Powered by Python 3 Data Classes .
Objects optimized for user interfaces.
Methods to traverse nested dicts, convert to and from json
ModelList and ModelSet collections for robust manipulation of collections of models.
No I/O happens in models.
Collections can be easily cached to leverage responsive user interfaces.
Installation
Basic Usage
from uiclasses import Model
class BlogPost (Model ):
id : int
title : str
body : str
post1 = BlogPost ({"id" : 1 , "title" : "title 1" , "body" : "body 1" , "wimsical_extra_field" : "lala land" })
post2 = BlogPost (id = 2 , title = "title 2" , body = "body 2" , extradata = 'stored but invisible' )
published = BlogPost .List ([post1 , post2 ])
print (published .format_pretty_table ())
print (published .format_robust_table ())
Notes:
This is not designed to be fast, when adding data to models their
types might cast and validated, which is costly.
- filtering collections by string values cause glob match