Welcome to sUTL

sUTL is an acronym which stands for sUTL Universal Transform Language.

sUTL is used to transform JSON structures from one form to another. That is, sUTL transforms data.

sUTL itself is also expressed as JSON.

You can use sUTL in the same way that you would use a templating language like Jinja or Mustache. But instead of transforming data to text, it transforms data into data. It changes the shape of the data.

sUTL is useful wherever you manipulate JSON. Whether it's come from an API, from a No SQL database, or has been natively generated by your code, your JSON data structure can be transformed using a declarative sUTL transform.

Open Source

The sUTL Language and all implementations and tooling are available to you under the Apache 2.0 open source license.  

Subscribe

Want to keep up with the latest on sUTL? Subscribe to the blog.

Or grab the sUTL Blog rss feed here.

Try it!

You can play with the sUTL transform shown in this editor at the top of the page. Try changing the Transform or the Source, and see what happens to the Result!

(click here to try it in a separate tab)

How do I learn sUTL?

Read the blog, and check out the reference menu to learn about sUTL.  

What about a nice online editor?

I'm glad you asked. Check out sUTL Studio; it provides the inline editor you've just seen above. It's super duper alpha software at the moment, but it does work. Just sign in with your google account, and you're good to go.

Where do I download sUTL?

sUTL is a language designed to be used from inside other languages. There are currently two implementations, for Python and for Javascript.

Python

Install via pip using the package "sutl", like so:

pip install sutl

Detailed instructions for Python are here in the Python article in the Host Languages menu.

The sUTL python package is here

You can find the python source on github here.

Javascript

Detailed instructions for using sUTL in the browser are in the Host Languages menu.

The javascript version (sUTLHaxeJS) is transpiled from the Haxe version (sUTLHaxe).

There is an older, hand coded javascript version on github here.

I haven't packaged any of this properly for npm or anything like that because I'm a giant javascript n00b. Want to help? Let me know.

If you want some sample code for using sUTL with javascript, just have a look at the source of sUTL Studio.

Stay tuned for better instructions.

Other Languages

sUTL is available for the language Haxe (as sUTLHaxe), which is a language designed for transpiling. That means I can then transpile to a huge list of languages, and more as the good Haxe people add them. Stay tuned!