Skip to main content

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

logic_python2sympy-0.1.2.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

logic_python2sympy-0.1.2-py3-none-any.whl (4.7 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