Now API key registration is open (beta)!

For more fun, we have also released an Atom editor / Visual Studio Code plugin, live-code-runner, that runs your code directly from the editor without installing anything else!

Getting Started

All you need is Python 3.6 or higher.
(Yes, it works as well on Windows!)

Just do some magic on your command line:

$ pip install sorna-client
$ export SORNA_ACCESS_KEY=...
$ export SORNA_SECRET_KEY=...

Then run the following Python code:

from sorna.kernel import Kernel

kern = Kernel('lua5')
result = kern.execute('print("hello world!")', mode='query')
print(result['console'])
# hello world!
kern.destroy()

Now you have executed a real Lua code without installing Lua (in our clouds)!

Coming soon: run your code from the command line!

$ python -m sorna --gpu my-tensorflow-model.py some-data.csv

Coming soon: compile your code as well!

$ python -m sorna --build="make" --exec="./main" main.c lib.c lib.h Makefile

There are many more languages you can use. Currently Sorna supports 11 programming languages now.

You may run also your own Sorna API server on your machines.
* Python 3.6+, Linux 64bit or macOS, Docker 1.12+ required

Server Architecture

Sorna consists of three loosely coupled components.

We call each code-running container a kernel. All kernels have our custom-built sandbox (called “sorna-jail”) that secures our infrastructure on the system-call level.

Additionally, we provide a pluggable sorna-media Javascript library and Python packages for front-end services to render interactive graphics and handle multi-media outputs generated from kernels.

FAQ

Q: Why “Sorna”?

It’s an acronym for “Software on Remote Networking Appliances”. Kidding?
Here is the real origin…
Concept of Sorna

Q: vs. AWS Lambda?

Sorna has no packaging process — just run your code snippets on-the-fly.

Q: vs. Apache Zeppelin / Jupyter Notebooks?

Sorna is a pure back-end API with an optional front-end helper library (sorna-media). It can be plugged into existing front-ends including Jupyter and Zeppelin as well to extend their computation capabilities to cloud-scale! We plan to provide such integration in the future.

License

Sorna and its sub-projects are distributed under GNU Lesser Public License (LGPL) 2.0.