maxbelCSRNW commited on
Commit
932dcdf
·
verified ·
1 Parent(s): 337884b

Upload 14 files

Browse files
LICENSE CHANGED
@@ -1,17 +1,7 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
 
5
- Copyright 2026 MegaNet SciML Studio contributors
6
 
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- http://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
 
1
+ Apache License 2.0
 
 
2
 
3
+ Copyright 2026 contributors
4
 
5
+ Licensed under the Apache License, Version 2.0.
6
+ You may obtain a copy of the License at:
7
+ https://www.apache.org/licenses/LICENSE-2.0
 
 
 
 
 
 
 
 
MODEL_SCOPE.md CHANGED
@@ -1,25 +1,25 @@
1
- # Model scope
2
 
3
- ## What is implemented
4
 
5
- - Exact channel-network mass and pressure conservation.
6
- - Balanced tree specialization for very large outlet counts.
7
- - Generalized-Newtonian rheology options implemented in the network workflow.
8
- - Local XPINN for repeated smooth contractions.
9
- - Independent local quality gate before XPINN corrections enter the network.
10
- - Uncertainty analysis for fabrication tolerances and blockage scenarios.
11
- - Two-phase supply-network branch for droplet-array / mixed architectures.
12
- - Reduced physics-informed T-junction droplet closure.
13
- - Optional DeepCFD-derived local operator in research mode.
14
- - Constrained inverse design.
15
 
16
- ## What remains outside this MVP
17
 
18
- - Full 3D resolved-interface multiphase simulation of the complete chip.
19
- - General coalescence and complex breakup / jetting physics.
20
- - Deformable walls / fluid-structure interaction.
21
- - General viscoelastic memory models.
22
- - Chemical reaction networks.
23
- - User-specific experimental calibration.
24
 
25
- For these regimes, use domain-specific high-fidelity simulation or experiments.
 
1
+ # Область применимости модели
2
 
3
+ ## Реализовано
4
 
5
+ - точное сохранение массы и давления в сети каналов;
6
+ - специализированный расчёт больших древовидных сетей;
7
+ - варианты реологии обобщённо-ньютоновских жидкостей;
8
+ - локальный XPINN для повторяющихся плавных сужений;
9
+ - независимый физический допуск перед включением PINN-поправки;
10
+ - анализ технологического разброса и сценариев частичной закупорки;
11
+ - отдельная питающая сеть дисперсной фазы для капельных архитектур;
12
+ - physics-informed замыкание Т-образного генератора капель;
13
+ - опциональный локальный оператор DeepCFD в исследовательском режиме;
14
+ - обратное проектирование с ограничениями.
15
 
16
+ ## За пределами текущего MVP
17
 
18
+ - полный трёхмерный расчёт свободной границы для всего чипа;
19
+ - сложная коалесценция и разрушение капель/струй;
20
+ - взаимодействие жидкости с деформируемыми стенками;
21
+ - общие модели вязкоупругой памяти;
22
+ - химические реакционные сети;
23
+ - калибровка по пользовательским экспериментальным данным.
24
 
25
+ Для таких задач необходимы специализированные высокоточные расчёты и/или экспериментальная проверка.
README.md CHANGED
@@ -2,8 +2,8 @@
2
  license: apache-2.0
3
  library_name: pytorch
4
  language:
5
- - en
6
  - ru
 
7
  tags:
8
  - scientific-machine-learning
9
  - sciml
@@ -11,128 +11,122 @@ tags:
11
  - xpinn
12
  - microfluidics
13
  - microfluidic-design
14
- - computational-fluid-dynamics
15
  - inverse-design
16
  - uncertainty-quantification
17
- - physics-informed-machine-learning
18
  ---
19
 
20
- # MegaNet SciML Studio V16.1
21
 
22
- **Hybrid physics-informed model for design and analysis of large-scale microfluidic systems.**
 
23
 
