Skip to content

Commit 5a36a0e

Browse files
committed
🚧 try to add tinytex
1 parent 7874992 commit 5a36a0e

File tree

4 files changed

+21
-53
lines changed

4 files changed

+21
-53
lines changed

.github/workflows/cdci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,9 @@ jobs:
150150
- name: Install VueGen GUI and pyinstaller
151151
run: |
152152
python -m pip install ".[gui]" pyinstaller
153+
- name: Install tinytex into local quarto installation
154+
run: |
155+
quarto install tinytex
153156
- name: Build executable
154157
run: |
155158
cd gui

README.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Also, the class diagram for the project is presented below to illustrate the arc
3636

3737
An extended version of the class diagram with attributes and methods is available [here][vuegen-class-diag-att].
3838

39-
The VueGen documentation is available at [vuegen.readthedocs.io][vuegen-docs], where you can find detailed information of the package’s classes and functions, installation and execution instructions, and case studies to demonstrate its functionality.
39+
The VueGen documentation is available at [vuegen.readthedocs.io][vuegen-docs], where you can find detailed information of the package’s classes and functions, installation and execution instructions, and case studies to demonstrate its functionality.
4040

4141
## Installation
4242
Vuegen is available on [PyPI][vuegen-pypi] and can be installed using pip:
@@ -102,6 +102,23 @@ docker run --rm \
102102
quay.io/dtu_biosustain_dsp/vuegen:docker --directory /home/appuser/Earth_microbiome_vuegen_demo_notebook --report_type streamlit
103103
```
104104

105+
## GUI
106+
107+
We have a simple GUI for VueGen that can be run locally or through a standalone executable.
108+
109+
```bash
110+
cd gui
111+
python app.py
112+
```
113+
114+
The bundle GUI with the VueGen package is available under the releases. You will need to
115+
unzip the file and run `vuegen_gui` in the unpacked main folder. Most dependencies are included into
116+
the bundle under `_internals` using PyInstaller.
117+
118+
Streamlit works out of the box as a purely Python based package. For `html` creation you will have to
119+
have a global Python installation with the `jupyter` package installed. `quarto` needs to start
120+
a kernel for execution. This is also true if you install `quarto` globally on your machine.
121+
105122
## Case studies
106123
VueGen’s functionality is demonstrated through two case studies:
107124

gui/copy_python_executable.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/vuegen/quarto_reportview.py

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -201,50 +201,6 @@ def run_report(self, output_dir: str = BASE_DIR) -> None:
201201
f"Quarto is not installed. Please install Quarto to run the report: {str(e)}"
202202
)
203203
raise
204-
# else:
205-
# quarto_path = Path(sys._MEIPASS) / "quarto_cli" / "bin" / "quarto"
206-
# _sys_exe = sys.executable
207-
# set executable to the bundled python (manually added to bundle)
208-
# sys.executable = str(Path(sys._MEIPASS).parent / "python")
209-
# self.report.logger.info(f"quarto_path: {self.quarto_path}")
210-
211-
# args = [f"{quarto_path}", "render", file_path_to_qmd]
212-
# subprocess.run(
213-
# args,
214-
# check=True,
215-
# )
216-
# self.report.logger.info(
217-
# f"Converted '{self.report.title}' '{self.report_type}' report to Jupyter Notebook after execution"
218-
# )
219-
# notebook_filename = Path(file_path_to_qmd).with_suffix(".ipynb")
220-
# try papermill
221-
# import papermill as pm
222-
223-
# pm.execute_notebook(
224-
# "path/to/input.ipynb",
225-
# "path/to/output.ipynb",
226-
# parameters=dict(alpha=0.6, ratio=0.1),
227-
# )
228-
# quarto does not try to execute ipynb files, just render them
229-
# execute manually using bundled python binary
230-
# https://nbconvert.readthedocs.io/en/latest/execute_api.html
231-
# import nbformat
232-
# from nbconvert.preprocessors import ExecutePreprocessor
233-
234-
# with open(notebook_filename, encoding="utf-8") as f:
235-
# nb = nbformat.read(f, as_version=4)
236-
# logging.getLogger("traitlets").setLevel(logging.INFO)
237-
# ep = ExecutePreprocessor(timeout=600, kernel_name="python3")
238-
# nb, _ = ep.preprocess(nb, {"metadata": {"path": "./"}})
239-
# with open(notebook_filename, "w", encoding="utf-8") as f:
240-
# nbformat.write(nb, f)
241-
# quarto does not try execute ipynb files per default, just render these
242-
# args = [f"{quarto_path}", "render", notebook_filename]
243-
# subprocess.run(
244-
# args,
245-
# check=True,
246-
# )
247-
# sys.executable = _sys_exe
248204

249205
def _create_yaml_header(self) -> str:
250206
"""

0 commit comments

Comments
 (0)