You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `intugle` library includes a Streamlit application that provides an interactive web interface for building and visualizing semantic data models.
281
+
282
+
To use the Streamlit app, install `intugle` with the `streamlit` extra:
283
+
284
+
```bash
285
+
pip install intugle[streamlit]
286
+
```
287
+
288
+
You can launch the Streamlit application using the `intugle-mcp` command or `uvx`:
289
+
290
+
```bash
291
+
intugle-streamlit
292
+
# Or using uvx
293
+
uvx --from intugle intugle-streamlit
294
+
```
295
+
296
+
Open the URL provided in your terminal (usually `http://localhost:8501`) to access the application. For more details, refer to the [Streamlit App documentation](https://intugle.github.io/data-tools/docs/streamlit-app).
297
+
278
298
## Community
279
299
280
300
Join our community to ask questions, share your projects, and connect with other users.
This Streamlit application provides an interactive web interface for the `intugle` library. It allows users to upload their tabular data (CSV/Excel), configure a Large Language Model (LLM), and step through the process of building a semantic data model. The app profiles the data, generates a business glossary, identifies relationships between datasets, and visualizes the resulting semantic graph.
9
+
10
+
## ✨ Features
11
+
12
+
-**File Upload**: Upload multiple CSV or Excel files directly in the browser.
13
+
-**Interactive Data Prep**: Interactively rename tables and select, rename, or drop columns before processing.
14
+
-**LLM Configuration**: Securely configure and connect to your preferred LLM provider (OpenAI, Azure OpenAI, Gemini).
15
+
-**Automated Data Profiling**: Automatically calculates key metrics like uniqueness, completeness, and data types for every column.
16
+
-**AI-Powered Business Glossary**: Leverages an LLM to generate a business glossary for all tables and columns, adding crucial context.
17
+
-**Automated Link Prediction**: Discovers potential relationships (foreign keys) between your tables.
18
+
-**Interactive Visualization**: Displays the final semantic model as an interactive network graph.
19
+
-**Detailed Results**: Provides a tabular view of all predicted links with detailed metrics.
20
+
-**Export Artifacts**: Download the generated semantic model artifacts (`.yml` files) as a ZIP archive for use in other systems.
21
+
22
+
## 🚀 Getting Started
23
+
24
+
Follow these instructions to set up and run the application on your local machine.
25
+
26
+
### Prerequisites
27
+
28
+
- Python 3.10+
29
+
-`uv` (Optional: for `uvx` command)
30
+
31
+
### 1. Installation
32
+
33
+
To use the Streamlit app, install `intugle` with the `streamlit` extra:
34
+
35
+
```bash
36
+
pip install intugle[streamlit]
37
+
```
38
+
39
+
### 2. Configuration
40
+
41
+
The application requires credentials for a Large Language Model to generate the business glossary and perform other AI-powered tasks.
42
+
43
+
You can configure your LLM provider and API keys directly in the application's sidebar after launching it. The app will guide you on which credentials are required for your chosen provider (e.g., `OPENAI_API_KEY` for OpenAI).
44
+
45
+
### 3. Running the App
46
+
47
+
You can launch the Streamlit application using the `intugle-streamlit` command or `uvx`:
48
+
49
+
```bash
50
+
intugle-streamlit
51
+
# Or using uvx
52
+
uvx --from intugle intugle-streamlit
53
+
```
54
+
55
+
Open the URL provided in your terminal (usually `http://localhost:8501`) to access the application.
56
+
57
+
## ⚙️ How It Works
58
+
59
+
The application guides you through a simple, multi-step process, which is tracked in the sidebar:
60
+
61
+
1.**Upload Files**: Start by uploading one or more CSV or Excel files. The app will display a summary of the uploaded tables.
62
+
2.**Configure LLM**: In the sidebar, choose your LLM provider (OpenAI, Azure, or Gemini) and enter the necessary API keys and configuration details.
63
+
3.**Prepare Data**: Review the uploaded tables. You can rename tables and modify columns (rename, or ignore/drop them). Once you are satisfied, click **"Freeze column names"** to lock in your changes.
64
+
4.**Build Semantic Model**: After preparing your data, click **"Create Semantic Model"**. You will be prompted to provide a "domain" (e.g., *Healthcare*, *Manufacturing*) to give the LLM context. The app will then profile the data and generate a business glossary for each table.
65
+
5.**Predict Links**: Once profiling is complete, click **"Run Link Prediction"** to discover the relationships between your datasets.
66
+
6.**Explore & Download**: View the results as an interactive graph or a detailed table. You can download the underlying YAML configuration files from the sidebar at any time.
Copy file name to clipboardExpand all lines: src/intugle/streamlit_app/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Intugle - Streamlit App
1
+
w# Intugle - Streamlit App
2
2
3
3
This Streamlit application provides an interactive web interface for the `intugle` library. It allows users to upload their tabular data (CSV/Excel), configure a Large Language Model (LLM), and step through the process of building a semantic data model. The app profiles the data, generates a business glossary, identifies relationships between datasets, and visualizes the resulting semantic graph.
0 commit comments