24
- MegaNet SciML Studio combines exact network-scale conservation with local
25
- physics-informed neural models and optional high-fidelity CFD-derived closures.
26
- The repository is a **research/MVP code model**, not a hosted inference endpoint.
27
 
28
- ## Main capabilities
29
 
30
- - exact hydraulic solution of large microfluidic channel networks;
31
- - specialized balanced-tree calculations up to **65,536 outlets**;
32
- - local contraction **XPINN** with an independent physics quality gate;
33
- - two-phase supply-network workflow for droplet-generator arrays;
34
- - reduced two-phase physics-informed closure for T-junction droplet prediction;
35
- - manufacturing-tolerance and blockage uncertainty analysis;
36
- - inverse design / constrained geometry optimization;
37
- - optional research workflow using the public **DeepCFD** benchmark;
38
- - Colab/Jupyter graphical interface.
39
 
40
- ## Calculation modes
41
 
42
- ### Fast
43
- Exact network hydraulics without PINN/DeepCFD corrections.
44
 
45
- ### PINN — recommended
46
- 1. Build the real chip/network.
47
- 2. Solve the complete network with the exact hydraulic solver.
48
- 3. Identify a representative repeated contraction.
49
- 4. Train and independently audit the local XPINN.
50
- 5. Transfer only an accepted local resistance correction to matching elements.
51
- 6. Re-solve the complete network exactly.
52
- 7. Compute uncertainty, derived physics and design outputs.
53
 
54
- ### Research — PINN + DeepCFD
55
- Adds an external validation / local-operator layer using the DeepCFD benchmark
56
- before running the same exact-network + local-XPINN workflow.
57
 
58
- ## Run in Google Colab
59
 
60
- Recommended file:
61
 
62
- `microfluidic_meganet_pinn_colab_v16_1.ipynb`
 
 
 
 
 
63
 
64
- Upload it to Google Colab and run the main cell. The notebook installs missing
65
- Python dependencies in Colab when necessary.
66
 
67
- The Python source can also be executed in Colab:
68
 
69
- ```python
70
- %run /content/microfluidic_meganet_pinn_colab_v16_1.py
71
- ```
72
 
73
- ## Repository contents
 
 
 
 
 
 
74
 
75
- - `microfluidic_meganet_pinn_colab_v16_1.ipynb` — primary runnable Colab interface
76
- - `microfluidic_meganet_pinn_colab_v16_1.py` — complete source
77
- - `requirements.txt` — Python dependencies
78
- - `MODEL_SCOPE.md` — scientific scope and limitations
79
- - `HF_UPLOAD_STEPS.md` — browser upload instructions
80
 
81
- ## Scientific architecture
82
 
83
  ```text
84
- chip geometry / operating conditions
85
- ↓
86
- exact network solver
87
- ↓
88
- local geometry / physics detection
89
- ��
90
- verified local PINN / XPINN
91
- ↓
92
- exact re-solve of full network
93
- ↓
94
- uncertainty + derived physics + design
95
- ↓
96
- local CFD only for difficult/OOD cases
97
  ```
98
 
99
- The neural components are deliberately **not** used to replace global mass and
100
- pressure conservation.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
 
102
- ## Open references used by the MVP
 
 
 
103
 
104
- The code contains or retrieves pinned/open reference material for validation and
105
- local closures, including:
106
 
107
- - DeepCFD benchmark — Zenodo DOI `10.5281/zenodo.3665511`
108
- - DAFD 3.0 — publication DOI `10.1038/s41467-023-44068-3`
109
 
110
- Additional public reference DOIs are recorded directly in the source code.
111
 
112
- ## Scope
113
 
114
- The current MVP focuses on laminar Newtonian / generalized-Newtonian flow in
115
- microfluidic networks, optional hydraulic transients, local contraction PINN
116
- corrections and repeated T-junction droplet generators within the validated
117
- feature range.
118
 
