Skip to content

settadev/setta

Repository files navigation

Setta Logo Setta Logo

PyPI version License Discord

News

March 7: v0.0.15

  • Improved context menu organization.
  • Added ability to change size of artifacts while preserving aspect ratio.
  • Added Stop button for stopping subprocesses.

March 5: v0.0.14

  • Allow access to individual layers of Drawing sections, as well as the combined output.
  • Added button + shortcut for sending current full project state to in-memory functions.

March 4: v0.0.13

  • Updated frontend javascript dependencies.

What does Setta do?

Setta is a general-purpose developer tool that streamlines Python coding, configuration, UI creation, and onboarding.

It enables you to:

  • Skip the boilerplate parsers and frontend.
  • Effortlessly expose your Python functions as a flexible UI.
  • Configure, interact, and share with ease.

So whether you are fine tuning large AI models, or writing a small Python script, Setta can turn it into a useable interface. No special integrations required!

Here's a short intro video:

introducing-setta.mp4

Examples

Trying out Setta is the best way to see what it can do, and we have a bunch of easy-to-run examples here: https://github.com/settadev/examples

Or click on one of the images below to go directly to that example:

We also have tutorial videos.

Getting started

Activate your Python environment, and run:

pip install setta

Let's say you've created a new, empty git repo in a folder called my_project.

Move into that folder and run:

setta

The Setta UI will now be available in your web browser at http://127.0.0.1:8000/.

You'll also notice that Setta has created a few files. Here's what the structure of your my_project folder will look like:

my_project/
├── setta_files/
│   ├── setta.db
│   ├── setta-settings.json
│   ├── setta-meta-settings.json
│   └── code/
│       └── temp_folder/

Create and run your first Setta project

On the home page click New Config. This will load a brand new, empty project.

first_setta_project_1

Right click to open the context menu, and click Section to create your first section.

first_setta_project_2

Double click on the section name, and rename it to special_val. Type math.sqrt in the callable field, and press the tab key. An x parameter should appear in the parameters area. Enter 10 in the text field next to x.

first_setta_project_3

Right click to open the context menu, and click Python Code to create a code block.

first_setta_project_4

Paste the following into this code block:

$SETTA_GENERATED_PYTHON

print(special_val)

Click Run in the nav bar. A terminal will appear and it should print 3.1622776601683795.

first_setta_project_5

Congratulations! You've successfully run your first Setta project!

What happens under the hood

When you click the Run button, Setta replaces $SETTA_GENERATED_PYTHON with:

import math

x = 10
special_val = math.sqrt(x)

Notice how it:

  • Imports the Python math library.
  • Converts your special_val section into a variable, equal to math.sqrt(10).

Documentation

Documentation is in progress: https://docs.setta.dev/

Features

See our Features document for an overview of what Setta can do.

Contributors