Skip to main content

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


Download files

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

Source Distribution

reedwolf.entities-0.7.0.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

reedwolf.entities-0.7.0-py3-none-any.whl (128.0 kB view details)

Uploaded Python 3

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

Hashes for reedwolf.entities-0.7.0.tar.gz
Algorithm Hash digest
SHA256 5ea275e57dd38299da642239312d84983217407c279fce15e74f65e1ab5e16e2
MD5 17a35cd7377a2083f5ceeec295edff90
BLAKE2b-256 3cc1cadfaf297a1157a65649e7e1830a387adc1d599eef8b63f0e4064d972c43

See more details on using hashes here.

File details

Details for the file reedwolf.entities-0.7.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reedwolf.entities-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b9d693f140fe9360f9e797a6989ffb1762617516463bd23579d06f439970278
MD5 6380d56b03ed2c74639ee875834e2184
BLAKE2b-256 a00651be14c6c2a212e3110dffc1a0b869b0fbcee9a21ea7588633bc874ff9c7

See more details on using hashes here.

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