conditions-py

conditions-py is a library that helps write pre- and postcondition validations in a fluent manner, helping improve the readability and reliability of code.


Keywords
assertions, conditional, conditional-statements, conditionals, conditions, fluent-assertions, fluent-validation, fluentvalidation, libary, python, python-3, python3, validation, validators
License
MIT
Install
pip install conditions-py==0.1.7

Documentation

Image

Build Status codecov PyPI version

Conditions-PY

Conditions is a Python port of the famous .NET library Conditions which helps developers write pre- and postcondition validations in a fluent manner. Writing these validations is easy and it improves the readability and maintainability of code.

Contents

Installation

Installation is done via PIP:

pip install conditions-py

Conditions

A full list of all the available conditions can be found in the Wiki.

Tests

Currently both unit and integration tests are written using the pytest library. Execution of tests in Visual Studio Code is performed using the pytest test runner.

Examples

import conditions_py


def speak(message: str):
    Condition\
        .requires_str(message, 'message')\
        .is_not_null_or_whitespace()

    # Do speaking...


def multiple(left: int, right: int):
    Condition\
        .requires_num(left, 'left')\
        .is_positive()

    Condition\
        .requires_num(right, 'right')\
        .is_greater_than(4)
        
    # Do multiplication
    
    
def is_true(value: bool):
    Condition\
        .requires_bool(value, 'value')\
        .is_true()
        
    # Do other stuff
    
    
def animals(dog: object, cat: object):
    Condition\
        .requires_obj(dog, 'dog')\
        .is_not_null()
        
    Condition\
        .requires_obj(cat, 'cat')\
        .is_null()
        
    # Do other stuff

A particular validation is executed immediately when it's method is called, and therefore all checks are executed in the order in which they are written:

Acknowledgements