Skip to main content

Interpreter for evaluating expressions used in AutomationEdge AIStudio dialog designer

Project description

ddcompiler

ddcompiler is the parser used by AutomationEdge AI Studio dialog designer. In dialog designer, conditions can be used either in an action dialog element or a branch dialog element. A condition is an expression which evaluates either to True or False. ddcompiler has a lexer and a parser which respectively tokenizes and parses the given expression.

Installation

pip install ddcompiler will install the library. It has been tested with Python 3.9.6, but should work with any Python 3.* version.

Basic Usage

import ddcompiler as ddc
var_dict = {
    'conv.lang': 'fr',
}

# Variables used in the expression of the form ${var_name} should be present in the var_dict.
expression = '${conv.lang} == "fr" or ${conv.lang} == "de" and contains("aistudio", "studio")'

# Instantiate parser and lexer, pass expression to the lexer.
ddparser = ddc.DDParser(ddc.DDLexer(expression))
tree = ddparser.parse()
# Prints parse tree
tree.traverse()
# Get list of variables used in the expression in form of a set
print(f"VARIABLES in the expression: {ddparser.get_variables()}")

print(f"INPUT: {expression}")
print(f"EVALUATION: {tree.evaluate(var_dict)}")

Expression Language

Visit AI Studio documentation to get list of supported constructs.

More Examples

Go through parser test file to see different examples of expressions.

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

ddcompiler-1.1.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ddcompiler-1.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file ddcompiler-1.1.0.tar.gz.

File metadata

  • Download URL: ddcompiler-1.1.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.6 Darwin/20.5.0

File hashes

Hashes for ddcompiler-1.1.0.tar.gz
Algorithm Hash digest
SHA256 39dfc719bd05a8c9ed499e9ab5b966cf332a36cfbf0120a093ead18d5d962c32
MD5 b09787910e773a11c4ad70869d7b1315
BLAKE2b-256 f2ddcbc41a9e3d46d23292ada5afe1eade23aa995ef9d92aebc446c302d6293d

See more details on using hashes here.

File details

Details for the file ddcompiler-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ddcompiler-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.6 Darwin/20.5.0

File hashes

Hashes for ddcompiler-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4571b64559e9dc303680bc67ecc02e25b99aa039f766f392addd7ce4ddd4cbf
MD5 4bca149a393aa570da03c5680921e76e
BLAKE2b-256 86dc04873b467e6b0208b8cdae8271a1a4a2bab32a61a7f8c56720aba267b97d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page