Skip to content

Commit 829da5d

Browse files
committed
Update README with description and overview images
1 parent 04426b5 commit 829da5d

File tree

1 file changed

+35
-47
lines changed

1 file changed

+35
-47
lines changed

README.md

Lines changed: 35 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,48 @@
1-
# Report Generator
2-
Generates web interface reports with visualisations
1+
<div align="center">
2+
<img width="300px" src="docs/images/vuegen_logo.svg">
3+
</div>
34

4-
5-
The Report Generator allows you to create web interfaces in an automated manner by defining Reports as collections of Plots divided into Sections (pages).
5+
-----------------
66

77
<p align="center">
8-
<img src="https://github.com/Multiomics-Analytics-Group/report_generator/assets/1425851/439f4656-25a9-4be7-80d7-67b60e068d2a" width="600">
8+
VueGen is a Python library that automates the creation of scientific reports.
99
</p>
1010

11+
## Table of contents:
12+
- [About the project](#about-the-project)
13+
- [Installation](#installation)
14+
- [Execution](#execution)
15+
- [Contact](#contact)
1116

17+
## About the project
18+
VueGen automates the creation of scientific reports based on a YAML configuration file. This configuration file specifies the structure of the report, including sections, subsections, and various components such as plots, dataframes, markdown, and API calls. Reports can be generated in various formats, including documents (PDF, HTML, DOCX, ODT), presentations (PPTX, Reveal.js), notebooks (Jupyter) or [Streamlit](streamlit) web applications.
1219

13-
For now, the generated reports can run as multi-page [Streamlit](https://streamlit.io/) sharable interfaces but the ReportInterface `class` can be extended to other frontend libraries.
20+
An overview of the VueGen workflow is shown in the figure below:
1421

15-
### Installation
16-
``` shell
17-
python setup.py install
18-
```
22+
<p align="center">
23+
<figure>
24+
<img width="650px" src="docs/images/vuegen_graph_abstract.png" alt="VueGen overview"/>
25+
</figure>
26+
</p>
1927

20-
### Execution Example
21-
``` shell
22-
python report/main.py
23-
```
28+
Also, the class diagram for the project is presented below to illustrate the architecture and relationships between classes:
29+
30+
<p align="center">
31+
<figure>
32+
<img width="650px" src="docs/images/vuegen_classdiagram_noattmeth.png" alt="VueGen class diagram"/>
33+
</figure>
34+
</p>
35+
36+
## Installation
37+
......
2438

25-
#### main.py
26-
``` python
27-
import os
28-
import report as r
29-
30-
if __name__ == '__main__':
31-
# Reading Plotly plots in json format
32-
with open(os.path.join('example_data', 'barplot.json'), 'r') as bf:
33-
plotly_code1 = bf.read()
34-
with open(os.path.join('example_data', 'lineplot.json'), 'r') as lf:
35-
plotly_code2 = lf.read()
36-
37-
# Creating a new Report
38-
report = r.Report(1213412, "test_report", 'DOES it WoRK', "Just a test", sections=[])
39-
40-
# Creating Sections
41-
section1 = r.Section(21324, "Proteomics", "This is a Proteomics example", "Not much", plots=[])
42-
section2 = r.Section(24324, "Transcriptomics", "This is a Transcriptomics example", "Not much", plots=[])
43-
44-
# Creating Plots
45-
plot1 = r.Plot(3323, "plot1", "plotly", "Test 1", "", plotly_code1)
46-
plot2 = r.Plot(3423, "plot2", "plotly", "Test 2", "", plotly_code2)
47-
48-
# Adding the Plots to the Sections
49-
section1._plots.extend([plot1, plot2])
50-
section2._plots.extend([plot1, plot2])
51-
# Adding the Sections to the Report
52-
report._sections.extend([section1, section2])
53-
54-
# Generating a Streamlit interface
55-
report_gui = r.StreamlitReport(12312, "MyPage", columns=None, report=report)
56-
report_gui.generate_report(output_dir="tmp")
57-
report_gui.run_report(output_dir='tmp')
39+
## Execution
40+
``` shell
41+
python vuegen/main.py
5842
```
5943

44+
## Contact
45+
If you have comments or suggestions about this project, you can [open an issue][issues] in this repository.
6046

47+
[issues]: https://github.com/Multiomics-Analytics-Group/vuegen/issues/new
48+
[streamlit]: https://streamlit.io/

0 commit comments

Comments
 (0)