Skip to main content

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

Project description

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

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

conditions_py-0.1.7.tar.gz (6.2 kB view hashes)

Uploaded Source

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