A library that extends and enrich existing structured and unstructured data model with declarative constraints and automatic evaluation logic.
Project description
Reedwolf.Entities project
Reedwolf.Entities is a Python library that extends and enrich existing structured and unstructured data model with declarative constraints and automatic evaluation logic.
This is currently unfinished project. First feature complete and stable release will include verbose explanation and documentation with examples.
Reedwolf.entities is first published part of larger Reedwolf project which aims solving common software design and implementation tasks in more-or-less unique way.
Components
Building blocks
Building blocks are:
- CONTAINERS - are top-level objecs, can contain components or same/lower level containers. Entity is top object.
- EXTENSIONS - specialized components used for one/many to one/many inner data structures.
- COMPONENTS - can be embedded into Container (contains)
- FIELDS - can read/store data from/to storage. Check fields.py.
- FIELDGROUP - logical groupihg and common functionality/dependency of other components
- VALIDATIONS - data constraints based on field/validator expressions. There are some predefined validators.
- EVALUATIONS - automatic data evaluations (computation) based on field/evaluator expressions. There are some predefined evaluations.
NOTES:
- VALIDATIONS and EVALUATIONS are together defined as data CLEANERS
- CardinalityValidators are special Validations category used in Extensions
Bindng
Binding to existing data structures and functions is done on containers only with:
- MODELS - are bound to containers and their fields to components' fields.
Internal objects
Internal objects are:
- VALUEEXPRESSIONS - expressions ... TODO:
- FUNCTIONS - functions that could be used in expressions
- TYPEINFO - object that wraps around data tyus (python type hinting)
Customization
User can add and use custom:
- validations
- evaluations
- functions
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
Built Distribution
File details
Details for the file reedwolf.entities-0.7.0.tar.gz
.
File metadata
- Download URL: reedwolf.entities-0.7.0.tar.gz
- Upload date:
- Size: 113.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea275e57dd38299da642239312d84983217407c279fce15e74f65e1ab5e16e2 |
|
MD5 | 17a35cd7377a2083f5ceeec295edff90 |
|
BLAKE2b-256 | 3cc1cadfaf297a1157a65649e7e1830a387adc1d599eef8b63f0e4064d972c43 |
File details
Details for the file reedwolf.entities-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: reedwolf.entities-0.7.0-py3-none-any.whl
- Upload date:
- Size: 128.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b9d693f140fe9360f9e797a6989ffb1762617516463bd23579d06f439970278 |
|
MD5 | 6380d56b03ed2c74639ee875834e2184 |
|
BLAKE2b-256 | a00651be14c6c2a212e3110dffc1a0b869b0fbcee9a21ea7588633bc874ff9c7 |