InfixParser is a Python binding for MathParser (https://github.com/KJ002/MathParser/). This module allows for a simple and quick evaluation of strings. It allows you to evaluate a string with security, you define the external variables!
result: float = InfixParser.evaluate("1+1") # returns 2.0
evaluator = InfixParser.Evaluator()
result: float = evaluator.eval("1+1") # returns 2.0
evaluator = InfixParser.Evaluator()
x: int = 20
evaluator.append_variable("x", x)
result: float = evaluator.eval("1+x") # returns 21.0
evaluator = InfixParser.Evaluator()
x: int = 20
evaluator.append_variable("x", x)
result1: float = evaluator.eval("1+x") # returns 21.0
x: int = 10
evaluator.append_variable("x", x)
result2: float = evaluator.eval("1+x") # returns 11.0
"""
It is important to note that function do not have to
have to be called with in an instantiated class
and can just be called with InfixParser.evaluate()
"""
evaluator = InfixParser.Evaluator()
result: float = evaluator.eval("sin(1.5707963267948966)") # returns 1.0