From 755384cd3ef2ea12bba893cd33e26b5d108ebbaf Mon Sep 17 00:00:00 2001 From: Henry Webel Date: Wed, 7 May 2025 11:01:19 +0200 Subject: [PATCH 1/4] :memo: update instructions to install vuegen into GUI --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e80d319..53f0a6a 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,7 @@ from the releases page according to your operating system. You can create a new conda environment with Python 3.12 and the `jupyter` and `vuegen` package: ```bash -conda create -n vuegen_gui -c conda-forge python=3.12 jupyter vuegen +conda create -n vuegen_gui -c conda-forge -c bioconda python=3.12 jupyter vuegen ``` Then, activate the environment: From e476c3fca8ffcd60459c2bfcbe8426cc779f42ed Mon Sep 17 00:00:00 2001 From: Henry Webel Date: Wed, 7 May 2025 11:11:16 +0200 Subject: [PATCH 2/4] :bug: update global config dictionary in app - when the GUI is a class this will be an attribute... --- gui/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/app.py b/gui/app.py index 3755a09..e2ce353 100644 --- a/gui/app.py +++ b/gui/app.py @@ -135,7 +135,7 @@ def inner(): kwargs["max_depth"] = int(max_depth.get()) print("kwargs:") pprint(kwargs) - + global config_app if python_dir_entry.get(): if python_dir_entry.get() != config_app["python_dir_entry"]: config_app["python_dir_entry"] = python_dir_entry.get() From af21ebc1428c408e2b4686e69c0ac6fb95e7a4e9 Mon Sep 17 00:00:00 2001 From: Henry Webel Date: Wed, 7 May 2025 11:14:37 +0200 Subject: [PATCH 3/4] :art: move and extend message in case of errors --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 53f0a6a..8cf6bd9 100644 --- a/README.md +++ b/README.md @@ -263,15 +263,21 @@ You can create a new conda environment with Python 3.12 and the `jupyter` and `v conda create -n vuegen_gui -c conda-forge -c bioconda python=3.12 jupyter vuegen ``` +> [!WARNING] +> If you have errors with the `vuegen` package, you can install it separately using pip, as explained in the installation section. +> +> ``` +> conda create -n vuegen_gui -c conda-forge -c bioconda python=3.12 jupyter +> conda activate vuegen_gui +> pip install vuegen +> ``` + Then, activate the environment: ```bash conda activate vuegen_gui ``` -> [!WARNING] -> If you have errors with the `vuegen` package, you can install it separately using pip, as explained in the installation section. - Now, you can list all conda environments to find the location of the `vuegen_gui` environment: ```bash From 3395e92f90846ba7a84b178f32681a650f847bd0 Mon Sep 17 00:00:00 2001 From: Henry Webel Date: Wed, 7 May 2025 11:15:04 +0200 Subject: [PATCH 4/4] :art: format markdown README --- README.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8cf6bd9..beffbe7 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ | Information | Links | | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Package** | [![PyPI Latest Release](https://img.shields.io/pypi/v/vuegen.svg)][vuegen-pypi] [![Conda Latest Release](https://img.shields.io/conda/v/bioconda/vuegen.svg)][vuegen-conda] [![Supported versions](https://img.shields.io/pypi/pyversions/vuegen.svg)][vuegen-pypi] [![Docker Repository on Quay](https://quay.io/repository/dtu_biosustain_dsp/vuegen/status "Docker Repository on Quay")][vuegen-docker-quay] [![License](https://img.shields.io/github/license/Multiomics-Analytics-Group/vuegen)][vuegen-license] | -| **Documentation** | [![View - Documentation](https://img.shields.io/badge/view-Documentation-blue?style=flat)][vuegen-docs] [![made-with-sphinx-doc](https://img.shields.io/badge/Made%20with-Sphinx-1f425f.svg)](https://www.sphinx-doc.org/) ![Docs](https://readthedocs.org/projects/vuegen/badge/?style=flat) | +| **Documentation** | [![View - Documentation](https://img.shields.io/badge/view-Documentation-blue?style=flat)][vuegen-docs] [![made-with-sphinx-doc](https://img.shields.io/badge/Made%20with-Sphinx-1f425f.svg)](https://www.sphinx-doc.org/) ![Docs](https://readthedocs.org/projects/vuegen/badge/?style=flat) | | **Build** | [![CI](https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/cdci.yml/badge.svg)][ci-gh-action] [![Docs](https://github.com/Multiomics-Analytics-Group/vuegen/actions/workflows/docs.yml/badge.svg)][ci-docs] | | **Examples** | [![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)][emp-html-demo] [![Streamlit](https://img.shields.io/badge/Streamlit-%23FE4B4B.svg?style=for-the-badge&logo=streamlit&logoColor=white)][emp-st-demo] | | **Discuss on GitHub** | [![GitHub issues](https://img.shields.io/github/issues/Multiomics-Analytics-Group/vuegen)][issues] [![GitHub pull requests](https://img.shields.io/github/issues-pr/Multiomics-Analytics-Group/vuegen)][pulls] | @@ -129,7 +129,7 @@ vuegen --directory docs/example_data/Earth_microbiome_vuegen_demo_notebook --rep ### Folder structure -Your input directory should follow a **nested folder structure**, where first-level folders are treated as **sections** and second-level folders as **subsections**, containing the components (plots, tables, networks, Markdown text, and HTML files). If the component files are in the first-level folders, an `overview` subsection will be created automatically. +Your input directory should follow a **nested folder structure**, where first-level folders are treated as **sections** and second-level folders as **subsections**, containing the components (plots, tables, networks, Markdown text, and HTML files). If the component files are in the first-level folders, an `overview` subsection will be created automatically. Here is an example layout: @@ -245,15 +245,15 @@ The **bundle GUI** with the VueGen package is available under the You will need to unzip the file and run `vuegen_gui` in the unpacked main folder. Most dependencies are included into the bundle using [PyInstaller][pyinstaller]. -Streamlit works out of the box as a purely Python based package. For the rest of report types you +Streamlit works out of the box as a purely Python based package. For the rest of report types you will have to have a **Python 3.12** installation with the `jupyter` package installed, as `quarto` needs to start a kernel for execution. This is also true if you install `quarto` globally on your machine. > [!TIP] > It is advisable to create a virtual environment to manage depenendencies and avoid conflicts with existing packages. You can use the virtual environment manager of your choice, such as `poetry`, `conda`, or `pipenv`. We recommend using [miniforge][conda-download] to install Python and the `conda` package manager. -We assume you have installed the `miniforge` distribution for your machine (MacOS with arm64/ apple silicon -or x86_64/ intel or Windows x86_64). Also, download the +We assume you have installed the `miniforge` distribution for your machine (MacOS with arm64/ apple silicon +or x86_64/ intel or Windows x86_64). Also, download the [latest `vuegen_gui` bundle](https://github.com/Multiomics-Analytics-Group/vuegen/releases/latest) from the releases page according to your operating system. @@ -326,11 +326,10 @@ This advanced case study demonstrates the application of VueGen in a real-world ### 3. ChatBot Component -This case study highlights VueGen’s capability to embed a chatbot component into a report subsection, -enabling interactive conversations inside the report. This component is streamlit-specific and is not +This case study highlights VueGen’s capability to embed a chatbot component into a report subsection, +enabling interactive conversations inside the report. This component is streamlit-specific and is not available for other report types. - Two API modes are supported: - **Ollama-style streaming chat completion** @@ -359,7 +358,7 @@ to support more flexible and general-purpose response formats in future releases Once a Streamlit report is generated, it can be deployed as a web application to make it accessible online. There are multiple ways to achieve this: -### Streamlit Community Cloud +### Streamlit Community Cloud Deploy your report easily using [Streamlit Cloud][st-cloud], as demonstrated in the [EMP VueGen Demo][emp-st-demo]. The process involves moving the necessary scripts, data, and a requirements.txt file into a GitHub repository. Then, the app can be deployed via the Streamlit Cloud interface. The deployment example is available in the `streamlit-report-example` branch.