A sUTL implementation for python
Project description
# sUTL_py
sUTL Universal Transform Language for Python
This is a python implementation of sUTL. See the [sUTL spec](https://github.com/emlynoregan/sUTL-spec) here.
Import sUTL like this:
from sUTL_py import sUTL
Evaluate a transform like this:
transform = {
"&": "+",
"a": "^@",
"b": 5
}
source = 6
result = sUTL.evaluate(source, transform, {})
# here result is 11
To use library distributions, do the following:
1: Load the libraries. The following loads the core library.
coreString = urllib2.urlopen("http://emlynoregan.github.io/sUTL-spec/sUTL_core.json").read()
distributions = [json.loads(coreString)]
2: Add your transform to a declaration
transform = {
"&": "map_core",
"list": "^@",
"t": {":": {
"&": "+",
"a": "^@.item",
"b": 1
}}
}
declaration = {
"transform-t": transform,
"requires": ["map_core"]
}
3: Compile a set of libraries from the distribution
lib = sUTL.compilelib([declaration], distributions, false)
4: Evaluate your transform
source = [1, 2, 3, 4]
result = sUTL.evaluate(source, transform, lib)
# here result is [2, 3, 4, 5]
sUTL Universal Transform Language for Python
This is a python implementation of sUTL. See the [sUTL spec](https://github.com/emlynoregan/sUTL-spec) here.
Import sUTL like this:
from sUTL_py import sUTL
Evaluate a transform like this:
transform = {
"&": "+",
"a": "^@",
"b": 5
}
source = 6
result = sUTL.evaluate(source, transform, {})
# here result is 11
To use library distributions, do the following:
1: Load the libraries. The following loads the core library.
coreString = urllib2.urlopen("http://emlynoregan.github.io/sUTL-spec/sUTL_core.json").read()
distributions = [json.loads(coreString)]
2: Add your transform to a declaration
transform = {
"&": "map_core",
"list": "^@",
"t": {":": {
"&": "+",
"a": "^@.item",
"b": 1
}}
}
declaration = {
"transform-t": transform,
"requires": ["map_core"]
}
3: Compile a set of libraries from the distribution
lib = sUTL.compilelib([declaration], distributions, false)
4: Evaluate your transform
source = [1, 2, 3, 4]
result = sUTL.evaluate(source, transform, lib)
# here result is [2, 3, 4, 5]
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
sUTL-1.0.3b1.tar.gz
(7.0 kB
view hashes)
Built Distribution
Close
Hashes for sUTL-1.0.3b1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16335d672c96589900b57bcd0f41f7c60a40b4180cd4ab9d106163d3dd0afbad |
|
MD5 | 24ababe907e9699eb5f722e40d242353 |
|
BLAKE2b-256 | 73a99b90d8f1951f2603e07b96c2fda048e025bb2035f79025483e6c33773394 |