fklitt commited on
Commit
33d05f9
1 Parent(s): 282d804

Updated_10

Browse files
LSTM_model.keras ADDED
Binary file (291 kB). View file
 
__pycache__/feature_pipeline.cpython-311.pyc CHANGED
Binary files a/__pycache__/feature_pipeline.cpython-311.pyc and b/__pycache__/feature_pipeline.cpython-311.pyc differ
 
__pycache__/feature_view.cpython-311.pyc ADDED
Binary file (3.9 kB). View file
 
__pycache__/news_preprocessing.cpython-311.pyc CHANGED
Binary files a/__pycache__/news_preprocessing.cpython-311.pyc and b/__pycache__/news_preprocessing.cpython-311.pyc differ
 
__pycache__/stock_preprocessing.cpython-311.pyc ADDED
Binary file (6.04 kB). View file
 
feature_pipeline.ipynb CHANGED
@@ -2,7 +2,7 @@
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
- "execution_count": 24,
6
  "metadata": {},
7
  "outputs": [],
8
  "source": [
@@ -12,109 +12,128 @@
12
  },
13
  {
14
  "cell_type": "code",
15
- "execution_count": 25,
16
  "metadata": {},
17
  "outputs": [
18
  {
19
  "name": "stdout",
20
  "output_type": "stream",
21
  "text": [
22
- "Requirement already satisfied: great_expectations==0.18.12 in /Applications/anaconda3/lib/python3.11/site-packages (0.18.12)\n",
23
- "Requirement already satisfied: altair<5.0.0,>=4.2.1 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (4.2.2)\n",
24
- "Requirement already satisfied: Click>=7.1.2 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (8.1.7)\n",
25
- "Requirement already satisfied: colorama>=0.4.3 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (0.4.6)\n",
26
- "Requirement already satisfied: cryptography>=3.2 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (41.0.2)\n",
27
- "Requirement already satisfied: Ipython>=7.16.3 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (8.12.0)\n",
28
- "Requirement already satisfied: ipywidgets>=7.5.1 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (8.0.4)\n",
29
- "Requirement already satisfied: jinja2>=2.10 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (3.0.3)\n",
30
- "Requirement already satisfied: jsonpatch>=1.22 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (1.33)\n",
31
- "Requirement already satisfied: jsonschema>=2.5.1 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (4.17.3)\n",
32
- "Requirement already satisfied: makefun<2,>=1.7.0 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (1.15.2)\n",
33
- "Requirement already satisfied: marshmallow<4.0.0,>=3.7.1 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (3.21.1)\n",
34
- "Requirement already satisfied: mistune>=0.8.4 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (0.8.4)\n",
35
- "Requirement already satisfied: nbformat>=5.0 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (5.7.0)\n",
36
- "Requirement already satisfied: notebook>=6.4.10 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (6.5.4)\n",
37
- "Requirement already satisfied: packaging in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (23.2)\n",
38
- "Requirement already satisfied: pydantic>=1.9.2 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2.6.4)\n",
39
- "Requirement already satisfied: pyparsing>=2.4 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2.4.7)\n",
40
- "Requirement already satisfied: python-dateutil>=2.8.1 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2.8.2)\n",
41
- "Requirement already satisfied: pytz>=2021.3 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2022.7)\n",
42
- "Requirement already satisfied: requests>=2.20 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2.31.0)\n",
43
- "Requirement already satisfied: ruamel.yaml<0.17.18,>=0.16 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (0.17.17)\n",
44
- "Requirement already satisfied: scipy>=1.6.0 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (1.10.1)\n",
45
- "Requirement already satisfied: tqdm>=4.59.0 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (4.66.2)\n",
46
- "Requirement already satisfied: typing-extensions>=3.10.0.0 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (4.7.1)\n",
47
- "Requirement already satisfied: tzlocal>=1.2 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2.1)\n",
48
- "Requirement already satisfied: urllib3>=1.26 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (2.2.1)\n",
49
- "Requirement already satisfied: numpy<2.0.0,>=1.22.4 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (1.24.3)\n",
50
- "Requirement already satisfied: pandas>=1.3.0 in /Applications/anaconda3/lib/python3.11/site-packages (from great_expectations==0.18.12) (1.5.1)\n",
51
- "Requirement already satisfied: entrypoints in /Applications/anaconda3/lib/python3.11/site-packages (from altair<5.0.0,>=4.2.1->great_expectations==0.18.12) (0.4)\n",
52
- "Requirement already satisfied: toolz in /Applications/anaconda3/lib/python3.11/site-packages (from altair<5.0.0,>=4.2.1->great_expectations==0.18.12) (0.12.0)\n",
53
- "Requirement already satisfied: cffi>=1.12 in /Applications/anaconda3/lib/python3.11/site-packages (from cryptography>=3.2->great_expectations==0.18.12) (1.15.1)\n",
54
- "Requirement already satisfied: backcall in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.2.0)\n",
55
- "Requirement already satisfied: decorator in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (5.1.1)\n",
56
- "Requirement already satisfied: jedi>=0.16 in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.18.1)\n",
57
- "Requirement already satisfied: matplotlib-inline in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.1.6)\n",
58
- "Requirement already satisfied: pickleshare in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.7.5)\n",
59
- "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (3.0.36)\n",
60
- "Requirement already satisfied: pygments>=2.4.0 in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (2.15.1)\n",
61
- "Requirement already satisfied: stack-data in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.2.0)\n",
62
- "Requirement already satisfied: traitlets>=5 in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (5.7.1)\n",
63
- "Requirement already satisfied: pexpect>4.3 in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (4.8.0)\n",
64
- "Requirement already satisfied: appnope in /Applications/anaconda3/lib/python3.11/site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.1.2)\n",
65
- "Requirement already satisfied: ipykernel>=4.5.1 in /Applications/anaconda3/lib/python3.11/site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (6.19.2)\n",
66
- "Requirement already satisfied: widgetsnbextension~=4.0 in /Applications/anaconda3/lib/python3.11/site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (4.0.5)\n",
67
- "Requirement already satisfied: jupyterlab-widgets~=3.0 in /Applications/anaconda3/lib/python3.11/site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (3.0.5)\n",
68
- "Requirement already satisfied: MarkupSafe>=2.0 in /Applications/anaconda3/lib/python3.11/site-packages (from jinja2>=2.10->great_expectations==0.18.12) (2.0.1)\n",
69
- "Requirement already satisfied: jsonpointer>=1.9 in /Applications/anaconda3/lib/python3.11/site-packages (from jsonpatch>=1.22->great_expectations==0.18.12) (2.1)\n",
70
- "Requirement already satisfied: attrs>=17.4.0 in /Applications/anaconda3/lib/python3.11/site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (22.1.0)\n",
71
- "Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /Applications/anaconda3/lib/python3.11/site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (0.18.0)\n",
72
- "Requirement already satisfied: fastjsonschema in /Applications/anaconda3/lib/python3.11/site-packages (from nbformat>=5.0->great_expectations==0.18.12) (2.16.2)\n",
73
- "Requirement already satisfied: jupyter-core in /Applications/anaconda3/lib/python3.11/site-packages (from nbformat>=5.0->great_expectations==0.18.12) (5.3.0)\n",
74
- "Requirement already satisfied: tornado>=6.1 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (6.3.2)\n",
75
- "Requirement already satisfied: pyzmq>=17 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (23.2.0)\n",
76
- "Requirement already satisfied: argon2-cffi in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (21.3.0)\n",
77
- "Requirement already satisfied: jupyter-client>=5.3.4 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (7.4.9)\n",
78
- "Requirement already satisfied: ipython-genutils in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (0.2.0)\n",
79
- "Requirement already satisfied: nbconvert>=5 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (6.5.4)\n",
80
- "Requirement already satisfied: nest-asyncio>=1.5 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (1.5.6)\n",
81
- "Requirement already satisfied: Send2Trash>=1.8.0 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (1.8.0)\n",
82
- "Requirement already satisfied: terminado>=0.8.3 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (0.17.1)\n",
83
- "Requirement already satisfied: prometheus-client in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (0.14.1)\n",
84
- "Requirement already satisfied: nbclassic>=0.4.7 in /Applications/anaconda3/lib/python3.11/site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (0.5.5)\n",
85
- "Requirement already satisfied: annotated-types>=0.4.0 in /Applications/anaconda3/lib/python3.11/site-packages (from pydantic>=1.9.2->great_expectations==0.18.12) (0.6.0)\n",
86
- "Requirement already satisfied: pydantic-core==2.16.3 in /Applications/anaconda3/lib/python3.11/site-packages (from pydantic>=1.9.2->great_expectations==0.18.12) (2.16.3)\n",
87
- "Requirement already satisfied: six>=1.5 in /Applications/anaconda3/lib/python3.11/site-packages (from python-dateutil>=2.8.1->great_expectations==0.18.12) (1.16.0)\n",
88
- "Requirement already satisfied: charset-normalizer<4,>=2 in /Applications/anaconda3/lib/python3.11/site-packages (from requests>=2.20->great_expectations==0.18.12) (2.0.4)\n",
89
- "Requirement already satisfied: idna<4,>=2.5 in /Applications/anaconda3/lib/python3.11/site-packages (from requests>=2.20->great_expectations==0.18.12) (3.4)\n",
90
- "Requirement already satisfied: certifi>=2017.4.17 in /Applications/anaconda3/lib/python3.11/site-packages (from requests>=2.20->great_expectations==0.18.12) (2023.7.22)\n",
91
- "Requirement already satisfied: pycparser in /Applications/anaconda3/lib/python3.11/site-packages (from cffi>=1.12->cryptography>=3.2->great_expectations==0.18.12) (2.21)\n",
92
- "Requirement already satisfied: comm>=0.1.1 in /Applications/anaconda3/lib/python3.11/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.5.1->great_expectations==0.18.12) (0.1.2)\n",
93
- "Requirement already satisfied: debugpy>=1.0 in /Applications/anaconda3/lib/python3.11/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.5.1->great_expectations==0.18.12) (1.6.7)\n",
94
- "Requirement already satisfied: psutil in /Applications/anaconda3/lib/python3.11/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.5.1->great_expectations==0.18.12) (5.9.0)\n",
95
- "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /Applications/anaconda3/lib/python3.11/site-packages (from jedi>=0.16->Ipython>=7.16.3->great_expectations==0.18.12) (0.8.3)\n",
96
- "Requirement already satisfied: platformdirs>=2.5 in /Applications/anaconda3/lib/python3.11/site-packages (from jupyter-core->nbformat>=5.0->great_expectations==0.18.12) (2.5.2)\n",
97
- "Requirement already satisfied: jupyter-server>=1.8 in /Applications/anaconda3/lib/python3.11/site-packages (from nbclassic>=0.4.7->notebook>=6.4.10->great_expectations==0.18.12) (1.23.4)\n",
98
- "Requirement already satisfied: notebook-shim>=0.1.0 in /Applications/anaconda3/lib/python3.11/site-packages (from nbclassic>=0.4.7->notebook>=6.4.10->great_expectations==0.18.12) (0.2.2)\n",
99
- "Requirement already satisfied: lxml in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (4.9.2)\n",
100
- "Requirement already satisfied: beautifulsoup4 in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (4.12.2)\n",
101
- "Requirement already satisfied: bleach in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (4.1.0)\n",
102
- "Requirement already satisfied: defusedxml in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (0.7.1)\n",
103
- "Requirement already satisfied: jupyterlab-pygments in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (0.1.2)\n",
104
- "Requirement already satisfied: nbclient>=0.5.0 in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (0.5.13)\n",
105
- "Requirement already satisfied: pandocfilters>=1.4.1 in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (1.5.0)\n",
106
- "Requirement already satisfied: tinycss2 in /Applications/anaconda3/lib/python3.11/site-packages (from nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (1.2.1)\n",
107
- "Requirement already satisfied: ptyprocess>=0.5 in /Applications/anaconda3/lib/python3.11/site-packages (from pexpect>4.3->Ipython>=7.16.3->great_expectations==0.18.12) (0.7.0)\n",
108
- "Requirement already satisfied: wcwidth in /Applications/anaconda3/lib/python3.11/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->Ipython>=7.16.3->great_expectations==0.18.12) (0.2.5)\n",
109
- "Requirement already satisfied: argon2-cffi-bindings in /Applications/anaconda3/lib/python3.11/site-packages (from argon2-cffi->notebook>=6.4.10->great_expectations==0.18.12) (21.2.0)\n",
110
- "Requirement already satisfied: executing in /Applications/anaconda3/lib/python3.11/site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (0.8.3)\n",
111
- "Requirement already satisfied: asttokens in /Applications/anaconda3/lib/python3.11/site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (2.0.5)\n",
112
- "Requirement already satisfied: pure-eval in /Applications/anaconda3/lib/python3.11/site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (0.2.2)\n",
113
- "Requirement already satisfied: anyio<4,>=3.1.0 in /Applications/anaconda3/lib/python3.11/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook>=6.4.10->great_expectations==0.18.12) (3.7.1)\n",
114
- "Requirement already satisfied: websocket-client in /Applications/anaconda3/lib/python3.11/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook>=6.4.10->great_expectations==0.18.12) (1.7.0)\n",
115
- "Requirement already satisfied: soupsieve>1.2 in /Applications/anaconda3/lib/python3.11/site-packages (from beautifulsoup4->nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (2.4)\n",
116
- "Requirement already satisfied: webencodings in /Applications/anaconda3/lib/python3.11/site-packages (from bleach->nbconvert>=5->notebook>=6.4.10->great_expectations==0.18.12) (0.5.1)\n",
117
- "Requirement already satisfied: sniffio>=1.1 in /Applications/anaconda3/lib/python3.11/site-packages (from anyio<4,>=3.1.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook>=6.4.10->great_expectations==0.18.12) (1.2.0)\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  ]
119
  }
120
  ],
@@ -124,7 +143,7 @@
124
  },
125
  {
126
  "cell_type": "code",
127
- "execution_count": 26,
128
  "metadata": {},
129
  "outputs": [],
130
  "source": [
@@ -145,7 +164,76 @@
145
  },
146
  {
147
  "cell_type": "code",
148
- "execution_count": 27,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  "metadata": {},
150
  "outputs": [],
151
  "source": [
@@ -165,7 +253,7 @@
165
  },
166
  {
167
  "cell_type": "code",
168
- "execution_count": 28,
169
  "metadata": {},
170
  "outputs": [],
171
  "source": [
@@ -174,7 +262,7 @@
174
  },
175
  {
176
  "cell_type": "code",
177
- "execution_count": 29,
178
  "metadata": {},
179
  "outputs": [],
180
  "source": [
@@ -183,7 +271,7 @@
183
  },
184
  {
185
  "cell_type": "code",
186
- "execution_count": 30,
187
  "metadata": {},
188
  "outputs": [],
189
  "source": [
@@ -198,7 +286,7 @@
198
  },
199
  {
200
  "cell_type": "code",
201
- "execution_count": 31,
202
  "metadata": {},
203
  "outputs": [
204
  {
@@ -223,17 +311,16 @@
223
  },
224
  {
225
  "cell_type": "code",
226
- "execution_count": 32,
227
  "metadata": {},
228
  "outputs": [
229
  {
230
  "name": "stdout",
231
  "output_type": "stream",
232
  "text": [
233
- "Connection closed.\n",
234
  "Connected. Call `.close()` to terminate connection gracefully.\n",
235
  "\n",
236
- "Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/549016\n",
237
  "Connected. Call `.close()` to terminate connection gracefully.\n"
238
  ]
239
  }
@@ -246,7 +333,7 @@
246
  },
247
  {
248
  "cell_type": "code",
249
- "execution_count": 33,
250
  "metadata": {},
251
  "outputs": [],
252
  "source": [
@@ -255,7 +342,7 @@
255
  },
256
  {
257
  "cell_type": "code",
258
- "execution_count": 34,
259
  "metadata": {},
260
  "outputs": [],
261
  "source": [
@@ -267,7 +354,7 @@
267
  },
268
  {
269
  "cell_type": "code",
270
- "execution_count": 35,
271
  "metadata": {},
272
  "outputs": [
273
  {
@@ -433,7 +520,7 @@
433
  "[3486 rows x 7 columns]"
434
  ]
435
  },
436
- "execution_count": 35,
437
  "metadata": {},
438
  "output_type": "execute_result"
439
  }
@@ -444,7 +531,7 @@
444
  },
445
  {
446
  "cell_type": "code",
447
- "execution_count": 36,
448
  "metadata": {},
449
  "outputs": [],
450
  "source": [
@@ -454,7 +541,7 @@
454
  },
455
  {
456
  "cell_type": "code",
457
- "execution_count": 37,
458
  "metadata": {},
459
  "outputs": [
460
  {
@@ -471,7 +558,7 @@
471
  },
472
  {
473
  "cell_type": "code",
474
- "execution_count": 38,
475
  "metadata": {},
476
  "outputs": [],
477
  "source": [
@@ -484,14 +571,14 @@
484
  },
485
  {
486
  "cell_type": "code",
487
- "execution_count": 39,
488
  "metadata": {},
489
  "outputs": [
490
  {
491
  "name": "stdout",
492
  "output_type": "stream",
493
  "text": [
494
- "2024-05-06 11:35:29,224 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
495
  "\n"
496
  ]
497
  }
@@ -510,7 +597,7 @@
510
  },
511
  {
512
  "cell_type": "code",
513
- "execution_count": 40,
514
  "metadata": {},
515
  "outputs": [
516
  {
@@ -518,13 +605,13 @@
518
  "output_type": "stream",
519
  "text": [
520
  "Feature Group created successfully, explore it at \n",
521
- "https://c.app.hopsworks.ai:443/p/549016/fs/544838/fg/787790\n"
522
  ]
523
  },
524
  {
525
  "data": {
526
  "application/vnd.jupyter.widget-view+json": {
527
- "model_id": "52bb5493d0dd4abebd6f8b5781a2727c",
528
  "version_major": 2,
529
  "version_minor": 0
530
  },
@@ -541,16 +628,16 @@
541
  "text": [
542
  "Launching job: tesla_stock_1_offline_fg_materialization\n",
543
  "Job started successfully, you can follow the progress at \n",
544
- "https://c.app.hopsworks.ai/p/549016/jobs/named/tesla_stock_1_offline_fg_materialization/executions\n"
545
  ]
546
  },
547
  {
548
  "data": {
549
  "text/plain": [
550
- "(<hsfs.core.job.Job at 0x304ac0c90>, None)"
551
  ]
552
  },
553
- "execution_count": 40,
554
  "metadata": {},
555
  "output_type": "execute_result"
556
  }
@@ -561,7 +648,7 @@
561
  },
562
  {
563
  "cell_type": "code",
564
- "execution_count": 41,
565
  "metadata": {},
566
  "outputs": [],
567
  "source": [
@@ -570,7 +657,7 @@
570
  },
571
  {
572
  "cell_type": "code",
573
- "execution_count": 42,
574
  "metadata": {},
575
  "outputs": [],
576
  "source": [
@@ -579,7 +666,7 @@
579
  },
580
  {
581
  "cell_type": "code",
582
- "execution_count": 43,
583
  "metadata": {},
584
  "outputs": [],
585
  "source": [
@@ -588,14 +675,14 @@
588
  },
589
  {
590
  "cell_type": "code",
591
- "execution_count": 44,
592
  "metadata": {},
593
  "outputs": [
594
  {
595
  "name": "stdout",
596
  "output_type": "stream",
597
  "text": [
598
- "2024-05-06 11:35:39,174 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
599
  "\n"
600
  ]
601
  }
@@ -613,7 +700,7 @@
613
  },
614
  {
615
  "cell_type": "code",
616
- "execution_count": 45,
617
  "metadata": {},
618
  "outputs": [
619
  {
@@ -621,13 +708,13 @@
621
  "output_type": "stream",
622
  "text": [
623
  "Feature Group created successfully, explore it at \n",
624
- "https://c.app.hopsworks.ai:443/p/549016/fs/544838/fg/785773\n"
625
  ]
626
  },
627
  {
628
  "data": {
629
  "application/vnd.jupyter.widget-view+json": {
630
- "model_id": "150c7a2bb8aa49b3a9e2445b1374955e",
631
  "version_major": 2,
632
  "version_minor": 0
633
  },
@@ -644,16 +731,16 @@
644
  "text": [
645
  "Launching job: news_sentiment_updated_1_offline_fg_materialization\n",
646
  "Job started successfully, you can follow the progress at \n",
647
- "https://c.app.hopsworks.ai/p/549016/jobs/named/news_sentiment_updated_1_offline_fg_materialization/executions\n"
648
  ]
649
  },
650
  {
651
  "data": {
652
  "text/plain": [
653
- "(<hsfs.core.job.Job at 0x17bc96990>, None)"
654
  ]
655
  },
656
- "execution_count": 45,
657
  "metadata": {},
658
  "output_type": "execute_result"
659
  }
@@ -679,7 +766,7 @@
679
  "name": "python",
680
  "nbconvert_exporter": "python",
681
  "pygments_lexer": "ipython3",
682
- "version": "3.11.4"
683
  },
684
  "orig_nbformat": 4
685
  },
 
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
+ "execution_count": 1,
6
  "metadata": {},
7
  "outputs": [],
8
  "source": [
 
12
  },
13
  {
14
  "cell_type": "code",
15
+ "execution_count": 2,
16
  "metadata": {},
17
  "outputs": [
18
  {
19
  "name": "stdout",
20
  "output_type": "stream",
21
  "text": [
22
+ "Requirement already satisfied: great_expectations==0.18.12 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (0.18.12)\n",
23
+ "Requirement already satisfied: altair<5.0.0,>=4.2.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.2.2)\n",
24
+ "Requirement already satisfied: Click>=7.1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (8.1.7)\n",
25
+ "Requirement already satisfied: colorama>=0.4.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (0.4.6)\n",
26
+ "Requirement already satisfied: cryptography>=3.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (42.0.6)\n",
27
+ "Requirement already satisfied: Ipython>=7.16.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (8.22.2)\n",
28
+ "Requirement already satisfied: ipywidgets>=7.5.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (8.1.2)\n",
29
+ "Requirement already satisfied: jinja2>=2.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.1.3)\n",
30
+ "Requirement already satisfied: jsonpatch>=1.22 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.33)\n",
31
+ "Requirement already satisfied: jsonschema>=2.5.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.22.0)\n",
32
+ "Requirement already satisfied: makefun<2,>=1.7.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.15.2)\n",
33
+ "Requirement already satisfied: marshmallow<4.0.0,>=3.7.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.21.2)\n",
34
+ "Requirement already satisfied: mistune>=0.8.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.0.2)\n",
35
+ "Requirement already satisfied: nbformat>=5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (5.10.4)\n",
36
+ "Requirement already satisfied: notebook>=6.4.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (7.1.3)\n",
37
+ "Requirement already satisfied: packaging in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (24.0)\n",
38
+ "Requirement already satisfied: pydantic>=1.9.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.7.1)\n",
39
+ "Requirement already satisfied: pyparsing>=2.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (3.1.2)\n",
40
+ "Requirement already satisfied: python-dateutil>=2.8.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.9.0)\n",
41
+ "Requirement already satisfied: pytz>=2021.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2024.1)\n",
42
+ "Requirement already satisfied: requests>=2.20 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.31.0)\n",
43
+ "Requirement already satisfied: ruamel.yaml<0.17.18,>=0.16 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (0.17.17)\n",
44
+ "Requirement already satisfied: scipy>=1.6.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.13.0)\n",
45
+ "Requirement already satisfied: tqdm>=4.59.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.66.4)\n",
46
+ "Requirement already satisfied: typing-extensions>=3.10.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (4.11.0)\n",
47
+ "Requirement already satisfied: tzlocal>=1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (5.2)\n",
48
+ "Requirement already satisfied: urllib3>=1.26 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (2.2.1)\n",
49
+ "Requirement already satisfied: numpy<2.0.0,>=1.22.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.26.4)\n",
50
+ "Requirement already satisfied: pandas>=1.3.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from great_expectations==0.18.12) (1.5.1)\n",
51
+ "Requirement already satisfied: entrypoints in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from altair<5.0.0,>=4.2.1->great_expectations==0.18.12) (0.4)\n",
52
+ "Requirement already satisfied: toolz in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from altair<5.0.0,>=4.2.1->great_expectations==0.18.12) (0.12.1)\n",
53
+ "Requirement already satisfied: cffi>=1.12 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from cryptography>=3.2->great_expectations==0.18.12) (1.16.0)\n",
54
+ "Requirement already satisfied: decorator in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (5.1.1)\n",
55
+ "Requirement already satisfied: jedi>=0.16 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.19.1)\n",
56
+ "Requirement already satisfied: matplotlib-inline in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.1.7)\n",
57
+ "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (3.0.42)\n",
58
+ "Requirement already satisfied: pygments>=2.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (2.17.2)\n",
59
+ "Requirement already satisfied: stack-data in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (0.6.2)\n",
60
+ "Requirement already satisfied: traitlets>=5.13.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from Ipython>=7.16.3->great_expectations==0.18.12) (5.14.3)\n",
61
+ "Requirement already satisfied: comm>=0.1.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (0.2.2)\n",
62
+ "Requirement already satisfied: widgetsnbextension~=4.0.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (4.0.10)\n",
63
+ "Requirement already satisfied: jupyterlab-widgets~=3.0.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipywidgets>=7.5.1->great_expectations==0.18.12) (3.0.10)\n",
64
+ "Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jinja2>=2.10->great_expectations==0.18.12) (2.1.5)\n",
65
+ "Requirement already satisfied: jsonpointer>=1.9 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonpatch>=1.22->great_expectations==0.18.12) (2.4)\n",
66
+ "Requirement already satisfied: attrs>=22.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (23.2.0)\n",
67
+ "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (2023.12.1)\n",
68
+ "Requirement already satisfied: referencing>=0.28.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (0.35.1)\n",
69
+ "Requirement already satisfied: rpds-py>=0.7.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema>=2.5.1->great_expectations==0.18.12) (0.18.0)\n",
70
+ "Requirement already satisfied: fastjsonschema>=2.15 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbformat>=5.0->great_expectations==0.18.12) (2.19.1)\n",
71
+ "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbformat>=5.0->great_expectations==0.18.12) (5.7.2)\n",
72
+ "Requirement already satisfied: jupyter-server<3,>=2.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (2.14.0)\n",
73
+ "Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (2.27.1)\n",
74
+ "Requirement already satisfied: jupyterlab<4.2,>=4.1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (4.1.8)\n",
75
+ "Requirement already satisfied: notebook-shim<0.3,>=0.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (0.2.4)\n",
76
+ "Requirement already satisfied: tornado>=6.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from notebook>=6.4.10->great_expectations==0.18.12) (6.3.3)\n",
77
+ "Requirement already satisfied: annotated-types>=0.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic>=1.9.2->great_expectations==0.18.12) (0.6.0)\n",
78
+ "Requirement already satisfied: pydantic-core==2.18.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic>=1.9.2->great_expectations==0.18.12) (2.18.2)\n",
79
+ "Requirement already satisfied: six>=1.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from python-dateutil>=2.8.1->great_expectations==0.18.12) (1.16.0)\n",
80
+ "Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from requests>=2.20->great_expectations==0.18.12) (3.3.2)\n",
81
+ "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from requests>=2.20->great_expectations==0.18.12) (3.7)\n",
82
+ "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from requests>=2.20->great_expectations==0.18.12) (2024.2.2)\n",
83
+ "Requirement already satisfied: tzdata in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from tzlocal>=1.2->great_expectations==0.18.12) (2024.1)\n",
84
+ "Requirement already satisfied: pycparser in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from cffi>=1.12->cryptography>=3.2->great_expectations==0.18.12) (2.22)\n",
85
+ "Requirement already satisfied: parso<0.9.0,>=0.8.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jedi>=0.16->Ipython>=7.16.3->great_expectations==0.18.12) (0.8.4)\n",
86
+ "Requirement already satisfied: platformdirs>=2.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=5.0->great_expectations==0.18.12) (4.2.1)\n",
87
+ "Requirement already satisfied: pywin32>=300 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=5.0->great_expectations==0.18.12) (305.1)\n",
88
+ "Requirement already satisfied: anyio>=3.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (4.3.0)\n",
89
+ "Requirement already satisfied: argon2-cffi>=21.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (23.1.0)\n",
90
+ "Requirement already satisfied: jupyter-client>=7.4.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (8.6.1)\n",
91
+ "Requirement already satisfied: jupyter-events>=0.9.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.10.0)\n",
92
+ "Requirement already satisfied: jupyter-server-terminals>=0.4.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.5.3)\n",
93
+ "Requirement already satisfied: nbconvert>=6.4.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (7.16.4)\n",
94
+ "Requirement already satisfied: overrides>=5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (7.7.0)\n",
95
+ "Requirement already satisfied: prometheus-client>=0.9 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.20.0)\n",
96
+ "Requirement already satisfied: pywinpty>=2.0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.0.13)\n",
97
+ "Requirement already satisfied: pyzmq>=24 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (25.1.2)\n",
98
+ "Requirement already satisfied: send2trash>=1.8.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.8.3)\n",
99
+ "Requirement already satisfied: terminado>=0.8.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.18.1)\n",
100
+ "Requirement already satisfied: websocket-client>=1.7 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.8.0)\n",
101
+ "Requirement already satisfied: async-lru>=1.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (2.0.4)\n",
102
+ "Requirement already satisfied: httpx>=0.25.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (0.27.0)\n",
103
+ "Requirement already satisfied: ipykernel>=6.5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (6.29.3)\n",
104
+ "Requirement already satisfied: jupyter-lsp>=2.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (2.2.5)\n",
105
+ "Requirement already satisfied: babel>=2.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=6.4.10->great_expectations==0.18.12) (2.14.0)\n",
106
+ "Requirement already satisfied: json5>=0.9.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=6.4.10->great_expectations==0.18.12) (0.9.25)\n",
107
+ "Requirement already satisfied: wcwidth in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from prompt-toolkit<3.1.0,>=3.0.41->Ipython>=7.16.3->great_expectations==0.18.12) (0.2.13)\n",
108
+ "Requirement already satisfied: executing>=1.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (2.0.1)\n",
109
+ "Requirement already satisfied: asttokens>=2.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (2.4.1)\n",
110
+ "Requirement already satisfied: pure-eval in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from stack-data->Ipython>=7.16.3->great_expectations==0.18.12) (0.2.2)\n",
111
+ "Requirement already satisfied: sniffio>=1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.1)\n",
112
+ "Requirement already satisfied: argon2-cffi-bindings in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (21.2.0)\n",
113
+ "Requirement already satisfied: httpcore==1.* in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (1.0.5)\n",
114
+ "Requirement already satisfied: h11<0.15,>=0.13 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpcore==1.*->httpx>=0.25.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (0.14.0)\n",
115
+ "Requirement already satisfied: debugpy>=1.6.5 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipykernel>=6.5.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (1.6.7)\n",
116
+ "Requirement already satisfied: nest-asyncio in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipykernel>=6.5.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (1.6.0)\n",
117
+ "Requirement already satisfied: psutil in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from ipykernel>=6.5.0->jupyterlab<4.2,>=4.1.1->notebook>=6.4.10->great_expectations==0.18.12) (5.9.0)\n",
118
+ "Requirement already satisfied: python-json-logger>=2.0.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.0.7)\n",
119
+ "Requirement already satisfied: pyyaml>=5.3 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (6.0.1)\n",
120
+ "Requirement already satisfied: rfc3339-validator in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.1.4)\n",
121
+ "Requirement already satisfied: rfc3986-validator>=0.1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.1.1)\n",
122
+ "Requirement already satisfied: beautifulsoup4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (4.12.3)\n",
123
+ "Requirement already satisfied: bleach!=5.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (6.1.0)\n",
124
+ "Requirement already satisfied: defusedxml in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.7.1)\n",
125
+ "Requirement already satisfied: jupyterlab-pygments in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.3.0)\n",
126
+ "Requirement already satisfied: nbclient>=0.5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.10.0)\n",
127
+ "Requirement already satisfied: pandocfilters>=1.4.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.5.1)\n",
128
+ "Requirement already satisfied: tinycss2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.0)\n",
129
+ "Requirement already satisfied: webencodings in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (0.5.1)\n",
130
+ "Requirement already satisfied: fqdn in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.5.1)\n",
131
+ "Requirement already satisfied: isoduration in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (20.11.0)\n",
132
+ "Requirement already satisfied: uri-template in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.0)\n",
133
+ "Requirement already satisfied: webcolors>=1.11 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.13)\n",
134
+ "Requirement already satisfied: soupsieve>1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.5)\n",
135
+ "Requirement already satisfied: arrow>=0.15.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (1.3.0)\n",
136
+ "Requirement already satisfied: types-python-dateutil>=2.8.10 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=6.4.10->great_expectations==0.18.12) (2.9.0.20240316)\n"
137
  ]
138
  }
139
  ],
 
143
  },
144
  {
145
  "cell_type": "code",
146
+ "execution_count": 3,
147
  "metadata": {},
148
  "outputs": [],
149
  "source": [
 
164
  },
165
  {
166
  "cell_type": "code",
167
+ "execution_count": 4,
168
+ "metadata": {},
169
+ "outputs": [
170
+ {
171
+ "name": "stdout",
172
+ "output_type": "stream",
173
+ "text": [
174
+ "Requirement already satisfied: modal in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (0.62.141)\n",
175
+ "Requirement already satisfied: aiohttp in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (3.9.5)\n",
176
+ "Requirement already satisfied: aiostream~=0.5.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.5.2)\n",
177
+ "Requirement already satisfied: certifi in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (2024.2.2)\n",
178
+ "Requirement already satisfied: click>=8.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (8.1.7)\n",
179
+ "Requirement already satisfied: fastapi in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.111.0)\n",
180
+ "Requirement already satisfied: grpclib==0.4.7 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.4.7)\n",
181
+ "Requirement already satisfied: protobuf!=4.24.0,<5.0,>=3.19 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (4.25.3)\n",
182
+ "Requirement already satisfied: rich>=12.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (13.7.1)\n",
183
+ "Requirement already satisfied: synchronicity~=0.6.6 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.6.7)\n",
184
+ "Requirement already satisfied: toml in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.10.2)\n",
185
+ "Requirement already satisfied: typer>=0.9 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.12.3)\n",
186
+ "Requirement already satisfied: types-certifi in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (2021.10.8.3)\n",
187
+ "Requirement already satisfied: types-toml in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.10.8.20240310)\n",
188
+ "Requirement already satisfied: watchfiles in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (0.21.0)\n",
189
+ "Requirement already satisfied: typing-extensions~=4.6 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from modal) (4.11.0)\n",
190
+ "Requirement already satisfied: h2<5,>=3.1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from grpclib==0.4.7->modal) (4.1.0)\n",
191
+ "Requirement already satisfied: multidict in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from grpclib==0.4.7->modal) (6.0.5)\n",
192
+ "Requirement already satisfied: colorama in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from click>=8.1.0->modal) (0.4.6)\n",
193
+ "Requirement already satisfied: markdown-it-py>=2.2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from rich>=12.0.0->modal) (3.0.0)\n",
194
+ "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from rich>=12.0.0->modal) (2.17.2)\n",
195
+ "Requirement already satisfied: sigtools==4.0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from synchronicity~=0.6.6->modal) (4.0.1)\n",
196
+ "Requirement already satisfied: attrs in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from sigtools==4.0.1->synchronicity~=0.6.6->modal) (23.2.0)\n",
197
+ "Requirement already satisfied: shellingham>=1.3.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from typer>=0.9->modal) (1.5.4)\n",
198
+ "Requirement already satisfied: aiosignal>=1.1.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from aiohttp->modal) (1.3.1)\n",
199
+ "Requirement already satisfied: frozenlist>=1.1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from aiohttp->modal) (1.4.1)\n",
200
+ "Requirement already satisfied: yarl<2.0,>=1.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from aiohttp->modal) (1.9.4)\n",
201
+ "Requirement already satisfied: starlette<0.38.0,>=0.37.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.37.2)\n",
202
+ "Requirement already satisfied: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (2.7.1)\n",
203
+ "Requirement already satisfied: fastapi-cli>=0.0.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.0.2)\n",
204
+ "Requirement already satisfied: httpx>=0.23.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.27.0)\n",
205
+ "Requirement already satisfied: jinja2>=2.11.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (3.1.3)\n",
206
+ "Requirement already satisfied: python-multipart>=0.0.7 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (0.0.9)\n",
207
+ "Requirement already satisfied: ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (5.9.0)\n",
208
+ "Requirement already satisfied: orjson>=3.2.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (3.10.3)\n",
209
+ "Requirement already satisfied: email_validator>=2.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from fastapi->modal) (2.1.1)\n",
210
+ "Requirement already satisfied: uvicorn>=0.12.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (0.29.0)\n",
211
+ "Requirement already satisfied: anyio>=3.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from watchfiles->modal) (4.3.0)\n",
212
+ "Requirement already satisfied: idna>=2.8 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from anyio>=3.0.0->watchfiles->modal) (3.7)\n",
213
+ "Requirement already satisfied: sniffio>=1.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from anyio>=3.0.0->watchfiles->modal) (1.3.1)\n",
214
+ "Requirement already satisfied: dnspython>=2.0.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from email_validator>=2.0.0->fastapi->modal) (2.6.1)\n",
215
+ "Requirement already satisfied: hyperframe<7,>=6.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from h2<5,>=3.1.0->grpclib==0.4.7->modal) (6.0.1)\n",
216
+ "Requirement already satisfied: hpack<5,>=4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from h2<5,>=3.1.0->grpclib==0.4.7->modal) (4.0.0)\n",
217
+ "Requirement already satisfied: httpcore==1.* in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpx>=0.23.0->fastapi->modal) (1.0.5)\n",
218
+ "Requirement already satisfied: h11<0.15,>=0.13 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from httpcore==1.*->httpx>=0.23.0->fastapi->modal) (0.14.0)\n",
219
+ "Requirement already satisfied: MarkupSafe>=2.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from jinja2>=2.11.2->fastapi->modal) (2.1.5)\n",
220
+ "Requirement already satisfied: mdurl~=0.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from markdown-it-py>=2.2.0->rich>=12.0.0->modal) (0.1.2)\n",
221
+ "Requirement already satisfied: annotated-types>=0.4.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->modal) (0.6.0)\n",
222
+ "Requirement already satisfied: pydantic-core==2.18.2 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->modal) (2.18.2)\n",
223
+ "Requirement already satisfied: httptools>=0.5.0 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (0.6.1)\n",
224
+ "Requirement already satisfied: python-dotenv>=0.13 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (1.0.1)\n",
225
+ "Requirement already satisfied: pyyaml>=5.1 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (6.0.1)\n",
226
+ "Requirement already satisfied: websockets>=10.4 in c:\\users\\frede\\onedrive\\dokumenter\\master\\mlops\\mlops_mod-2\\.conda\\lib\\site-packages (from uvicorn[standard]>=0.12.0->fastapi->modal) (12.0)\n"
227
+ ]
228
+ }
229
+ ],
230
+ "source": [
231
+ "!pip install modal"
232
+ ]
233
+ },
234
+ {
235
+ "cell_type": "code",
236
+ "execution_count": 5,
237
  "metadata": {},
238
  "outputs": [],
239
  "source": [
 
253
  },
254
  {
255
  "cell_type": "code",
256
+ "execution_count": 6,
257
  "metadata": {},
258
  "outputs": [],
259
  "source": [
 
262
  },
263
  {
264
  "cell_type": "code",
265
+ "execution_count": 7,
266
  "metadata": {},
267
  "outputs": [],
268
  "source": [
 
271
  },
272
  {
273
  "cell_type": "code",
274
+ "execution_count": 8,
275
  "metadata": {},
276
  "outputs": [],
277
  "source": [
 
286
  },
287
  {
288
  "cell_type": "code",
289
+ "execution_count": 9,
290
  "metadata": {},
291
  "outputs": [
292
  {
 
311
  },
312
  {
313
  "cell_type": "code",
314
+ "execution_count": 10,
315
  "metadata": {},
316
  "outputs": [
317
  {
318
  "name": "stdout",
319
  "output_type": "stream",
320
  "text": [
 
321
  "Connected. Call `.close()` to terminate connection gracefully.\n",
322
  "\n",
323
+ "Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/693399\n",
324
  "Connected. Call `.close()` to terminate connection gracefully.\n"
325
  ]
326
  }
 
333
  },
334
  {
335
  "cell_type": "code",
336
+ "execution_count": 11,
337
  "metadata": {},
338
  "outputs": [],
339
  "source": [
 
342
  },
343
  {
344
  "cell_type": "code",
345
+ "execution_count": 12,
346
  "metadata": {},
347
  "outputs": [],
348
  "source": [
 
354
  },
355
  {
356
  "cell_type": "code",
357
+ "execution_count": 13,
358
  "metadata": {},
359
  "outputs": [
360
  {
 
520
  "[3486 rows x 7 columns]"
521
  ]
522
  },
523
+ "execution_count": 13,
524
  "metadata": {},
525
  "output_type": "execute_result"
526
  }
 
531
  },
532
  {
533
  "cell_type": "code",
534
+ "execution_count": 14,
535
  "metadata": {},
536
  "outputs": [],
537
  "source": [
 
541
  },
542
  {
543
  "cell_type": "code",
544
+ "execution_count": 15,
545
  "metadata": {},
546
  "outputs": [
547
  {
 
558
  },
559
  {
560
  "cell_type": "code",
561
+ "execution_count": 16,
562
  "metadata": {},
563
  "outputs": [],
564
  "source": [
 
571
  },
572
  {
573
  "cell_type": "code",
574
+ "execution_count": 17,
575
  "metadata": {},
576
  "outputs": [
577
  {
578
  "name": "stdout",
579
  "output_type": "stream",
580
  "text": [
581
+ "2024-05-06 13:43:00,985 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
582
  "\n"
583
  ]
584
  }
 
597
  },
598
  {
599
  "cell_type": "code",
600
+ "execution_count": 18,
601
  "metadata": {},
602
  "outputs": [
603
  {
 
605
  "output_type": "stream",
606
  "text": [
607
  "Feature Group created successfully, explore it at \n",
608
+ "https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/786781\n"
609
  ]
610
  },
611
  {
612
  "data": {
613
  "application/vnd.jupyter.widget-view+json": {
614
+ "model_id": "b3248b9d522a467db9ce202ef5815fe9",
615
  "version_major": 2,
616
  "version_minor": 0
617
  },
 
628
  "text": [
629
  "Launching job: tesla_stock_1_offline_fg_materialization\n",
630
  "Job started successfully, you can follow the progress at \n",
631
+ "https://c.app.hopsworks.ai/p/693399/jobs/named/tesla_stock_1_offline_fg_materialization/executions\n"
632
  ]
633
  },
634
  {
635
  "data": {
636
  "text/plain": [
637
+ "(<hsfs.core.job.Job at 0x19cffe27490>, None)"
638
  ]
639
  },
640
+ "execution_count": 18,
641
  "metadata": {},
642
  "output_type": "execute_result"
643
  }
 
648
  },
649
  {
650
  "cell_type": "code",
651
+ "execution_count": 19,
652
  "metadata": {},
653
  "outputs": [],
654
  "source": [
 
657
  },
658
  {
659
  "cell_type": "code",
660
+ "execution_count": 20,
661
  "metadata": {},
662
  "outputs": [],
663
  "source": [
 
666
  },
667
  {
668
  "cell_type": "code",
669
+ "execution_count": 21,
670
  "metadata": {},
671
  "outputs": [],
672
  "source": [
 
675
  },
676
  {
677
  "cell_type": "code",
678
+ "execution_count": 22,
679
  "metadata": {},
680
  "outputs": [
681
  {
682
  "name": "stdout",
683
  "output_type": "stream",
684
  "text": [
685
+ "2024-05-06 13:43:12,343 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
686
  "\n"
687
  ]
688
  }
 
700
  },
701
  {
702
  "cell_type": "code",
703
+ "execution_count": 23,
704
  "metadata": {},
705
  "outputs": [
706
  {
 
708
  "output_type": "stream",
709
  "text": [
710
  "Feature Group created successfully, explore it at \n",
711
+ "https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/787796\n"
712
  ]
713
  },
714
  {
715
  "data": {
716
  "application/vnd.jupyter.widget-view+json": {
717
+ "model_id": "524bb5481c34441ba708a4c14edac44b",
718
  "version_major": 2,
719
  "version_minor": 0
720
  },
 
731
  "text": [
732
  "Launching job: news_sentiment_updated_1_offline_fg_materialization\n",
733
  "Job started successfully, you can follow the progress at \n",
734
+ "https://c.app.hopsworks.ai/p/693399/jobs/named/news_sentiment_updated_1_offline_fg_materialization/executions\n"
735
  ]
736
  },
737
  {
738
  "data": {
739
  "text/plain": [
740
+ "(<hsfs.core.job.Job at 0x19c811c2e90>, None)"
741
  ]
742
  },
743
+ "execution_count": 23,
744
  "metadata": {},
745
  "output_type": "execute_result"
746
  }
 
766
  "name": "python",
767
  "nbconvert_exporter": "python",
768
  "pygments_lexer": "ipython3",
769
+ "version": "3.11.9"
770
  },
771
  "orig_nbformat": 4
772
  },
feature_view_freddie.ipynb → feature_view.ipynb RENAMED
@@ -2,7 +2,7 @@
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
- "execution_count": 16,
6
  "metadata": {},
7
  "outputs": [],
8
  "source": [
@@ -23,9 +23,81 @@
23
  },
24
  {
25
  "cell_type": "code",
26
- "execution_count": 17,
27
  "metadata": {},
28
- "outputs": [],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  "source": [
30
  "from feature_pipeline import tesla_fg\n",
31
  "from feature_pipeline import news_sentiment_fg"
@@ -33,7 +105,7 @@
33
  },
34
  {
35
  "cell_type": "code",
36
- "execution_count": 18,
37
  "metadata": {},
38
  "outputs": [
39
  {
@@ -42,7 +114,7 @@
42
  "True"
43
  ]
44
  },
45
- "execution_count": 18,
46
  "metadata": {},
47
  "output_type": "execute_result"
48
  }
@@ -56,7 +128,7 @@
56
  },
57
  {
58
  "cell_type": "code",
59
- "execution_count": 19,
60
  "metadata": {},
61
  "outputs": [
62
  {
@@ -64,9 +136,15 @@
64
  "output_type": "stream",
65
  "text": [
66
  "Connection closed.\n",
67
- "Connected. Call `.close()` to terminate connection gracefully.\n",
 
 
 
 
 
 
68
  "\n",
69
- "Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/549016\n",
70
  "Connected. Call `.close()` to terminate connection gracefully.\n"
71
  ]
72
  }
@@ -79,7 +157,7 @@
79
  },
80
  {
81
  "cell_type": "code",
82
- "execution_count": 22,
83
  "metadata": {},
84
  "outputs": [],
85
  "source": [
@@ -91,13 +169,13 @@
91
  "\n",
92
  " # Define the query\n",
93
  " ds_query = tesla_fg.select(['date', 'open', 'ticker'])\\\n",
94
- " .join(news_sentiment_fg.select(['date', 'sentiment']))\n",
95
  "\n",
96
  " # Create the feature view\n",
97
  " feature_view = fs.create_feature_view(\n",
98
  " name='tesla_stocks_fv',\n",
99
  " query=ds_query,\n",
100
- " labels=['ticker']\n",
101
  " )\n",
102
  "\n",
103
  " return feature_view, tesla_fg"
@@ -105,7 +183,7 @@
105
  },
106
  {
107
  "cell_type": "code",
108
- "execution_count": 23,
109
  "metadata": {},
110
  "outputs": [
111
  {
@@ -113,7 +191,7 @@
113
  "output_type": "stream",
114
  "text": [
115
  "Feature view created successfully, explore it at \n",
116
- "https://c.app.hopsworks.ai:443/p/549016/fs/544838/fv/tesla_stocks_fv/version/1\n"
117
  ]
118
  }
119
  ],
@@ -127,7 +205,35 @@
127
  },
128
  {
129
  "cell_type": "code",
130
- "execution_count": null,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  "metadata": {},
132
  "outputs": [],
133
  "source": [
@@ -149,7 +255,7 @@
149
  },
150
  {
151
  "cell_type": "code",
152
- "execution_count": null,
153
  "metadata": {},
154
  "outputs": [],
155
  "source": [
 
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
+ "execution_count": 1,
6
  "metadata": {},
7
  "outputs": [],
8
  "source": [
 
23
  },
24
  {
25
  "cell_type": "code",
26
+ "execution_count": 2,
27
  "metadata": {},
28
+ "outputs": [
29
+ {
30
+ "name": "stdout",
31
+ "output_type": "stream",
32
+ "text": [
33
+ " date 1. open 2. high 3. low 4. close 5. volume ticker\n",
34
+ "0 2024-05-03 182.10 184.78 178.4200 181.19 75491539.0 TSLA\n",
35
+ "1 2024-05-02 182.86 184.60 176.0200 180.01 89148041.0 TSLA\n",
36
+ "2 2024-05-01 182.00 185.86 179.0100 179.99 92829719.0 TSLA\n",
37
+ "3 2024-04-30 186.98 190.95 182.8401 183.28 127031787.0 TSLA\n",
38
+ "4 2024-04-29 188.42 198.87 184.5400 194.05 243869678.0 TSLA\n",
39
+ "Connected. Call `.close()` to terminate connection gracefully.\n",
40
+ "\n",
41
+ "Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/693399\n",
42
+ "Connected. Call `.close()` to terminate connection gracefully.\n",
43
+ "Index(['date', 'open', 'high', 'low', 'close', 'volume', 'ticker'], dtype='object')\n",
44
+ "2024-05-06 13:44:59,122 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
45
+ "\n",
46
+ "Feature Group created successfully, explore it at \n",
47
+ "https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/787797\n"
48
+ ]
49
+ },
50
+ {
51
+ "data": {
52
+ "application/vnd.jupyter.widget-view+json": {
53
+ "model_id": "1b857e05ae714fc09a2a7fcd05f56a73",
54
+ "version_major": 2,
55
+ "version_minor": 0
56
+ },
57
+ "text/plain": [
58
+ "Uploading Dataframe: 0.00% | | Rows 0/3486 | Elapsed Time: 00:00 | Remaining Time: ?"
59
+ ]
60
+ },
61
+ "metadata": {},
62
+ "output_type": "display_data"
63
+ },
64
+ {
65
+ "name": "stdout",
66
+ "output_type": "stream",
67
+ "text": [
68
+ "Launching job: tesla_stock_2_offline_fg_materialization\n",
69
+ "Job started successfully, you can follow the progress at \n",
70
+ "https://c.app.hopsworks.ai/p/693399/jobs/named/tesla_stock_2_offline_fg_materialization/executions\n",
71
+ "2024-05-06 13:45:08,516 WARNING: DeprecationWarning: Providing event_time as a single-element list is deprecated and will be dropped in future versions. Provide the feature_name string instead.\n",
72
+ "\n",
73
+ "Feature Group created successfully, explore it at \n",
74
+ "https://c.app.hopsworks.ai:443/p/693399/fs/689222/fg/785786\n"
75
+ ]
76
+ },
77
+ {
78
+ "data": {
79
+ "application/vnd.jupyter.widget-view+json": {
80
+ "model_id": "98e7ee7cb2c943b8893d0ae2a7254104",
81
+ "version_major": 2,
82
+ "version_minor": 0
83
+ },
84
+ "text/plain": [
85
+ "Uploading Dataframe: 0.00% | | Rows 0/66 | Elapsed Time: 00:00 | Remaining Time: ?"
86
+ ]
87
+ },
88
+ "metadata": {},
89
+ "output_type": "display_data"
90
+ },
91
+ {
92
+ "name": "stdout",
93
+ "output_type": "stream",
94
+ "text": [
95
+ "Launching job: news_sentiment_updated_2_offline_fg_materialization\n",
96
+ "Job started successfully, you can follow the progress at \n",
97
+ "https://c.app.hopsworks.ai/p/693399/jobs/named/news_sentiment_updated_2_offline_fg_materialization/executions\n"
98
+ ]
99
+ }
100
+ ],
101
  "source": [
102
  "from feature_pipeline import tesla_fg\n",
103
  "from feature_pipeline import news_sentiment_fg"
 
105
  },
106
  {
107
  "cell_type": "code",
108
+ "execution_count": 3,
109
  "metadata": {},
110
  "outputs": [
111
  {
 
114
  "True"
115
  ]
116
  },
117
+ "execution_count": 3,
118
  "metadata": {},
119
  "output_type": "execute_result"
120
  }
 
128
  },
129
  {
130
  "cell_type": "code",
131
+ "execution_count": 4,
132
  "metadata": {},
133
  "outputs": [
134
  {
 
136
  "output_type": "stream",
137
  "text": [
138
  "Connection closed.\n",
139
+ "Connected. Call `.close()` to terminate connection gracefully.\n"
140
+ ]
141
+ },
142
+ {
143
+ "name": "stdout",
144
+ "output_type": "stream",
145
+ "text": [
146
  "\n",
147
+ "Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/693399\n",
148
  "Connected. Call `.close()` to terminate connection gracefully.\n"
149
  ]
150
  }
 
157
  },
158
  {
159
  "cell_type": "code",
160
+ "execution_count": 9,
161
  "metadata": {},
162
  "outputs": [],
163
  "source": [
 
169
  "\n",
170
  " # Define the query\n",
171
  " ds_query = tesla_fg.select(['date', 'open', 'ticker'])\\\n",
172
+ " .join(news_sentiment_fg.select(['sentiment']))\n",
173
  "\n",
174
  " # Create the feature view\n",
175
  " feature_view = fs.create_feature_view(\n",
176
  " name='tesla_stocks_fv',\n",
177
  " query=ds_query,\n",
178
+ " labels=['open']\n",
179
  " )\n",
180
  "\n",
181
  " return feature_view, tesla_fg"
 
183
  },
184
  {
185
  "cell_type": "code",
186
+ "execution_count": 10,
187
  "metadata": {},
188
  "outputs": [
189
  {
 
191
  "output_type": "stream",
192
  "text": [
193
  "Feature view created successfully, explore it at \n",
194
+ "https://c.app.hopsworks.ai:443/p/693399/fs/689222/fv/tesla_stocks_fv/version/1\n"
195
  ]
196
  }
197
  ],
 
205
  },
206
  {
207
  "cell_type": "code",
208
+ "execution_count": 11,
209
+ "metadata": {},
210
+ "outputs": [],
211
+ "source": [
212
+ "def fix_data_from_feature_view(df,start_date,end_date):\n",
213
+ " df = df.sort_values(\"date\")\n",
214
+ " df = df.reset_index()\n",
215
+ " df = df.drop(columns=[\"index\"])\n",
216
+ "\n",
217
+ " # Create a boolean mask for rows that fall within the date range\n",
218
+ " mask = (pd.to_datetime(df['date']) >= pd.to_datetime(start_date)) & (pd.to_datetime(df['date']) <= pd.to_datetime(end_date))\n",
219
+ " len_df = np.shape(df)\n",
220
+ " df = df[mask] # Use the boolean mask to filter the DataFrame\n",
221
+ " print('From shape {} to {} after cropping to given date range: {} to {}'.format(len_df,np.shape(df),start_date,end_date))\n",
222
+ "\n",
223
+ " # Get rid off all non-business days\n",
224
+ " isBusinessDay, is_open = extract_business_day(start_date,end_date)\n",
225
+ " is_open = [not i for i in is_open] # Invert the mask to be able to drop all non-buisiness days\n",
226
+ "\n",
227
+ " filtered_df = df.drop(df[is_open].index) # Use the mask to filter the rows of the DataFrame\n",
228
+ " print('From shape {} to {} after removing non-business days'.format(np.shape(df),np.shape(filtered_df)))\n",
229
+ " print(filtered_df)\n",
230
+ " \n",
231
+ " return filtered_df"
232
+ ]
233
+ },
234
+ {
235
+ "cell_type": "code",
236
+ "execution_count": 7,
237
  "metadata": {},
238
  "outputs": [],
239
  "source": [
 
255
  },
256
  {
257
  "cell_type": "code",
258
+ "execution_count": 8,
259
  "metadata": {},
260
  "outputs": [],
261
  "source": [
feature_view.py ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # %%
2
+ # Import necessary libraries
3
+ import pandas as pd # For data manipulation using DataFrames
4
+ import numpy as np # For numerical operations
5
+ import matplotlib.pyplot as plt # For data visualization
6
+ import os # For operating system-related tasks
7
+ import joblib # For saving and loading models
8
+ import hopsworks # For getting access to hopsworks
9
+
10
+
11
+
12
+ # Import specific modules from scikit-learn
13
+ from sklearn.preprocessing import StandardScaler, OneHotEncoder # For data preprocessing
14
+ from sklearn.metrics import accuracy_score # For evaluating model accuracy
15
+
16
+ # %%
17
+ from feature_pipeline import tesla_fg
18
+ from feature_pipeline import news_sentiment_fg
19
+
20
+ # %%
21
+ from dotenv import load_dotenv
22
+ import os
23
+
24
+ load_dotenv()
25
+
26
+ # %%
27
+ api_key = os.environ.get('hopsworks_api')
28
+ project = hopsworks.login(api_key_value=api_key)
29
+ fs = project.get_feature_store()
30
+
31
+ # %%
32
+ def create_stocks_feature_view(fs, version):
33
+
34
+ # Loading in the feature groups
35
+ tesla_fg = fs.get_feature_group('tesla_stock', version=1)
36
+ news_sentiment_fg = fs.get_feature_group('news_sentiment_updated', version=1)
37
+
38
+ # Define the query
39
+ ds_query = tesla_fg.select(['date', 'open', 'ticker'])\
40
+ .join(news_sentiment_fg.select(['sentiment']))
41
+
42
+ # Create the feature view
43
+ feature_view = fs.create_feature_view(
44
+ name='tesla_stocks_fv',
45
+ query=ds_query,
46
+ labels=['open']
47
+ )
48
+
49
+ return feature_view, tesla_fg
50
+
51
+ # %%
52
+ try:
53
+ feature_view = fs.get_feature_view("tesla_stocks_fv", version=1)
54
+ tesla_fg = fs.get_feature_group('tesla_stock', version=1)
55
+ except:
56
+ feature_view, tesla_fg = create_stocks_feature_view(fs, 1)
57
+
58
+ # %%
59
+ def fix_data_from_feature_view(df,start_date,end_date):
60
+ df = df.sort_values("date")
61
+ df = df.reset_index()
62
+ df = df.drop(columns=["index"])
63
+
64
+ # Create a boolean mask for rows that fall within the date range
65
+ mask = (pd.to_datetime(df['date']) >= pd.to_datetime(start_date)) & (pd.to_datetime(df['date']) <= pd.to_datetime(end_date))
66
+ len_df = np.shape(df)
67
+ df = df[mask] # Use the boolean mask to filter the DataFrame
68
+ print('From shape {} to {} after cropping to given date range: {} to {}'.format(len_df,np.shape(df),start_date,end_date))
69
+
70
+ # Get rid off all non-business days
71
+ isBusinessDay, is_open = extract_business_day(start_date,end_date)
72
+ is_open = [not i for i in is_open] # Invert the mask to be able to drop all non-buisiness days
73
+
74
+ filtered_df = df.drop(df[is_open].index) # Use the mask to filter the rows of the DataFrame
75
+ print('From shape {} to {} after removing non-business days'.format(np.shape(df),np.shape(filtered_df)))
76
+ print(filtered_df)
77
+
78
+ return filtered_df
79
+
80
+ # %%
81
+ #def create_stocks_feature_view(fs, version):
82
+
83
+ #Loading in the feature groups
84
+ # tesla_fg = fs.get_feature_group('tesla_stock', version = 3)
85
+ # news_sentiment_fg = fs.get_feature_group('news_sentiment_updated', version = 2)
86
+
87
+ # ds_query = tesla_fg.select(['date','open', 'ticker'])\
88
+ # .join(news_sentiment_fg.select_except(['ticker','time', 'amp_url', 'image_url']))
89
+
90
+ # return (fs.create_tesla_feature_view(
91
+ # name = 'tsla_stocks_fv',
92
+ # query = ds_query,
93
+ # labels=['ticker']
94
+ # ), tesla_fg)
95
+
96
+ # %%
97
+ #try:
98
+ # feature_view = fs.get_feature_view("tsla_stocks_fv", version=1)
99
+ # tesla_fg = fs.get_feature_group('tesla_stock', version=3)
100
+ #except:
101
+ # feature_view, tesla_fg = create_stocks_feature_view(fs, 1)
102
+
103
+
historical_news.ipynb CHANGED
@@ -663,7 +663,7 @@
663
  "name": "python",
664
  "nbconvert_exporter": "python",
665
  "pygments_lexer": "ipython3",
666
- "version": "3.11.4"
667
  },
668
  "orig_nbformat": 4
669
  },
 
663
  "name": "python",
664
  "nbconvert_exporter": "python",
665
  "pygments_lexer": "ipython3",
666
+ "version": "3.11.9"
667
  },
668
  "orig_nbformat": 4
669
  },
historical_stock.ipynb CHANGED
@@ -4,7 +4,19 @@
4
  "cell_type": "code",
5
  "execution_count": 1,
6
  "metadata": {},
7
- "outputs": [],
 
 
 
 
 
 
 
 
 
 
 
 
8
  "source": [
9
  "from dotenv import load_dotenv\n",
10
  "import os \n",
@@ -25,7 +37,7 @@
25
  },
26
  {
27
  "cell_type": "code",
28
- "execution_count": 2,
29
  "metadata": {},
30
  "outputs": [
31
  {
@@ -67,7 +79,7 @@
67
  },
68
  {
69
  "cell_type": "code",
70
- "execution_count": 3,
71
  "metadata": {},
72
  "outputs": [],
73
  "source": [
@@ -125,7 +137,7 @@
125
  },
126
  {
127
  "cell_type": "code",
128
- "execution_count": 4,
129
  "metadata": {},
130
  "outputs": [],
131
  "source": [
@@ -198,7 +210,7 @@
198
  },
199
  {
200
  "cell_type": "code",
201
- "execution_count": 5,
202
  "metadata": {},
203
  "outputs": [
204
  {
@@ -236,7 +248,7 @@
236
  "name": "python",
237
  "nbconvert_exporter": "python",
238
  "pygments_lexer": "ipython3",
239
- "version": "3.11.4"
240
  },
241
  "orig_nbformat": 4
242
  },
 
4
  "cell_type": "code",
5
  "execution_count": 1,
6
  "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "ename": "ModuleNotFoundError",
10
+ "evalue": "No module named 'modal'",
11
+ "output_type": "error",
12
+ "traceback": [
13
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
14
+ "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
15
+ "Cell \u001b[1;32mIn[1], line 7\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mhopsworks\u001b[39;00m\n\u001b[0;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mre\u001b[39;00m \n\u001b[1;32m----> 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmodal\u001b[39;00m \n\u001b[0;32m 8\u001b[0m \u001b[38;5;66;03m#prepocessing\u001b[39;00m\n\u001b[0;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mrequests\u001b[39;00m\n",
16
+ "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'modal'"
17
+ ]
18
+ }
19
+ ],
20
  "source": [
21
  "from dotenv import load_dotenv\n",
22
  "import os \n",
 
37
  },
38
  {
39
  "cell_type": "code",
40
+ "execution_count": null,
41
  "metadata": {},
42
  "outputs": [
43
  {
 
79
  },
80
  {
81
  "cell_type": "code",
82
+ "execution_count": null,
83
  "metadata": {},
84
  "outputs": [],
85
  "source": [
 
137
  },
138
  {
139
  "cell_type": "code",
140
+ "execution_count": null,
141
  "metadata": {},
142
  "outputs": [],
143
  "source": [
 
210
  },
211
  {
212
  "cell_type": "code",
213
+ "execution_count": null,
214
  "metadata": {},
215
  "outputs": [
216
  {
 
248
  "name": "python",
249
  "nbconvert_exporter": "python",
250
  "pygments_lexer": "ipython3",
251
+ "version": "3.11.9"
252
  },
253
  "orig_nbformat": 4
254
  },
requirements.txt CHANGED
@@ -16,4 +16,6 @@ python-dotenv
16
  requests
17
  alpha_vantage
18
  textblob
19
- great_expectations==0.18.12
 
 
 
16
  requests
17
  alpha_vantage
18
  textblob
19
+ great_expectations==0.18.12
20
+ prophet
21
+ tensorflow
stock_preprocessing.py ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # %%
2
+ from dotenv import load_dotenv
3
+ import os
4
+ from alpha_vantage.timeseries import TimeSeries
5
+ import pandas as pd
6
+ import hopsworks
7
+ import re
8
+ import modal
9
+ #prepocessing
10
+ import requests
11
+ import pandas as pd
12
+ import json
13
+ #import pandas_market_calendars as mcal
14
+ import datetime
15
+ import numpy as np
16
+ from datetime import datetime, timedelta
17
+
18
+
19
+ # %%
20
+ load_dotenv()
21
+
22
+ api_key = os.environ.get('stocks_api') # Replace this with your actual API key
23
+ ts = TimeSeries(key=api_key, output_format='pandas')
24
+
25
+ # Fetch daily adjusted stock prices; adjust the symbol as needed
26
+ data, meta_data = ts.get_daily(symbol='TSLA', outputsize='full')
27
+
28
+ print(data.head())
29
+
30
+ # %%
31
+ data
32
+
33
+ # %%
34
+ data.info()
35
+
36
+ # %%
37
+ meta_data
38
+
39
+ # %%
40
+ #Stock market:
41
+ def today_is_a_business_day(today):
42
+ # Get the NYSE calendar
43
+ cal = mcal.get_calendar('NYSE')
44
+ schedule = cal.schedule(start_date=today, end_date=today) # Get the NYSE calendar's open and close times for the specified period
45
+ try:
46
+ isBusinessDay = schedule.market_open.dt.strftime('%Y-%m-%d')
47
+ return True
48
+ except:
49
+ print('Today {} is not a business day'.format(today))
50
+ return False
51
+
52
+ # %%
53
+ def next_business_day(today):
54
+
55
+ # Real tomorrow
56
+ tomorrow = (today + timedelta(days=1)).strftime("%Y-%m-%d")
57
+
58
+ # Get the NYSE calendar
59
+ cal = mcal.get_calendar('NYSE')
60
+
61
+ found_next_business_day = False
62
+ while not found_next_business_day:
63
+ schedule = cal.schedule(start_date=tomorrow, end_date=tomorrow) # Get the NYSE calendar's open and close times for the specified period
64
+ try:
65
+ isBusinessDay = schedule.market_open.dt.strftime('%Y-%m-%d') # Only need a list of dates when it's open (not open and close times)
66
+ found_next_business_day = True
67
+ except:
68
+ print('The date {} is not a business day'.format(tomorrow))
69
+ tomorrow = (datetime.datetime.strptime(tomorrow,"%Y-%m-%d") + timedelta(days=1)).strftime("%Y-%m-%d")
70
+
71
+ return isBusinessDay.to_numpy()[0]
72
+
73
+ # %%
74
+ def extract_business_day(start_date,end_date):
75
+ """
76
+ Given a start_date and end_date.
77
+
78
+ `Returns`:
79
+
80
+ isBusinessDay: list of str (with all dates being business days)
81
+ is_open: boolean list
82
+ e.g is_open = [1,0,...,1] means that start_date = open, day after start_date = closed, and end_date = open
83
+ """
84
+
85
+ # Save for later
86
+ end_date_save = end_date
87
+
88
+ # Get the NYSE calendar
89
+ cal = mcal.get_calendar('NYSE')
90
+
91
+ # Get the NYSE calendar's open and close times for the specified period
92
+ schedule = cal.schedule(start_date=start_date, end_date=end_date)
93
+
94
+ # Only need a list of dates when it's open (not open and close times)
95
+ isBusinessDay = np.array(schedule.market_open.dt.strftime('%Y-%m-%d'))
96
+
97
+ # Go over all days:
98
+ delta = datetime.timedelta(days=1)
99
+ start_date = datetime.datetime.strptime(start_date,"%Y-%m-%d") #datetime.date(2015, 7, 16)
100
+ end_date = datetime.datetime.strptime(end_date,"%Y-%m-%d") #datetime.date(2023, 1, 4)
101
+
102
+ # Extract days from the timedelta object
103
+ num_days = (end_date - start_date).days + 1
104
+
105
+ # Create boolean array for days being open (1) and closed (0)
106
+ is_open = np.zeros(num_days)
107
+
108
+ # iterate over range of dates
109
+ current_BusinessDay = isBusinessDay[0]
110
+ count_dates = 0
111
+ next_BusinessDay = 0
112
+
113
+ while (start_date <= end_date):
114
+
115
+ if start_date.strftime('%Y-%m-%d') == current_BusinessDay:
116
+ is_open[count_dates] = True
117
+
118
+ if current_BusinessDay == end_date_save or current_BusinessDay==isBusinessDay[-1]:
119
+ break
120
+ else:
121
+ next_BusinessDay += 1
122
+ current_BusinessDay = isBusinessDay[next_BusinessDay]
123
+ else:
124
+ is_open[count_dates] = False
125
+
126
+ count_dates += 1
127
+ start_date += delta
128
+
129
+ print(np.shape(is_open))
130
+
131
+ return isBusinessDay, is_open
132
+
133
+ # %%
134
+ def clean_column_name(name):
135
+ # Remove all non-letter characters
136
+ cleaned_name = re.sub(r'[^a-zA-Z]', '', name)
137
+ return cleaned_name
138
+
139
+ # %%
140
+ data.columns = [clean_column_name(col) for col in data.columns]
141
+
142
+ # %%
143
+ data.head()
144
+
145
+ # %%
146
+ data.reset_index(inplace=True)
147
+
148
+
149
+ # %%
150
+ data.head()
151
+
152
+ # %%
153
+ data
154
+
155
+ # %%
156
+ # Define the date range you're interested in
157
+ yesterday =datetime.now()-timedelta(days=1)
158
+ two_years_back = yesterday - timedelta(days=684)
159
+
160
+ # %%
161
+ # Filter the DataFrame to this range
162
+ filtered_df = data[(data['date'] >= two_years_back) & (data['date'] <= yesterday)]
163
+
164
+ # %%
165
+ filtered_df.head()
166
+
167
+ # %%
168
+ print(filtered_df['date'].min())
169
+ print(filtered_df['date'].max())
170
+
171
+ # %%
172
+ filtered_df.shape
173
+
174
+ # %%
175
+
176
+
177
+