# Scripts

Violet's <mark style="color:purple;">**Scripts**</mark> feature is a scripting tool based on Jupyter Notebooks integrated directly into Violet.&#x20;

Scripts can be used to analyze data from across applications, generate reports, and interact directly with the APIs of other applications. Or, simply use Scripts as a scratchpad to run some quick checks.

Script outputs can be saved as Violet entities and used elsewhere in the system, for example as Parameters. A history of output results can be saved as well in order to track changes in a Script’s results based on varying inputs.

Currently, we support <mark style="background-color:purple;">**Python**</mark>, <mark style="background-color:purple;">**MATLAB**</mark> and <mark style="background-color:purple;">**Julia**</mark>, with other languages on the way.

## What are Violet Variables?

Violet Variables are variables created within a Script that can be linked to data from elsewhere in Violet. These Variables will always hold the latest values, ensuring that each Script generates accurate results.

For example, a user may have a part in Duro that has a mass of 10kg. After making a Duro integration, the user can create a Violet Variable within a Violet Script that references that specific component's mass.

On the initial Violet Script run, this Violet Variable will compute with the latest value of 10. If the mass in Duro changes to 20kg, the subsequent Violet Script runs will re-compute with the new mass value of 20kg.

Violet Scripts can be set to re-run when any Violet Variables within it change, keeping the Violet Script results up-to-date at all times.

Keep reading to get started [creating your own scripts](https://docs.violetlabs.com/features/scripts/creating-and-running-scripts).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.violetlabs.com/features/scripts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
