Simple formula evaluator.
Project description
Formula
Simple formula-like expression solver.
Parses formula into a reverse polish notation. Evaluates parsed to get result.
Installation
pip install px-formula
Usage
Uou can calculate formulas with different operators, and function calls. But it's not a python code, that executes - only simple maths expressions.
from px_formula import Formula, defaults
formula = Formula(
# Can change operators:
operators=defaults.operators,
# And available functions:
functions=defaults.functions,
)
parsed = formula.parse('2/8+45*6+var1')
# > ['2', '8', '/', '45', '6', '*', '+', 'var1', '+']
# You can evaluate any formula you have/stored easily:
formula.evaluate(parsed, {'var1': 5})
# > 275.25
# Or in one shot:
formula('2/8+abs(45*6)+var1', {'var1': 5})
# > 275.25
Supported
Operators:
~
- Inverse!
- Not**
- Pow*
- Multiply/
- Divide//
- Floor divide%
- Modulo+
- Plus-
- Minus|
- Bitwise Or&
- Bitwise And^
- Bitwise Xor<=
- LTE>=
- GTE==
- Equals<
- LT>
- GT
Functions:
abs
- operator.abssin
- math.sincos
- math.costan
- math.tanexp
- math.expabs
- abstrunc
- Removes decimal partround
- roundhypot
- math.hypotall
- all(True, False, True) -> Falseany
- any(True, False, False) -> True# Changelog All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.1.0]
Initial version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
px-formula-0.1.0.tar.gz
(6.5 kB
view hashes)