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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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