convert a logical expression written in `Python` syntax, into a `Sympy` expression
Project description
logic_python2sympy
PyPI: | https://pypi.org/project/logic-python2sympy/ |
Source: | https://github.com/duntytelessia/logic_python2sympy/ |
License: | MIT |
Sympy
has the advantage of using Python
syntax in its own expressions, but with some exceptions :
logical expressions in Sympy
differ a bit from their Python
counterparts (a and b
is written a & b
in Sympy
).
Thus, this module provides functions that can convert a logical expression written in Python
syntax, into a Sympy
expression.
Usage
>>> import logic_python2sympy as p2s
>>> code = "((0 < x <= 10) or not y"
>>> print(p2s.convert(code))
Or(And(0 < x, x <= 10), Not(y))
>> print(p2s.get_expression(code))
~y | ((0 < x) & (x <= 10))
convert
convert(expr: str) -> str
Transform a Python
logical expression into Sympy
syntax.
expr: valid logical expression, i.e. expr must be valid Python
syntax, and must be a combintion of the following ast
nodes: BoolOp, BinOp, UnaryOp, Compare, Call, Constant, Name
raises: NotImplentedError
, when the expression contains operators that are not supported in Sympy
get_expression
get_expression(expr: str) -> Any
Transform a Python
logical expression into a Sympy
expression.
expr: valid logical expression, i.e. expr must be valid Python
syntax,
and must be a combintion of the following ast
nodes:
BoolOp, BinOp, UnaryOp, Compare, Call, Constant, Name
raises: NotImplentedError
, when the expression contains operators that are not supported in Sympy
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
Built Distribution
Hashes for logic_python2sympy-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2ae6a8fc940d468660fd635610e665f2cb5aa45429b5a9b117b889a95707fe9 |
|
MD5 | 23a4959fe135736fcefd6b1f11eb91b4 |
|
BLAKE2b-256 | 0564de4a61a173d51df82621549c140ed8fba81a22d1984ab292f626a21f0126 |