Skip to main content

No project description provided

Project description

dict-logic

Usage

Basic

from dictlogic import Logic

logic = Logic()
result = logic.run({
    'sequence': [
        {'print': 'hello world!'},
        {'set': ['a', 10]},
        {'print': ['the value of a is', {'get': 'a'}]},
        {'select': [
            {'>': [{'get': 'a'}, 5]},
            {'print': 'this expression will be evaluated'},
            {'print': 'this expression will be ignored'},
        ]},
        {'set': ['a', {'*': [{'get': 'a'}, 2]}]},
        {'get': 'a'},
    ],
})
assert(result == 20)

With given local variabls

from dictlogic import Logic

logic = Logic()
result = logic.run({
    'sequence': [
        {'print': ['the value of a is', {'get': 'a'}]},
        {'set': ['c', {'+': [{'get': 'a'}, {'get': 'b'}]}]},
        {'print': ['the value of c is', {'get': 'c'}]},
    ],
}, {
    'a': 5,
    'b': 3,
})

With custom functions

from dictlogic import Logic

logic = Logic()

@logic.add('sqrt')
def sqrt(x):
    return x() ** 0.5

@logic.add('mean')
def power(*args):
    args = [arg() for arg in args]
    return sum(args) / len(args)


logic.run({'print': {'sqrt': 2}})
logic.run({'print': {'mean': [1, 2, 3, 4, 5, 6, 7]}})

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

dict-logic-1.0.2.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

dict_logic-1.0.2-py3-none-any.whl (4.2 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