119
- It is not intended to replace resolved-interface CFD for complex breakup,
120
- coalescence, strongly out-of-domain wetting, wall deformation or other physics
121
- outside the implemented closures.
122
 
123
- ## Intended use
124
 
125
- This repository is intended for:
126
- - scientific demonstration;
127
- - hypothesis and architecture screening;
128
- - rapid design-space exploration;
129
- - preparation of candidate chip geometries for subsequent high-fidelity
130
- simulation and/or experimental validation.
131
 
132
- It should not be treated as a validated manufacturing or clinical design tool
133
- without domain-specific verification.
134
 
135
- ## License
136
 
137
- Apache License 2.0 applies to the repository code. External datasets and
138
- benchmarks remain subject to their own terms and citations.
 
2
  license: apache-2.0
3
  library_name: pytorch
4
  language:
 
5
  - ru
6
+ - en
7
  tags:
8
  - scientific-machine-learning
9
  - sciml
 
11
  - xpinn
12
  - microfluidics
13
  - microfluidic-design
 
14
  - inverse-design
15
  - uncertainty-quantification
 
16
  ---
17
 
18
+ # Модель проектирования микрофлюидных чипов V16.1
19
 
20
+ Исследовательский MVP для расчёта и проектирования крупных микрофлюидных систем.
21
+ Модель сочетает точный сетевой расчёт, локальные PINN/XPINN-модули, анализ неопределённости и обратное проектирование.
22
 
23
+ В репозитории есть **два варианта запуска одной и той же модели**.
 
 
24
 
25
+ ## Быстрый выбор
26
 
27
+ ### `colab/` — Google Colab
 
 
 
 
 
 
 
 
28
 
29
+ Подходит для демонстрации и работы без настройки локального Python-окружения.
30
 
31
+ Основной файл:
 
32
 
33
+ `colab/microfluidic_sciml_v16_1.ipynb`
 
 
 
 
 
 
 
34
 
35
+ Откройте notebook в Google Colab и выполните основную ячейку.
 
 
36
 
37
+ ### `local/` — локальный запуск / VS Code
38
 
39
+ Подходит, если модель должна работать на компьютере пользователя.
40
 
41
+ ```bash
42
+ cd local
43
+ python -m venv .venv
44
+ pip install -r requirements.txt
45
+ python app.py
46
+ ```
47
 
48
+ После запуска интерфейс откроется в браузере по адресу:
 
49
 
50
+ `http://127.0.0.1:8866`
51
 
52
+ ## Что рассчитывает модель
 
 
53
 
54
+ - гидравлику крупных сетей микроканалов;
55
+ - распределение расходов и давления;
56
+ - локальные числа Рейнольдса и напряжение сдвига;
57
+ - влияние технологических допусков и частичных закупорок;
58
+ - локальные потери в сложных элементах;
59
+ - параметры генерации капель для соответствующих архитектур;
60
+ - варианты геометрии при обратном проектировании.
61
 
62
+ Для специализированной древовидной архитектуры поддерживается расчёт до **65 536 выходов**.
 
 
 
 
63
 
64
+ ## Архитектура расчёта
65
 
66
  ```text
67
+ геометрия и режим работы чипа
68
+ ↓
69
+ точный сетевой расчёт
70
+ ↓
71
+ поиск локально сложных элементов
72
+ ↓
73
+ проверенный PINN / XPINN
74
+ ↓
75
+ повторный точный расчёт всей сети
76
+ ↓
77
+ неопределённость и проектирование
78
+ ↓
79
+ локальный CFD только для сложных / OOD-случаев
80
  ```
81
 
