Skip to main content

Evaluate simple Python mathmatical and logical expressions

http://en.wikipedia.org/wiki/Quipu

An attempt to make a safe evaluator of a subset of Python expressions.

This is mostly a proof-of-concept for getting feedback, it has not been thoroughly checked for safety, use at your own risk :)

It uses the Python ast module to parse the expression, but all evaluation is done by walking the ast, it is not directly executed by the Python runtime.

Nosetests are provided below including coverage of supported and unsupported operations.

Known security considerations:

The variables are expected to be simple primitive types. Providing functions with unsafe effects, or variables where the operator implementations can have unsafe effects is obviously unsafe.

Some operations may also take a lot of time or memory and DOS the process.

Usage:

import quipu
result = quipu.evaluate('2 + 2')

See the list of “supported_expressions” in test_asteval.py for an example of what operations are implemented.

Release files for quipu 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quipu 0.1
File Size Uploaded
quipu-0.1.tar.gz 2.5 kB Details

Release files / quipu-0.1.tar.gz

Download URL quipu-0.1.tar.gz
Size 2.5 kB
Tags Source
SHA-256 checksum
How to use checksums
90dadc84aa735ac42f3da497fb82c4a18f5801e04530722901ee462dbbade6ac
BLAKE2b-256 checksum
How to use checksums
23a3a38967a0582f898f524f36f2f4d3574d26c8dbf3ac93a3bc814bf19d1da0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page