DarylMaxime commited on
Commit
00c7225
β€’
1 Parent(s): 4cebbea

Upload 5 files

Browse files
Files changed (5) hide show
  1. README.md +0 -0
  2. main_app.py +184 -0
  3. package-lock.json +395 -0
  4. package.json +5 -0
  5. requirement.txt +0 -0
README.md CHANGED
Binary files a/README.md and b/README.md differ
 
main_app.py ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import requests
3
+
4
+ images = {
5
+ "ChatBot": "https://recfaces.com/wp-content/uploads/2021/06/voice-recognition-830x571.jpg",
6
+ "Text2Speech": "https://img.freepik.com/vecteurs-premium/traducteur-vocal-ligne-isometrique-concept-langues-apprentissage-e-learning-traduction-langues-guide-audio-traducteur-chatbot-intelligence-artificielle_589019-3704.jpg?w=900",
7
+ "Translation": "https://as2.ftcdn.net/v2/jpg/00/49/36/65/1000_F_49366575_CRDRRXsM7DrL2AHc06Fa4uoPFTOSh4oj.jpg"
8
+ }
9
+
10
+ # Fonction pour afficher la barre de menu horizontale interactive
11
+ def afficher_barre_menu():
12
+
13
+ # Modifier l'arrière-plan de la barre latérale en fonction du choix
14
+ st.markdown(
15
+ """
16
+ <style>
17
+
18
+ [data-testid="stSidebarContent"]{
19
+ background-color: #e5e5f7;
20
+ opacity: 0.8;
21
+ background-image: repeating-radial-gradient( circle at 0 0, transparent 0, #e5e5f7 10px ), repeating-linear-gradient( #f7724555, #f77245 );
22
+ font-family: cursive;
23
+ justify-content: center;
24
+
25
+ }
26
+ .nav-item {
27
+ margin-right: 20px;
28
+ color: white;
29
+ font-size: 18px;
30
+ font-weight: bold;
31
+ text-decoration: none;
32
+ transition: all 0.3s ease-in-out; /* Animation de transition */
33
+ }
34
+ .nav-item:hover {
35
+ transform: translateY(-3px); /* Animation de légère élévation au survol */
36
+ cursor: pointer; /* Curseur pointeur au survol */
37
+ }
38
+
39
+ </style>
40
+ """,
41
+ unsafe_allow_html=True
42
+ )
43
+
44
+ st.markdown(
45
+ """
46
+ <script>
47
+ function change_contenu(option) {
48
+ const choix = option.toLowerCase();
49
+ const elements = document.getElementsByClassName('nav-item');
50
+ for (let i = 0; i < elements.length; i++) {
51
+ elements[i].classList.remove('selected');
52
+ }
53
+ document.getElementById(option).classList.add('selected');
54
+ const contenu = document.getElementById('contenu');
55
+ fetch_data(choix);
56
+ }
57
+
58
+ function fetch_data(choix) {
59
+ const descriptions = {
60
+ ChatBot: "Description de l'onglet ChatBot",
61
+ Text2Speech: "Description de l'onglet Text2Speech",
62
+ Translation: "Description de l'onglet Translation"
63
+ };
64
+ const description = descriptions[choix];
65
+ document.getElementById('description').innerText = description;
66
+ }
67
+
68
+ </script>
69
+ """,
70
+ unsafe_allow_html=True
71
+ )
72
+
73
+ # Fonction pour afficher la barre de description verticale
74
+ def afficher_barre_description(description):
75
+ st.sidebar.title("Description")
76
+ st.sidebar.write(description)
77
+
78
+ # Fonction principale pour afficher l'application
79
+ def main():
80
+ afficher_barre_menu()
81
+ st.sidebar.header("Principal")
82
+ choix = st.sidebar.selectbox("Choose your option ",["ChatBot", "Text2Speech", "Translation"])
83
+
84
+ if choix == "ChatBot":
85
+ afficher_barre_description("This section features a chatbot inspired by Mistral-7B-Instruct-v0.2. Which is able to respond with a high level of expertise NB: for more precision put your text between quote.")
86
+ afficher_ChatBot()
87
+
88
+ elif choix == "Text2Speech":
89
+ afficher_barre_description("Enter the text you wish to convert to speech in the text box below, then click the button to listen to the generated speech.")
90
+ afficher_Text2Speech()
91
+
92
+ elif choix == "Translation":
93
+ afficher_barre_description("The Hellsinki model is used to translate Korean and Spanish texts into French.")
94
+ afficher_Translation()
95
+
96
+ # Fonctions pour afficher le contenu
97
+ def afficher_ChatBot():
98
+ st.title("Interactive Chatbot ")
99
+ st.write("Welcome all of you.")
100
+
101
+ # Définir le modèle et le tokenizer
102
+
103
+ API_URL = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.2"
104
+ headers = {"Authorization":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}
105
+
106
+ def query(payload):
107
+ response = requests.post(API_URL, headers=headers, json=payload)
108
+ return response.json()
109
+
110
+ # Envoyer le message lorsque l'utilisateur appuie sur EntrΓ©e
111
+ messages = st.container(height = 300)
112
+ if user_input := st.chat_input("Say something"):
113
+ output = query({
114
+ "inputs": user_input
115
+
116
+ })
117
+ messages.chat_message('user').write(user_input)
118
+
119
+ with st.spinner('Loading....'):
120
+ messages.chat_message("assistant")
121
+ messages.write(output[0]['generated_text'])
122
+
123
+
124
+
125
+
126
+ def afficher_Text2Speech():
127
+ st.title("Text2Speech")
128
+ API_URL = "https://api-inference.huggingface.co/models/facebook/mms-tts-eng"
129
+ headers = {"Authorization": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}
130
+
131
+ def query(payload):
132
+ response = requests.post(API_URL, headers=headers, json=payload)
133
+ return response.content
134
+
135
+ texte_input = st.text_input("Enter your speech")
136
+
137
+ if st.button('Conversion'):
138
+ with st.spinner("Converting..."):
139
+ audio_bytes = query({"inputs": texte_input, })
140
+
141
+ md = f"""
142
+ <audio autoplay="true">
143
+ <source src="data:audio/wav;base64" type="audio/mp3">
144
+ </audio>
145
+ """
146
+ st.markdown(
147
+ md,
148
+ unsafe_allow_html=True,
149
+ )
150
+ st.audio(audio_bytes, format="audio/mpeg", loop=True)
151
+
152
+ def afficher_Translation():
153
+ langues = {
154
+ "Korean - French": "Helsinki-NLP/opus-mt-ko-fr",
155
+ "Espagnol - French": "Helsinki-NLP/opus-mt-es-fr"
156
+ }
157
+ st.title("Translator")
158
+ with st.container(height=500):
159
+
160
+ langue_source = st.selectbox("Source :", list(langues.keys()))
161
+ phrase = st.text_input("Enter the sentence to be translated :")
162
+ if st.button("Translate"):
163
+ # Récupérer les modèles correspondants aux langues sélectionnées
164
+ modele_source = langues[langue_source]
165
+
166
+ # Appeler l'API pour traduire la phrase
167
+ resultat = traduire(phrase, modele_source)
168
+
169
+ # Afficher le rΓ©sultat de la traduction
170
+ st.markdown("** The translation :**")
171
+ st.write(resultat[0]['translation_text'])
172
+
173
+ # Fonction pour appeler l'API de traduction
174
+ def traduire(phrase, modele_source):
175
+ API_URL = f"https://api-inference.huggingface.co/models/{modele_source}"
176
+ headers = {"Authorization": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}
177
+ payload = {"inputs": phrase}
178
+ response = requests.post(API_URL, headers=headers, json=payload)
179
+
180
+ return response.json()
181
+
182
+ # Appel de la fonction principale
183
+ if __name__ == "__main__":
184
+ main()
package-lock.json ADDED
@@ -0,0 +1,395 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "Control Continu",
3
+ "lockfileVersion": 3,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "dependencies": {
8
+ "streamlit-component-lib": "^2.0.0"
9
+ }
10
+ },
11
+ "node_modules/@types/command-line-args": {
12
+ "version": "5.2.0",
13
+ "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz",
14
+ "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA=="
15
+ },
16
+ "node_modules/@types/command-line-usage": {
17
+ "version": "5.0.2",
18
+ "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz",
19
+ "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg=="
20
+ },
21
+ "node_modules/@types/flatbuffers": {
22
+ "version": "1.10.3",
23
+ "resolved": "https://registry.npmjs.org/@types/flatbuffers/-/flatbuffers-1.10.3.tgz",
24
+ "integrity": "sha512-kwJQsAROanCiMXSLjcTLmYVBIJ9Qyuqs92SaDIcj2EII2KnDgZbiU7it1Z/JfZd1gmxw/lAahMysQ6ZM+j3Ryw=="
25
+ },
26
+ "node_modules/@types/node": {
27
+ "version": "18.7.23",
28
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz",
29
+ "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg=="
30
+ },
31
+ "node_modules/@types/pad-left": {
32
+ "version": "2.1.1",
33
+ "resolved": "https://registry.npmjs.org/@types/pad-left/-/pad-left-2.1.1.tgz",
34
+ "integrity": "sha512-Xd22WCRBydkGSApl5Bw0PhAOHKSVjNL3E3AwzKaps96IMraPqy5BvZIsBVK6JLwdybUzjHnuWVwpDd0JjTfHXA=="
35
+ },
36
+ "node_modules/ansi-styles": {
37
+ "version": "3.2.1",
38
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
39
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
40
+ "dependencies": {
41
+ "color-convert": "^1.9.0"
42
+ },
43
+ "engines": {
44
+ "node": ">=4"
45
+ }
46
+ },
47
+ "node_modules/apache-arrow": {
48
+ "version": "11.0.0",
49
+ "resolved": "https://registry.npmjs.org/apache-arrow/-/apache-arrow-11.0.0.tgz",
50
+ "integrity": "sha512-M8J4y+DimIyS44w2KOmVfzNHbTroR1oDpBKK6BYnlu8xVB41lxTz0yLmapo8/WJVAt5XcinAxMm14M771dm/rA==",
51
+ "dependencies": {
52
+ "@types/command-line-args": "5.2.0",
53
+ "@types/command-line-usage": "5.0.2",
54
+ "@types/flatbuffers": "*",
55
+ "@types/node": "18.7.23",
56
+ "@types/pad-left": "2.1.1",
57
+ "command-line-args": "5.2.1",
58
+ "command-line-usage": "6.1.3",
59
+ "flatbuffers": "2.0.4",
60
+ "json-bignum": "^0.0.3",
61
+ "pad-left": "^2.1.0",
62
+ "tslib": "^2.4.0"
63
+ },
64
+ "bin": {
65
+ "arrow2csv": "bin/arrow2csv.js"
66
+ }
67
+ },
68
+ "node_modules/array-back": {
69
+ "version": "3.1.0",
70
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
71
+ "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
72
+ "engines": {
73
+ "node": ">=6"
74
+ }
75
+ },
76
+ "node_modules/chalk": {
77
+ "version": "2.4.2",
78
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
79
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
80
+ "dependencies": {
81
+ "ansi-styles": "^3.2.1",
82
+ "escape-string-regexp": "^1.0.5",
83
+ "supports-color": "^5.3.0"
84
+ },
85
+ "engines": {
86
+ "node": ">=4"
87
+ }
88
+ },
89
+ "node_modules/color-convert": {
90
+ "version": "1.9.3",
91
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
92
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
93
+ "dependencies": {
94
+ "color-name": "1.1.3"
95
+ }
96
+ },
97
+ "node_modules/color-name": {
98
+ "version": "1.1.3",
99
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
100
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
101
+ },
102
+ "node_modules/command-line-args": {
103
+ "version": "5.2.1",
104
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
105
+ "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
106
+ "dependencies": {
107
+ "array-back": "^3.1.0",
108
+ "find-replace": "^3.0.0",
109
+ "lodash.camelcase": "^4.3.0",
110
+ "typical": "^4.0.0"
111
+ },
112
+ "engines": {
113
+ "node": ">=4.0.0"
114
+ }
115
+ },
116
+ "node_modules/command-line-usage": {
117
+ "version": "6.1.3",
118
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz",
119
+ "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==",
120
+ "dependencies": {
121
+ "array-back": "^4.0.2",
122
+ "chalk": "^2.4.2",
123
+ "table-layout": "^1.0.2",
124
+ "typical": "^5.2.0"
125
+ },
126
+ "engines": {
127
+ "node": ">=8.0.0"
128
+ }
129
+ },
130
+ "node_modules/command-line-usage/node_modules/array-back": {
131
+ "version": "4.0.2",
132
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
133
+ "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
134
+ "engines": {
135
+ "node": ">=8"
136
+ }
137
+ },
138
+ "node_modules/command-line-usage/node_modules/typical": {
139
+ "version": "5.2.0",
140
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
141
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
142
+ "engines": {
143
+ "node": ">=8"
144
+ }
145
+ },
146
+ "node_modules/deep-extend": {
147
+ "version": "0.6.0",
148
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
149
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
150
+ "engines": {
151
+ "node": ">=4.0.0"
152
+ }
153
+ },
154
+ "node_modules/escape-string-regexp": {
155
+ "version": "1.0.5",
156
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
157
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
158
+ "engines": {
159
+ "node": ">=0.8.0"
160
+ }
161
+ },
162
+ "node_modules/find-replace": {
163
+ "version": "3.0.0",
164
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
165
+ "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
166
+ "dependencies": {
167
+ "array-back": "^3.0.1"
168
+ },
169
+ "engines": {
170
+ "node": ">=4.0.0"
171
+ }
172
+ },
173
+ "node_modules/flatbuffers": {
174
+ "version": "2.0.4",
175
+ "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-2.0.4.tgz",
176
+ "integrity": "sha512-4rUFVDPjSoP0tOII34oQf+72NKU7E088U5oX7kwICahft0UB2kOQ9wUzzCp+OHxByERIfxRDCgX5mP8Pjkfl0g=="
177
+ },
178
+ "node_modules/has-flag": {
179
+ "version": "3.0.0",
180
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
181
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
182
+ "engines": {
183
+ "node": ">=4"
184
+ }
185
+ },
186
+ "node_modules/hoist-non-react-statics": {
187
+ "version": "3.3.2",
188
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
189
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
190
+ "dependencies": {
191
+ "react-is": "^16.7.0"
192
+ }
193
+ },
194
+ "node_modules/js-tokens": {
195
+ "version": "4.0.0",
196
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
197
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
198
+ },
199
+ "node_modules/json-bignum": {
200
+ "version": "0.0.3",
201
+ "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz",
202
+ "integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==",
203
+ "engines": {
204
+ "node": ">=0.8"
205
+ }
206
+ },
207
+ "node_modules/lodash.camelcase": {
208
+ "version": "4.3.0",
209
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
210
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
211
+ },
212
+ "node_modules/loose-envify": {
213
+ "version": "1.4.0",
214
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
215
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
216
+ "dependencies": {
217
+ "js-tokens": "^3.0.0 || ^4.0.0"
218
+ },
219
+ "bin": {
220
+ "loose-envify": "cli.js"
221
+ }
222
+ },
223
+ "node_modules/object-assign": {
224
+ "version": "4.1.1",
225
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
226
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
227
+ "engines": {
228
+ "node": ">=0.10.0"
229
+ }
230
+ },
231
+ "node_modules/pad-left": {
232
+ "version": "2.1.0",
233
+ "resolved": "https://registry.npmjs.org/pad-left/-/pad-left-2.1.0.tgz",
234
+ "integrity": "sha512-HJxs9K9AztdIQIAIa/OIazRAUW/L6B9hbQDxO4X07roW3eo9XqZc2ur9bn1StH9CnbbI9EgvejHQX7CBpCF1QA==",
235
+ "dependencies": {
236
+ "repeat-string": "^1.5.4"
237
+ },
238
+ "engines": {
239
+ "node": ">=0.10.0"
240
+ }
241
+ },
242
+ "node_modules/prop-types": {
243
+ "version": "15.8.1",
244
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
245
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
246
+ "dependencies": {
247
+ "loose-envify": "^1.4.0",
248
+ "object-assign": "^4.1.1",
249
+ "react-is": "^16.13.1"
250
+ }
251
+ },
252
+ "node_modules/react": {
253
+ "version": "16.14.0",
254
+ "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
255
+ "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
256
+ "dependencies": {
257
+ "loose-envify": "^1.1.0",
258
+ "object-assign": "^4.1.1",
259
+ "prop-types": "^15.6.2"
260
+ },
261
+ "engines": {
262
+ "node": ">=0.10.0"
263
+ }
264
+ },
265
+ "node_modules/react-dom": {
266
+ "version": "16.14.0",
267
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
268
+ "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
269
+ "dependencies": {
270
+ "loose-envify": "^1.1.0",
271
+ "object-assign": "^4.1.1",
272
+ "prop-types": "^15.6.2",
273
+ "scheduler": "^0.19.1"
274
+ },
275
+ "peerDependencies": {
276
+ "react": "^16.14.0"
277
+ }
278
+ },
279
+ "node_modules/react-is": {
280
+ "version": "16.13.1",
281
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
282
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
283
+ },
284
+ "node_modules/reduce-flatten": {
285
+ "version": "2.0.0",
286
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
287
+ "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==",
288
+ "engines": {
289
+ "node": ">=6"
290
+ }
291
+ },
292
+ "node_modules/repeat-string": {
293
+ "version": "1.6.1",
294
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
295
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
296
+ "engines": {
297
+ "node": ">=0.10"
298
+ }
299
+ },
300
+ "node_modules/scheduler": {
301
+ "version": "0.19.1",
302
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
303
+ "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
304
+ "dependencies": {
305
+ "loose-envify": "^1.1.0",
306
+ "object-assign": "^4.1.1"
307
+ }
308
+ },
309
+ "node_modules/streamlit-component-lib": {
310
+ "version": "2.0.0",
311
+ "resolved": "https://registry.npmjs.org/streamlit-component-lib/-/streamlit-component-lib-2.0.0.tgz",
312
+ "integrity": "sha512-ekLjskU4Cz+zSLkTC9jpppv2hb8jlA3z2h+TtwGUGuwMKrGLrvTpzLJI1ibPuI+bZ60mLHVI1GP/OyNb7K7UjA==",
313
+ "dependencies": {
314
+ "apache-arrow": "^11.0.0",
315
+ "hoist-non-react-statics": "^3.3.2",
316
+ "react": "^16.14.0",
317
+ "react-dom": "^16.14.0"
318
+ }
319
+ },
320
+ "node_modules/supports-color": {
321
+ "version": "5.5.0",
322
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
323
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
324
+ "dependencies": {
325
+ "has-flag": "^3.0.0"
326
+ },
327
+ "engines": {
328
+ "node": ">=4"
329
+ }
330
+ },
331
+ "node_modules/table-layout": {
332
+ "version": "1.0.2",
333
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz",
334
+ "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==",
335
+ "dependencies": {
336
+ "array-back": "^4.0.1",
337
+ "deep-extend": "~0.6.0",
338
+ "typical": "^5.2.0",
339
+ "wordwrapjs": "^4.0.0"
340
+ },
341
+ "engines": {
342
+ "node": ">=8.0.0"
343
+ }
344
+ },
345
+ "node_modules/table-layout/node_modules/array-back": {
346
+ "version": "4.0.2",
347
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz",
348
+ "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==",
349
+ "engines": {
350
+ "node": ">=8"
351
+ }
352
+ },
353
+ "node_modules/table-layout/node_modules/typical": {
354
+ "version": "5.2.0",
355
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
356
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
357
+ "engines": {
358
+ "node": ">=8"
359
+ }
360
+ },
361
+ "node_modules/tslib": {
362
+ "version": "2.6.2",
363
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
364
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
365
+ },
366
+ "node_modules/typical": {
367
+ "version": "4.0.0",
368
+ "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
369
+ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
370
+ "engines": {
371
+ "node": ">=8"
372
+ }
373
+ },
374
+ "node_modules/wordwrapjs": {
375
+ "version": "4.0.1",
376
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz",
377
+ "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==",
378
+ "dependencies": {
379
+ "reduce-flatten": "^2.0.0",
380
+ "typical": "^5.2.0"
381
+ },
382
+ "engines": {
383
+ "node": ">=8.0.0"
384
+ }
385
+ },
386
+ "node_modules/wordwrapjs/node_modules/typical": {
387
+ "version": "5.2.0",
388
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
389
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
390
+ "engines": {
391
+ "node": ">=8"
392
+ }
393
+ }
394
+ }
395
+ }
package.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "dependencies": {
3
+ "streamlit-component-lib": "^2.0.0"
4
+ }
5
+ }
requirement.txt ADDED
Binary file (6.11 kB). View file