82
+ Глобальный баланс массы и давления не передаётся нейронной сети: он решается детерминированным сетевым решателем. PINN используется как локальное физическое уточнение.
83
+
84
+ ## Режимы
85
+
86
+ ### Быстрый
87
+
88
+ Точный сетевой расчёт без PINN и DeepCFD.
89
+
90
+ ### С локальным уточнением PINN — рекомендуется
91
+
92
+ 1. Строится реальная геометрия чипа.
93
+ 2. Выполняется предварительный точный расчёт всей сети.
94
+ 3. Выбирается характерное повторяющееся сужение.
95
+ 4. Для него обучается локальный XPINN.
96
+ 5. PINN сравнивается с независимым эталоном.
97
+ 6. Только прошедшая допуск поправка переносится на сходные элементы.
98
+ 7. Вся сеть пересчитывается точным решателем.
99
+ 8. Рассчитываются неопределённость и показатели проектирования.
100
+
101
+ ### Расширенный — PINN + DeepCFD
102
+
103
+ К рекомендованному контуру добавляются открытая проверка и локальный оператор на данных DeepCFD. Этот режим тяжелее и предназначен прежде всего для исследовательской проверки многоуровневого расчёта.
104
+
105
+ ## Варианты архитектуры чипа
106
 
107
+ - распределительная сеть;
108
+ - перфузионный чип;
109
+ - массив генераторов капель;
110
+ - гибридная архитектура.
111
 
112
+ ## Что является PINN в этой модели
 
113
 
114
+ PINN не используется как универсальная замена CFD.
 
115
 
116
+ Основной PDE-PINN/XPINN решает локальную задачу для повторяющегося сужения. После независимой проверки локальная поправка включается в сетевой расчёт.
117
 
118
+ Для Т-образных генераторов предусмотрено отдельное physics-informed замыкание двухфазной задачи.
119
 
120
+ ## Проверка и открытые эталоны
 
 
 
121
 
122
+ В коде предусмотрены внутренние тесты физических балансов и внешний набор проверок. В исследовательском режиме могут использоваться открытые данные DeepCFD и DAFD.
 
 
123
 
124
+ Ссылки и DOI соответствующих источников закреплены непосредственно в исходном коде.
125
 
126
+ ## Ограничения
 
 
 
 
 
127
 
128
+ Текущая версия предназначена для ламинарных микрофлюидных систем и не заменяет полноценный трёхмерный CFD для сложного разрушения интерфейса, коалесценции, сильно выходящих за область применимости режимов смачивания, деформируемых стенок и других не включённых физических эффектов.
 
129
 
130
+ Модель следует рассматривать как исследовательский MVP и инструмент предварительного проектирования, а не как готовый производственный расчётный пакет.
131
 
132
+ Подробнее: [`MODEL_SCOPE.md`](MODEL_SCOPE.md).
 
REPOSITORY_LAYOUT.md ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Структура репозитория
2
+
3
+ ```text
4
+ README.md
5
+ LICENSE
6
+ MODEL_SCOPE.md
7
+ colab/
8
+ README.md
9
+ microfluidic_sciml_v16_1.ipynb
10
+ microfluidic_sciml_v16_1.py
11
+ local/
12
+ README.md
13
+ requirements.txt
14
+ app.py
15
+ app.ipynb
16
+ microfluidic_sciml_v16_1.py
17
+ run_windows.bat
18
+ run_mac_linux.sh
19
+ ```
20
+
21
+ `colab/` — запуск в Google Colab.
22
+ `local/` — запуск локально, в том числе из VS Code.
colab/README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Версия для Google Colab
2
+
3
+ Самый простой вариант запуска модели.
4
+
5
+ ## Как запустить
6
+
7
+ 1. Откройте `microfluidic_sciml_v16_1.ipynb` в Google Colab.
8
+ 2. Выполните основную ячейку.
9
+ 3. Интерфейс модели появится прямо в notebook.
10
+
11
+ Файл `microfluidic_sciml_v16_1.py` содержит полный исходный код вычислительного ядра и интерфейса.
colab/microfluidic_sciml_v16_1.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
colab/microfluidic_sciml_v16_1.py ADDED
The diff for this file is too large to render. See raw diff
 
