Skip to content

Commit 5a2d305

Browse files
committed
fix: small fix, web_run.py created
1 parent a046e6a commit 5a2d305

5 files changed

Lines changed: 147 additions & 22 deletions

File tree

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@ celerybeat.pid
104104
*.sage.py
105105

106106
# Environments
107-
.env
108107
.envrc
109-
.venv
110-
env/
111-
venv/
112108
ENV/
109+
.env
110+
env/
113111
env.bak/
112+
.venv*
113+
venv/
114114
venv.bak/
115115

116116
# Spyder project settings

LICENSE

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
1-
MIT License
1+
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
22

3-
Copyright (c) 2025 Kerem DÜZENLİ
3+
Copyright (c) 2026 [Your Name or GitHub Username]
44

5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
5+
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
116

12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
7+
You are free to:
148

15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
9+
- Share: copy and redistribute the material in any medium or format
10+
- Adapt: remix, transform, and build upon the material
11+
12+
Under the following terms:
13+
14+
- Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
15+
- NonCommercial: You may not use the material for commercial purposes. This project is strictly for educational and academic use.
16+
- ShareAlike: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
17+
18+
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

README.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,111 @@ python -m xamples.chart_xxx
3030
```bash
3131
streamlit run web_app.py
3232
```
33+
34+
## COMPILE
35+
36+
### Windows
37+
38+
```bash
39+
pyInstaller --noconfirm --onefile \
40+
--name DataVisualizer \
41+
--add-data "web_app.py;." \
42+
--add-data "data/dataset.example.csv;data" \
43+
--hidden-import web_app \
44+
--collect-all streamlit \
45+
--collect-all plotly \
46+
--copy-metadata streamlit \
47+
web_run.py
48+
```
49+
50+
### Linux & MacOS
51+
52+
```bash
53+
python3 -m PyInstaller --noconfirm --onefile \
54+
--name DataVisualizer \
55+
--add-data "web_app.py:." \
56+
--add-data "data/dataset.example.csv:data" \
57+
--hidden-import web_app \
58+
--collect-all streamlit \
59+
--collect-all plotly \
60+
--copy-metadata streamlit \
61+
web_run.py
62+
```
63+
64+
## ⚠️ TROUBLESHOOTING: PRISMA Chart (Graphviz Error)
65+
66+
If you attempt to draw the **PRISMA Chart** and receive an error (such as `graphviz.backend.ExecutableNotFound: failed to execute ['dot', ...]`), it means your computer does not have the core Graphviz rendering software installed.
67+
68+
Because this software is large, it is not bundled directly inside the app. You will need to install it once on your system:
69+
70+
### Windows
71+
72+
**Option 1: Standard Installer (Recommended)**
73+
74+
1. Go to the [Official Graphviz Download Page](https://graphviz.org/download/).
75+
2. Download the latest **64-bit EXE installer**.
76+
3. Run the installer. **CRITICAL STEP:** During installation, when prompted, you MUST select **"Add Graphviz to the system PATH for all users"** (or current user). If you skip this, the app still won't find it!
77+
4. Restart your computer (or terminal) and open the app again.
78+
79+
**Option 2: Using Windows Package Manager (Winget)**
80+
Open PowerShell as Administrator and run:
81+
`winget install graphviz`
82+
83+
### Linux (Ubuntu / Debian)
84+
85+
Open your terminal and run:
86+
87+
```bash
88+
sudo apt-get update
89+
sudo apt-get install graphviz
90+
```
91+
92+
### macOS
93+
94+
If you are running the source code on a Mac, use Homebrew:
95+
96+
```Bash
97+
brew install graphviz
98+
```
99+
100+
## CONTRIBUTE
101+
102+
1. Fork the repository.
103+
2. Create a new branch:
104+
```sh
105+
git checkout -b YourBranch
106+
```
107+
3. Make your changes and commit them:
108+
```sh
109+
git commit -m "Add some feature"
110+
```
111+
4. Push to the branch:
112+
```sh
113+
git push origin YourBranch
114+
```
115+
5. Open a pull request.
116+
117+
## LICENSE
118+
119+
This project is licensed under the **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)**. This means you are free to:
120+
121+
- **Share** – Copy and redistribute the material in any medium or format.
122+
- **Adapt** – Remix, transform, and build upon the material.
123+
124+
However, **you may not use the material for commercial purposes**.
125+
126+
[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
127+
128+
## DISCLAIMER
129+
130+
This repository is intended **only for educational and research purposes**. The authors and contributors assume no responsibility for misuse of the code or any implications arising from its use.
131+
132+
## SUPPORT
133+
134+
If you find this resource valuable and would like to help support my education and doctoral research, please consider treating me to a cup of coffee (or tea) via Revolut.
135+
136+
<div align="center">
137+
<a href="https://revolut.me/krmdznl" target="_blank">
138+
<img src="https://img.shields.io/badge/Support%20My%20Projects-Donate%20via%20Revolut-orange?style=for-the-badge" alt="Support my education via Revolut" />
139+
</a>
140+
</div>

setup/setup_datasets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
)
88

99

10-
DATASET = read_dataset(csv_path="data/dataset.csv")
10+
DATASET = read_dataset(csv_path="data/dataset.example.csv")
1111
DATASET_SOFTWARE_STACKED = group_dataset_by_fields(
1212
datasets=[
1313
(

web_run.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import os
2+
import sys
3+
import streamlit.web.cli as stcli
4+
5+
6+
if __name__ == "__main__":
7+
if getattr(sys, "frozen", False):
8+
app_path = os.path.join(sys._MEIPASS, "web_app.py")
9+
os.chdir(sys._MEIPASS)
10+
else:
11+
app_path = os.path.join(os.path.dirname(__file__), "web_app.py")
12+
13+
sys.argv = [
14+
"streamlit",
15+
"run",
16+
app_path,
17+
"--server.port=8501",
18+
"--global.developmentMode=false",
19+
]
20+
sys.exit(stcli.main())

0 commit comments

Comments
 (0)