ivoryos 0.1.17__tar.gz → 0.1.19__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of ivoryos might be problematic. Click here for more details.

Files changed (56) hide show
  1. {ivoryos-0.1.17 → ivoryos-0.1.19}/LICENSE +21 -21
  2. {ivoryos-0.1.17 → ivoryos-0.1.19}/MANIFEST.in +7 -7
  3. {ivoryos-0.1.17/ivoryos.egg-info → ivoryos-0.1.19}/PKG-INFO +174 -178
  4. {ivoryos-0.1.17 → ivoryos-0.1.19}/README.md +160 -151
  5. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/__init__.py +158 -158
  6. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/config.py +47 -47
  7. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/auth/auth.py +100 -100
  8. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/auth/templates/auth/login.html +25 -25
  9. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/auth/templates/auth/signup.html +32 -32
  10. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/control/control.py +400 -400
  11. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/control/templates/control/controllers.html +78 -78
  12. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/control/templates/control/controllers_home.html +50 -50
  13. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/control/templates/control/controllers_new.html +89 -89
  14. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/database/database.py +188 -188
  15. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/database/templates/database/experiment_database.html +72 -72
  16. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/design/design.py +564 -550
  17. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/design/templates/design/experiment_builder.html +428 -428
  18. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/design/templates/design/experiment_run.html +341 -325
  19. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/main/main.py +42 -42
  20. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/main/templates/main/help.html +141 -141
  21. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/main/templates/main/home.html +70 -70
  22. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/js/overlay.js +12 -12
  23. ivoryos-0.1.19/ivoryos/static/js/socket_handler.js +62 -0
  24. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/js/sortable_card.js +24 -24
  25. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/js/sortable_design.js +36 -36
  26. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/style.css +201 -201
  27. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/templates/base.html +153 -153
  28. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/db_models.py +607 -605
  29. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/form.py +439 -439
  30. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/global_config.py +67 -67
  31. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/llm_agent.py +183 -183
  32. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/script_runner.py +215 -166
  33. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/utils.py +409 -409
  34. ivoryos-0.1.19/ivoryos/version.py +1 -0
  35. {ivoryos-0.1.17 → ivoryos-0.1.19/ivoryos.egg-info}/PKG-INFO +174 -178
  36. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos.egg-info/SOURCES.txt +0 -2
  37. {ivoryos-0.1.17 → ivoryos-0.1.19}/setup.cfg +4 -4
  38. {ivoryos-0.1.17 → ivoryos-0.1.19}/setup.py +35 -35
  39. ivoryos-0.1.17/ivoryos/routes/monitor/monitor.py +0 -21
  40. ivoryos-0.1.17/ivoryos/routes/monitor/templates/monitor/monitor.html +0 -24
  41. ivoryos-0.1.17/ivoryos/static/js/socket_handler.js +0 -34
  42. ivoryos-0.1.17/ivoryos/version.py +0 -1
  43. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/__init__.py +0 -0
  44. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/auth/__init__.py +0 -0
  45. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/control/__init__.py +0 -0
  46. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/database/__init__.py +0 -0
  47. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/design/__init__.py +0 -0
  48. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/routes/main/__init__.py +0 -0
  49. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/favicon.ico +0 -0
  50. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/gui_annotation/Slide1.png +0 -0
  51. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/gui_annotation/Slide2.PNG +0 -0
  52. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/static/logo.webp +0 -0
  53. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos/utils/__init__.py +0 -0
  54. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos.egg-info/dependency_links.txt +0 -0
  55. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos.egg-info/requires.txt +0 -0
  56. {ivoryos-0.1.17 → ivoryos-0.1.19}/ivoryos.egg-info/top_level.txt +0 -0
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2023-2024 Ivory Zhang | Hein Lab
4
-
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:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
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
21
- THE SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2023-2024 Ivory Zhang | Hein Lab
4
+
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:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
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
21
+ THE SOFTWARE.
@@ -1,8 +1,8 @@
1
- graft ivoryos/static
2
- graft ivoryos/templates
3
- graft ivoryos/routes
4
- global-exclude *.pyc
5
-
6
- # exclude examples
7
- prune ivoryos/example
1
+ graft ivoryos/static
2
+ graft ivoryos/templates
3
+ graft ivoryos/routes
4
+ global-exclude *.pyc
5
+
6
+ # exclude examples
7
+ prune ivoryos/example
8
8
  prune ivoryos/docs