local/README.md ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Локальная версия / VS Code
2
+
3
+ Эта версия запускает модель на компьютере пользователя как небольшое локальное веб-приложение.
4
+
5
+ Рекомендуется Python **3.11 или 3.12**.
6
+
7
+ ## Windows / VS Code
8
+
9
+ Откройте терминал в папке `local`:
10
+
11
+ ```powershell
12
+ python -m venv .venv
13
+ .venv\Scripts\activate
14
+ python -m pip install --upgrade pip
15
+ pip install -r requirements.txt
16
+ python app.py
17
+ ```
18
+
19
+ После запуска браузер автоматически откроет:
20
+
21
+ `http://127.0.0.1:8866`
22
+
23
+ Для остановки нажмите `Ctrl+C` в терминале.
24
+
25
+ ## macOS / Linux
26
+
27
+ ```bash
28
+ python3 -m venv .venv
29
+ source .venv/bin/activate
30
+ python -m pip install --upgrade pip
31
+ pip install -r requirements.txt
32
+ python app.py
33
+ ```
34
+
35
+ ## Как устроен локальный запуск
36
+
37
+ `app.py` запускает локальный Voilà-сервер. Он открывает служебный `app.ipynb`, который подключает вычислительное ядро `microfluidic_sciml_v16_1.py` и показывает интерфейс модели как отдельную веб-страницу.
38
+
39
+ Все расчёты выполняются локально на компьютере пользователя.
40
+
41
+ ## Результаты
42
+
43
+ Экспортируемые файлы сохраняются в папке:
44
+
45
+ `local/model_outputs/`
46
+
47
+ ## Расширенный режим
48
+
49
+ Режим `PINN + DeepCFD` требует доступа в интернет для загрузки открытого набора DeepCFD и заметно больше времени. Для обычного локального использования рекомендуется режим с локальным уточнением PINN.
local/app.ipynb ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "2de1b354",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Модель проектирования микрофлюидных чипов V16.1 — локальный запуск\n",
9
+ "\n",
10
+ "Служебная оболочка для Voilà. Для обычного запуска используйте `python app.py`."
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "code",
15
+ "execution_count": null,
16
+ "id": "8023cbc2",
17
+ "metadata": {},
18
+ "outputs": [],
19
+ "source": [
20
+ "import os\n",
21
+ "os.environ[\"MEGANET_PINN_NO_AUTOLAUNCH\"] = \"1\"\n",
22
+ "\n",
23
+ "from microfluidic_sciml_v16_1 import launch\n",
24
+ "\n",
25
+ "MICROFLUIDIC_MODEL = launch(show_startup=True)\n"
26
+ ]
27
+ }
28
+ ],
29
+ "metadata": {
30
+ "kernelspec": {
31
+ "display_name": "Python 3",
32
+ "language": "python",
33
+ "name": "python3"
34
+ },
35
+ "language_info": {
36
+ "name": "python"
37
+ }
38
+ },
39
+ "nbformat": 4,
40
+ "nbformat_minor": 5
41
+ }
local/app.py ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Модель проектирования микрофлюидных чипов V16.1 — локальный запуск.
4
+
5
+ Команда:
6
+ python app.py
7
+ """
8
+ from __future__ import annotations
9
+
10
+ import importlib.util
11
+ import os
12
+ from pathlib import Path
13
+ import subprocess
14
+ import sys
15
+ import threading
16
+ import time
17
+ import urllib.request
18
+ import webbrowser
19
+
20
+ APP_DIR = Path(__file__).resolve().parent
21
+ NOTEBOOK = APP_DIR / "app.ipynb"
22
+ OUTPUT_DIR = APP_DIR / "model_outputs"
23
+
24
+ HOST = os.environ.get("MICROFLUIDIC_HOST", "127.0.0.1")
25
+ PORT = int(os.environ.get("MICROFLUIDIC_PORT", "8866"))
26
+ URL = f"http://{HOST}:{PORT}/"
27
+
28
+ def _check_dependencies() -> None:
29
+ required = {
30
+ "voila": "voila",
31
+ "ipywidgets": "ipywidgets",
32
+ "numpy": "numpy",
33
+ "pandas": "pandas",
34
+ "matplotlib": "matplotlib",
35
+ "scipy": "scipy",
36
+ "sklearn": "scikit-learn",
37
+ "torch": "torch",
38
+ "requests": "requests",
39
+ "openpyxl": "openpyxl",
40
+ }
41
+ missing = [pip_name for module, pip_name in required.items()
42
+ if importlib.util.find_spec(module) is None]
43
+ if missing:
44
+ print("\nНе установлены зависимости:", ", ".join(missing))
45
+ print("Сначала выполните:")
46
+ print(f' "{sys.executable}" -m pip install -r "{APP_DIR / "requirements.txt"}"' )
47
+ raise SystemExit(1)
48
+
49
+ def _open_browser_when_ready(timeout: float = 60.0) -> None:
50
+ deadline = time.time() + timeout
51
+ while time.time() < deadline:
52
+ try:
53
+ with urllib.request.urlopen(URL, timeout=1.0):
54
+ webbrowser.open(URL)
55
+ return
56
+ except Exception:
57
+ time.sleep(0.4)
58
+ webbrowser.open(URL)
59
+
60
+ def main() -> None:
61
+ _check_dependencies()
62
+ OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
63
+
64
+ env = os.environ.copy()
65
+ env["MEGANET_PINN_OUTPUT_DIR"] = str(OUTPUT_DIR)
66
+ env["PYTHONUNBUFFERED"] = "1"
67
+
68
+ print("Модель проектирования микрофлюидных чипов V16.1")
69
+ print(f"Интерфейс откроется в браузере: {URL}")
70
+ print("Для остановки нажмите Ctrl+C.\n")
71
+
72
+ threading.Thread(target=_open_browser_when_ready, daemon=True).start()
73
+
74
+ cmd = [
75
+ sys.executable, "-m", "voila", str(NOTEBOOK),
76
+ "--no-browser",
77
+ f"--Voila.ip={HOST}",
78
+ f"--Voila.port={PORT}",
79
+ "--Voila.theme=light",
80
+ "--Voila.show_tracebacks=True",
81
+ ]
82
+
83
+ try:
84
+ subprocess.run(cmd, cwd=str(APP_DIR), env=env, check=True)
85
+ except KeyboardInterrupt:
86
+ print("\nМодель остановлена.")
87
+ except subprocess.CalledProcessError as exc:
88
+ print(f"\nVoilà завершился с кодом {exc.returncode}.")
89
+ raise SystemExit(exc.returncode)
90
+
91
+ if __name__ == "__main__":
92
+ main()
local/microfluidic_sciml_v16_1.py ADDED
The diff for this file is too large to render. See raw diff
 
local/requirements.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ voila>=0.5,<0.6
2
+ ipywidgets>=8.1,<9
3
+ jupyterlab_widgets>=3.0,<4
4
+ numpy>=1.26,<3
5
+ pandas>=2.2,<3
6
+ matplotlib>=3.8,<4
7
+ scipy>=1.12,<2
8
+ scikit-learn>=1.4,<2
9
+ torch>=2.2,<3
10
+ requests>=2.31,<3
11
+ openpyxl>=3.1,<4
local/run_mac_linux.sh ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ set -e
3
+ if [ ! -d ".venv" ]; then
4
+ python3 -m venv .venv
5
+ fi
6
+ source .venv/bin/activate
7
+ python -m pip install --upgrade pip
8
+ pip install -r requirements.txt
9
+ python app.py
local/run_windows.bat ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ @echo off
2
+ if not exist .venv (
3
+ python -m venv .venv
4
+ )
5
+ call .venv\Scripts\activate
6
+ python -m pip install --upgrade pip
7
+ pip install -r requirements.txt
8
+ python app.py
9
+ pause