Simple expression language.
Project description
Ratus
Ratus is a simple expression language that can be used to easily extend Python applications with an embedded expression language. Evaluating basic expressions is as simple as:
from ratus import Evaluator
evaluator = Evaluator()
evaluator.evaluate("1 + 1") # => 1
evaluator.evaluate("1 > 1") # => False
evaluator.evaluate("if(1 < 2, 10, 5)") # => 5
For more information, please check out the docs
What's in a name?
When I first started this project I did a bit of research around parsing techniques as this is really the most complex part. One idea that that really stuck out to me was packrat parsing. This technique allows for linear time parsing, as opposed to the usual exponential time of backtracking parsing.
Currently packrat parsing isn't implemented for ratus but I'm working on it!
Roadmap
v1.0.0
- Fully document all features
- API
- Grammar
- Fix known bugs
- Don't require functions to be the root of an expression
- e.g.
pow(2, 2) + 1should be allowed
- e.g.
- Don't require functions to be the root of an expression
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ratus-0.0.3.tar.gz.
File metadata
- Download URL: ratus-0.0.3.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86defd88bbe5c65a8f6d941dba8cbe4f41ffd1f2dc770e746c0e323b6fa3bf6a
|
|
| MD5 |
3216c0ab50bb1944cf14242f20e61654
|
|
| BLAKE2b-256 |
628cd4719d2bd22198f7354a83d7b2a1ea08508f49438b7284edd21fd0431cc4
|
File details
Details for the file ratus-0.0.3-py3-none-any.whl.
File metadata
- Download URL: ratus-0.0.3-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c076c96612b48400217c4a419bd8690d76eee1f8c84a4951a8c95aa983147ca9
|
|
| MD5 |
8797f0f4e84cf05e778144459a756d0a
|
|
| BLAKE2b-256 |
70736946f21e1a8f4f5fcd8b11bc22248a4652b9a5954b8c2bb7017b86378c49
|