@@ -1,178 +1,174 @@
1
- Metadata-Version: 2.2
2
- Name: ivoryos
3
- Version: 0.1.17
4
- Summary: an open-source Python package enabling Self-Driving Labs (SDLs) interoperability
5
- Home-page: https://gitlab.com/heingroup/ivoryos
6
- Author: Ivory Zhang
7
- Author-email: ivoryzhang@chem.ubc.ca
8
- License: MIT
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: bcrypt
12
- Requires-Dist: Flask-Login
13
- Requires-Dist: Flask-Session
14
- Requires-Dist: Flask-SocketIO
15
- Requires-Dist: Flask-SQLAlchemy
16
- Requires-Dist: Flask-WTF
17
- Requires-Dist: SQLAlchemy-Utils
18
- Requires-Dist: python-dotenv
19
- Dynamic: author
20
- Dynamic: author-email
21
- Dynamic: description
22
- Dynamic: description-content-type
23
- Dynamic: home-page
24
- Dynamic: license
25
- Dynamic: requires-dist
26
- Dynamic: summary
27
-
28
- [![Documentation Status](https://readthedocs.org/projects/ivoryos/badge/?version=latest)](https://ivoryos.readthedocs.io/en/latest/?badge=latest)
29
- [![PyPI version](https://img.shields.io/pypi/v/ivoryos)](https://pypi.org/project/ivoryos/)
30
- ![License](https://img.shields.io/pypi/l/ivoryos)
31
-
32
- ![](https://gitlab.com/heingroup/ivoryos/raw/main/docs/source/_static/ivoryos.png)
33
- # ivoryOS: interoperable Web UI for self-driving laboratories (SDLs)
34
- "plug and play" web UI extension for flexible SDLs.
35
-
36
- ## Table of Contents
37
- - [Description](#description)
38
- - [System requirements](#system-requirements)
39
- - [Installation](#installation)
40
- - [Instructions for use](#instructions-for-use)
41
- - [Demo](#demo)
42
- - [License](#license)
43
-
44
- ## Description
45
- Granting SDLs flexibility and modularity makes it almost impossible to design a UI, yet it's a necessity for allowing more people to interact with it (democratisation).
46
- This web UI aims to ease up the control of any Python-based SDLs by displaying functions and parameters for initialized modules dynamically.
47
- The modules can be hardware API, high-level functions, or experiment workflow.
48
- With the least modification of the current workflow, user can design, manage and execute their experimental designs and monitor the execution process.
49
-
50
- ## System requirements
51
- This software is developed and tested using Windows. This software and its dependencies are compatible across major platforms: Linux, macOS, and Windows. Some dependencies (Flask-SQLAlchemy) may require additional setup.
52
-
53
- ### Python Version
54
- Python >=3.7 for best compatibility.
55
- ### Python dependencies
56
- This software is compatible with the latest versions of all dependencies.
57
- - bcrypt~=4.0
58
- - Flask-Login~=0.6
59
- - Flask-Session~=0.8
60
- - Flask-SocketIO~=5.3
61
- - Flask-SQLAlchemy~=3.1
62
- - SQLAlchemy-Utils~=0.41
63
- - Flask-WTF~=1.2
64
- - python-dotenv==1.0.1
65
- - openai (optional ~=1.53)
66
- - ax-platform (optional ~=0.3 or ~=0.4 for Python>=3.9)
67
-
68
- ## Installation
69
- ```bash
70
- pip install ivoryos
71
- ```
72
- or
73
- ```bash
74
- git clone https://gitlab.com/heingroup/ivoryos.git
75
- cd ivoryos
76
- pip install -e .
77
- ```
78
-
79
- The installation may take 10 to 30 seconds to install. The installation time may vary and take up to several minutes, depending on the network speed, computer performance, and virtual environment settings.
80
-
81
- ## Instructions for use
82
- ### Quick start
83
- In your SDL script, use `ivoryos(__name__)`.
84
- ```python
85
- import ivoryos
86
-
87
- ivoryos.run(__name__)
88
- ```
89
- ### Login
90
- Create an account and login (local database)
91
- ### Features
92
- - **Direct control**: direct function calling _Device_ tab
93
- - **Workflow design and iteration**:
94
- - **Design**: add function to canvas in _Design_ tab. click `Compile and Run` button to go to the execution page
95
- - **Execution**: configure iteration methods and parameters in _Compile/Run_ tab.
96
- - **Database**: manage workflows in _Library_ tab.
97
- - **Info page**: additional info in _About_ tab.
98
-
99
-
100
- ### Additional settings
101
- #### AI assistant
102
- To streamline the experimental design on SDLs, we also integrate Large Language Models (LLMs) to interpret the inspected functions and generate code according to task descriptions.
103
-
104
- #### Enable LLMs with [OpenAI API](https://github.com/openai/openai-python)
105
- 1. Create a `.env` file for `OPENAI_API_KEY`
106
- ```
107
- OPENAI_API_KEY="Your API Key"
108
- ```
109
- 2. In your SDL script, define model, you can use any GPT models.
110
-
111
- ```python
112
- ivoryos.run(__name__, model="gpt-3.5-turbo")
113
- ```
114
-
115
- #### Enable local LLMs with [Ollama](https://ollama.com/)
116
- 1. Download Ollama.
117
- 2. pull models from Ollama
118
- 3. In your SDL script, define LLM server and model, you can use any models available on Ollama.
119
-
120
- ```python
121
- ivoryos.run(__name__, llm_server="localhost", model="llama3.1")
122
- ```
123
-
124
- #### Add additional logger(s)
125
- ```python
126
- ivoryos.run(__name__, logger="logger name")
127
- ```
128
- or
129
- ```python
130
- ivoryos.run(__name__, logger=["logger 1", "logger 2"])
131
- ```
132
- #### Offline (design without hardware connection)
133
- After one successful connection, a blueprint will be automatically saved and made accessible without hardware connection. In a new Python script in the same directory, use `ivoryos.run()` to start offline mode.
134
-
135
- ```python
136
- ivoryos.run()
137
- ```
138
- ## Demo
139
- In the [abstract_sdl.py](https://gitlab.com/heingroup/ivoryos/-/blob/main/example/sdl_example/abstract_sdl.py), where instances of `AbstractSDL` is created as `sdl`,
140
- addresses will be available on terminal.
141
- ```Python
142
- ivoryos.run(__name__)
143
- ```
144
-
145
- * Running on all addresses (0.0.0.0)
146
- * Running on http://127.0.0.1:8000
147
- * Running on http://xxx.xx.xx.xxx:8000
148
-
149
- ### Deck function and web form
150
- ![](https://gitlab.com/heingroup/ivoryos/raw/main/docs/source/_static/demo.gif)
151
-
152
- ### Text-to-code demo
153
- ![](https://gitlab.com/heingroup/ivoryos/raw/main/docs/source/_static/text-to-code.gif)
154
-
155
- ### Directory structure
156
-
157
- When you run the application for the first time, it will automatically create the following folders and files in the same directory:
158
-
159
- - **`ivoryos_data/`**: Main directory for application-related data.
160
- - **`ivoryos_data/config_csv/`**: Contains iteration configuration files in CSV format.
161
- - **`ivoryos_data/llm_output/`**: Stores raw prompt generated for the large language model.
162
- - **`ivoryos_data/pseudo_deck/`**: Contains pseudo-deck `.pkl` files for offline access.
163
- - **`ivoryos_data/results/`**: Used for storing results or outputs during workflow execution.
164
- - **`ivoryos_data/scripts/`**: Holds Python scripts compiled from the visual programming script design.
165
-
166
- - **`default.log`**: Log file that captures application logs.
167
- - **`ivoryos.db`**: Database file that stores application data locally.
168
-
169
-
170
- ### Demo video
171
- Intro + Tutorial + Demo with PurPOSE platform
172
- https://youtu.be/dFfJv9I2-1g
173
-
174
-
175
- ## Authors and Acknowledgement
176
- Ivory Zhang, Lucy Hao
177
-
178
- Authors acknowledge all former and current Hein Lab members for their valuable suggestions.
1
+ Metadata-Version: 2.1
2
+ Name: ivoryos
3
+ Version: 0.1.19
4
+ Summary: an open-source Python package enabling Self-Driving Labs (SDLs) interoperability
5
+ Home-page: https://gitlab.com/heingroup/ivoryos
6
+ Author: Ivory Zhang
7
+ Author-email: ivoryzhang@chem.ubc.ca
8
+ License: MIT
9
+ Platform: UNKNOWN
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+
13
+ [![Documentation Status](https://readthedocs.org/projects/ivoryos/badge/?version=latest)](https://ivoryos.readthedocs.io/en/latest/?badge=latest)
14
+ [![PyPI version](https://img.shields.io/pypi/v/ivoryos)](https://pypi.org/project/ivoryos/)
15
+ ![License](https://img.shields.io/pypi/l/ivoryos)
16
+
17
+ ![](https://gitlab.com/heingroup/ivoryos/raw/main/docs/source/_static/ivoryos.png)
18
+ # ivoryOS: interoperable Web UI for self-driving laboratories (SDLs)
19
+ "plug and play" web UI extension for flexible SDLs.
20
+
21
+ ## Table of Contents
22
+ - [Description](#description)
23
+ - [System requirements](#system-requirements)
24
+ - [Installation](#installation)
25
+ - [Instructions for use](#instructions-for-use)
26
+ - [Demo](#demo)
27
+ - [License](#license)
28
+
29
+ ## Description
30
+ Granting SDLs flexibility and modularity makes it almost impossible to design a UI, yet it's a necessity for allowing more people to interact with it (democratisation).
31
+ This web UI aims to ease up the control of any Python-based SDLs by displaying functions and parameters for initialized modules dynamically.
32
+ The modules can be hardware API, high-level functions, or experiment workflow.
33
+ With the least modification of the current workflow, user can design, manage and execute their experimental designs and monitor the execution process.
34
+
35
+ ## System requirements
36
+ This software is developed and tested using Windows. This software and its dependencies are compatible across major platforms: Linux, macOS, and Windows. Some dependencies (Flask-SQLAlchemy) may require additional setup.
37
+
38
+ ### Python Version
39
+ Python >=3.7 for best compatibility.
40
+ ### Python dependencies
41
+ This software is compatible with the latest versions of all dependencies.
42
+ - bcrypt~=4.0
43
+ - Flask-Login~=0.6
44
+ - Flask-Session~=0.8
45
+ - Flask-SocketIO~=5.3
46
+ - Flask-SQLAlchemy~=3.1
47
+ - SQLAlchemy-Utils~=0.41
48
+ - Flask-WTF~=1.2
49
+ - python-dotenv==1.0.1
50
+ - openai (optional ~=1.53)
51
+ - ax-platform (optional ~=0.3 or ~=0.4 for Python>=3.9)
52
+
53
+ ## Installation
54
+ ```bash
55
+ pip install ivoryos
56
+ ```
57
+ or
58
+ ```bash
59
+ git clone https://gitlab.com/heingroup/ivoryos.git
60
+ cd ivoryos
61
+ pip install -e .
62
+ ```
63
+
64
+ The installation may take 10 to 30 seconds to install. The installation time may vary and take up to several minutes, depending on the network speed, computer performance, and virtual environment settings.
65
+
66
+ ## Instructions for use
67
+ ### Quick start
68
+ In your SDL script, use `ivoryos(__name__)`.
69
+ ```python
70
+ import ivoryos
71
+
72
+ ivoryos.run(__name__)
73
+ ```
74
+ ### Login
75
+ Create an account and login (local database)
76
+ ### Features
77
+ - **Direct control**: direct function calling _Device_ tab
78
+ - **Workflow design and iteration**:
79
+ - **Design**: add function to canvas in _Design_ tab. click `Compile and Run` button to go to the execution page
80
+ - **Execution**: configure iteration methods and parameters in _Compile/Run_ tab.
81
+ - **Database**: manage workflows in _Library_ tab.
82
+ - **Info page**: additional info in _About_ tab.
83
+
84
+
85
+ ### Additional settings
86
+ #### AI assistant
87
+ To streamline the experimental design on SDLs, we also integrate Large Language Models (LLMs) to interpret the inspected functions and generate code according to task descriptions.
88
+
89
+ #### Enable LLMs with [OpenAI API](https://github.com/openai/openai-python)
90
+ 1. Create a `.env` file for `OPENAI_API_KEY`
91
+ ```
92
+ OPENAI_API_KEY="Your API Key"
93
+ ```
94
+ 2. In your SDL script, define model, you can use any GPT models.
95
+
96
+ ```python
97
+ ivoryos.run(__name__, model="gpt-3.5-turbo")
98
+ ```
99
+
100
+ #### Enable local LLMs with [Ollama](https://ollama.com/)
101
+ 1. Download Ollama.
102
+ 2. pull models from Ollama
103
+ 3. In your SDL script, define LLM server and model, you can use any models available on Ollama.
104
+
105
+ ```python
106
+ ivoryos.run(__name__, llm_server="localhost", model="llama3.1")
107
+ ```
108
+
109
+ #### Add additional logger(s)
110
+ ```python
111
+ ivoryos.run(__name__, logger="logger name")
112
+ ```
113
+ or
114
+ ```python
115
+ ivoryos.run(__name__, logger=["logger 1", "logger 2"])
116
+ ```
117
+ #### Offline (design without hardware connection)
118
+ After one successful connection, a blueprint will be automatically saved and made accessible without hardware connection. In a new Python script in the same directory, use `ivoryos.run()` to start offline mode.
119
+
120
+ ```python
121
+ ivoryos.run()
122
+ ```
123
+ ## Demo
124
+ In the [abstract_sdl.py](https://gitlab.com/heingroup/ivoryos/-/blob/main/example/sdl_example/abstract_sdl.py), where instances of `AbstractSDL` is created as `sdl`,
125
+ addresses will be available on terminal.
126
+ ```Python
127
+ ivoryos.run(__name__)
128
+ ```
129
+
130
+ * Running on all addresses (0.0.0.0)
131
+ * Running on http://127.0.0.1:8000
132
+ * Running on http://xxx.xx.xx.xxx:8000
133
+
134
+ ### Deck function and web form
135
+ ![](https://gitlab.com/heingroup/ivoryos/raw/main/docs/source/_static/demo.gif)
136
+
137
+ ### Text-to-code demo
138
+ ![](https://gitlab.com/heingroup/ivoryos/raw/main/docs/source/_static/text-to-code.gif)
139
+
140
+ ### Directory structure
141
+
142
+ When you run the application for the first time, it will automatically create the following folders and files in the same directory:
143
+
144
+ - **`ivoryos_data/`**: Main directory for application-related data.
145
+ - **`ivoryos_data/config_csv/`**: Contains iteration configuration files in CSV format.
146
+ - **`ivoryos_data/llm_output/`**: Stores raw prompt generated for the large language model.
147
+ - **`ivoryos_data/pseudo_deck/`**: Contains pseudo-deck `.pkl` files for offline access.
148
+ - **`ivoryos_data/results/`**: Used for storing results or outputs during workflow execution.
149
+ - **`ivoryos_data/scripts/`**: Holds Python scripts compiled from the visual programming script design.
150
+
151
+ - **`default.log`**: Log file that captures application logs.
152
+ - **`ivoryos.db`**: Database file that stores application data locally.
153
+
154
+
155
+ ### Demo video
156
+ Intro + Tutorial + Demo with PurPOSE platform
157
+ https://youtu.be/dFfJv9I2-1g
158
+
159
+
160
+ ## Roadmap
161
+
162
+ - [x] Allow plugin pages
163
+ - [ ] pause, resume, abort current and pending workflows
164
+ - [ ] snapshot version control
165
+ - [ ] dropdown input
166
+ - [ ] show line number option
167
+
168
+
169
+ ## Authors and Acknowledgement
170
+ Ivory Zhang, Lucy Hao
171
+
172
+ Authors acknowledge all former and current Hein Lab members for their valuable suggestions.
173
+
174
+