solara 1.16.1__py2.py3-none-any.whl → 1.16.3__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- solara/__init__.py +1 -1
- solara/components/style.py +9 -5
- solara/server/static/solara_bootstrap.py +1 -1
- solara/server/templates/solara.html.j2 +15 -1
- solara/website/pages/__init__.py +1 -8
- {solara-1.16.1.dist-info → solara-1.16.3.dist-info}/METADATA +2 -2
- {solara-1.16.1.dist-info → solara-1.16.3.dist-info}/RECORD +12 -13
- solara/website/pages/README.md +0 -15
- {solara-1.16.1.data → solara-1.16.3.data}/data/etc/jupyter/jupyter_notebook_config.d/solara.json +0 -0
- {solara-1.16.1.data → solara-1.16.3.data}/data/etc/jupyter/jupyter_server_config.d/solara.json +0 -0
- {solara-1.16.1.dist-info → solara-1.16.3.dist-info}/LICENSE +0 -0
- {solara-1.16.1.dist-info → solara-1.16.3.dist-info}/WHEEL +0 -0
- {solara-1.16.1.dist-info → solara-1.16.3.dist-info}/entry_points.txt +0 -0
solara/__init__.py
CHANGED
solara/components/style.py
CHANGED
|
@@ -15,9 +15,13 @@ def Style(value: str = ""):
|
|
|
15
15
|
|
|
16
16
|
- `value`: The CSS string to insert into the page.
|
|
17
17
|
"""
|
|
18
|
+
uuid = solara.use_unique_key()
|
|
18
19
|
hash = hashlib.sha256(value.encode("utf-8")).hexdigest()
|
|
19
|
-
|
|
20
|
-
#
|
|
20
|
+
# the key is unique for this component + value
|
|
21
|
+
# so that we create a new component if the value changes
|
|
22
|
+
# but we do not remove the css of a component with the same value
|
|
23
|
+
key = uuid + "-" + hash
|
|
24
|
+
# ipyvue does not remove the css itself, so we need to do it manually
|
|
21
25
|
script = (
|
|
22
26
|
"""
|
|
23
27
|
<script>
|
|
@@ -28,7 +32,7 @@ module.exports = {
|
|
|
28
32
|
};
|
|
29
33
|
</script>
|
|
30
34
|
"""
|
|
31
|
-
%
|
|
35
|
+
% key
|
|
32
36
|
)
|
|
33
37
|
|
|
34
38
|
template = f"""
|
|
@@ -37,9 +41,9 @@ module.exports = {
|
|
|
37
41
|
</span>
|
|
38
42
|
</template>
|
|
39
43
|
{script}
|
|
40
|
-
<style id="{
|
|
44
|
+
<style id="{key}">
|
|
41
45
|
{value}
|
|
42
46
|
</style>
|
|
43
47
|
"""
|
|
44
48
|
# using .key avoids re-using the template, which causes a flicker (due to ipyvue)
|
|
45
|
-
return v.VuetifyTemplate.element(template=template).key(
|
|
49
|
+
return v.VuetifyTemplate.element(template=template).key(key)
|
|
@@ -119,7 +119,7 @@ async def main():
|
|
|
119
119
|
]
|
|
120
120
|
for dep in requirements:
|
|
121
121
|
await micropip.install(dep, keep_going=True)
|
|
122
|
-
await micropip.install("/wheels/solara-1.16.
|
|
122
|
+
await micropip.install("/wheels/solara-1.16.3-py2.py3-none-any.whl", keep_going=True)
|
|
123
123
|
import solara
|
|
124
124
|
|
|
125
125
|
el = solara.Warning("lala")
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
{% raw -%}
|
|
52
52
|
<script type="x-template" id="vue-app-template" style="display: none">
|
|
53
53
|
<v-app :key="forceUpdateTrigger" :class="loadingPage ? 'solara-page-loading' : ''">
|
|
54
|
-
<v-progress-linear :style="{visibility: (
|
|
54
|
+
<v-progress-linear :style="{visibility: (kernelBusyLong && isMounted) ? 'visible' : 'hidden'}" indeterminate
|
|
55
55
|
absolute></v-progress-linear>
|
|
56
56
|
<v-alert v-if="needsRefresh || cancelAutoRefresh" type="warning" border="left"
|
|
57
57
|
style="position: absolute; right: 0px; z-index: 100; left: 0px;">
|
|
@@ -307,6 +307,18 @@
|
|
|
307
307
|
}
|
|
308
308
|
},
|
|
309
309
|
watch: {
|
|
310
|
+
kernelBusy: function (value) {
|
|
311
|
+
if(this._lastBusyTimer) {
|
|
312
|
+
clearTimeout(this._lastBusyTimer)
|
|
313
|
+
}
|
|
314
|
+
if(value) {
|
|
315
|
+
this._lastBusyTimer = setTimeout(() => {
|
|
316
|
+
this.kernelBusyLong = value;
|
|
317
|
+
}, 300);
|
|
318
|
+
} else {
|
|
319
|
+
this.kernelBusyLong = value;
|
|
320
|
+
}
|
|
321
|
+
},
|
|
310
322
|
loading: function (value) {
|
|
311
323
|
// if preRendered, the app is not mounted yet
|
|
312
324
|
// so we mount it when loading becomes false
|
|
@@ -358,6 +370,8 @@
|
|
|
358
370
|
kernelBusy: false,
|
|
359
371
|
isMounted: false,
|
|
360
372
|
loadingPage: false,
|
|
373
|
+
_lastBusyTimer: null,
|
|
374
|
+
kernelBusyLong: false,
|
|
361
375
|
// outputMessages: [{ name: 'stderr', text: 'lala' }],
|
|
362
376
|
}
|
|
363
377
|
}
|
solara/website/pages/__init__.py
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import contextlib
|
|
2
|
-
from pathlib import Path
|
|
3
2
|
|
|
4
3
|
import solara
|
|
5
4
|
from solara.alias import rv
|
|
@@ -7,10 +6,6 @@ from solara.components.title import Title
|
|
|
7
6
|
|
|
8
7
|
from ..components import Header, Hero
|
|
9
8
|
|
|
10
|
-
directory = Path(__file__).parent
|
|
11
|
-
|
|
12
|
-
# md file
|
|
13
|
-
md = open(directory / "README.md").read()
|
|
14
9
|
|
|
15
10
|
title = "Home"
|
|
16
11
|
|
|
@@ -19,9 +14,7 @@ route_order = ["/", "showcase", "docs", "api", "examples", "apps"]
|
|
|
19
14
|
|
|
20
15
|
@solara.component
|
|
21
16
|
def Page():
|
|
22
|
-
|
|
23
|
-
solara.Markdown(md)
|
|
24
|
-
return main
|
|
17
|
+
solara.Markdown("should not see me")
|
|
25
18
|
|
|
26
19
|
|
|
27
20
|
@solara.component
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: solara
|
|
3
|
-
Version: 1.16.
|
|
3
|
+
Version: 1.16.3
|
|
4
4
|
Summary: Build webapps using IPywidgets
|
|
5
5
|
Author-email: "Maarten A. Breddels" <maartenbreddels@gmail.com>
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -35,7 +35,7 @@ Requires-Dist: requests
|
|
|
35
35
|
Requires-Dist: pygments==2.10; python_version < '3.7'
|
|
36
36
|
Requires-Dist: nbformat
|
|
37
37
|
Requires-Dist: ipykernel
|
|
38
|
-
Requires-Dist: solara-assets==1.16.
|
|
38
|
+
Requires-Dist: solara-assets==1.16.3 ; extra == "assets"
|
|
39
39
|
Requires-Dist: codespell ; extra == "dev"
|
|
40
40
|
Requires-Dist: python-dotenv ; extra == "dev"
|
|
41
41
|
Requires-Dist: flake8 ; extra == "dev"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
solara/__init__.py,sha256=
|
|
1
|
+
solara/__init__.py,sha256=h9zQoCdajNaZBVMC_gMUglipWED6HaSJgXj3m5A0pv0,3238
|
|
2
2
|
solara/__main__.py,sha256=F15L6aWjr7TP9IcvX3JpxhAYYsNQ_kMVVx72lh6Aeto,22239
|
|
3
3
|
solara/alias.py,sha256=9vfLzud77NP8in3OID9b5mmIO8NyrnFjN2_aE0lSb1k,216
|
|
4
4
|
solara/autorouting.py,sha256=pPOnJetp57HL6bhbf5cDNGmFzXAL_fXf0rkw1Edbq-M,20199
|
|
@@ -62,7 +62,7 @@ solara/components/spinner-solara.vue,sha256=fH8AtwXUZf_YZnUj-1OWspcbVWc-mSbY2T5s
|
|
|
62
62
|
solara/components/spinner.py,sha256=EGB9qL6WnNchaEc8RnjPk79jm5TV9v_7UoEoDZKikBM,586
|
|
63
63
|
solara/components/sql_code.py,sha256=XUx91w_E7q6QzOPpY1NZVuCNPh6hPP6gPJLM7cMDYs4,1190
|
|
64
64
|
solara/components/sql_code.vue,sha256=d2rtBPb8fG7YLrxg_cAq9cKxj2AJZD2xti6dP8s-ZyM,3937
|
|
65
|
-
solara/components/style.py,sha256=
|
|
65
|
+
solara/components/style.py,sha256=2AdqVCy8szIng8OH9X8n1oXRHvC29GMQM7Wn8QHlN5s,1147
|
|
66
66
|
solara/components/tab_navigation.py,sha256=xVlVx4GvLNNxeE53sGtRLkcQB3mzEWM_jTlXOnY3SEs,1047
|
|
67
67
|
solara/components/title.py,sha256=w7wyw8ii_GnHBM09K2eczoZdaYLyyn35dcqJkb_LIbI,2159
|
|
68
68
|
solara/components/title.vue,sha256=HtBSqdVgZDgTH5Uem7cG2BpoIUjvl6LFX7jGX1aC57s,901
|
|
@@ -113,7 +113,7 @@ solara/server/static/highlight-dark.css,sha256=gmC3pr3x2BqJgTswNoN6AkqfEhBk24hPF
|
|
|
113
113
|
solara/server/static/highlight.css,sha256=k8ZdT5iwrGQ5tXTQHAXuxvZrSUq3kwCdEpy3mlFoZjs,2637
|
|
114
114
|
solara/server/static/main-vuetify.js,sha256=zBY8KEuBOOkuzK4ocH6eu1h8eO3q1w17YFkmx3RthrY,8392
|
|
115
115
|
solara/server/static/main.js,sha256=mcx4JNQ4Lg4pNdUIqMoZos1mZyYFS48yd_JNFFJUqIE,5679
|
|
116
|
-
solara/server/static/solara_bootstrap.py,sha256=
|
|
116
|
+
solara/server/static/solara_bootstrap.py,sha256=BzSjUwogL2boKbzYbHVSauHBd9xpxTQY5895DVgTW3U,3195
|
|
117
117
|
solara/server/static/sun.svg,sha256=jEKBAGCr7b9zNYv0VUb7lMWKjnU2dX69_Ye_DZWGXJI,6855
|
|
118
118
|
solara/server/static/webworker.js,sha256=cjAFz7-SygStHJnYlJUlJs-gE_7YQeQ-WBDcmKYyjvo,1372
|
|
119
119
|
solara/server/templates/index.html.j2,sha256=JXQo1M-STFHLBOFetgG7509cAq8xUP0VAEtYDzz35fY,31
|
|
@@ -122,7 +122,7 @@ solara/server/templates/loader-plain.html,sha256=cz1ZZy9Aht8geY4Fj8wMs6824833gNb
|
|
|
122
122
|
solara/server/templates/loader-solara.css,sha256=mw-xQXtr9YAsyJQChGc9cMD-6Qxqq3EyufcVxomzoWg,1900
|
|
123
123
|
solara/server/templates/loader-solara.html,sha256=4kTb4ZoND5mqSA6_mjxQEzQXKhdSWhFrQorR2SHI7_U,2730
|
|
124
124
|
solara/server/templates/plain.html,sha256=yO1r2hidA3bxOclaxtI_vTZtdDTFn2KKeeoldJuinXk,2762
|
|
125
|
-
solara/server/templates/solara.html.j2,sha256=
|
|
125
|
+
solara/server/templates/solara.html.j2,sha256=3b5_Wj9IX-JNcvUtmGpsTBojtA1M6188IaqGU8iwbmw,17797
|
|
126
126
|
solara/template/button.py,sha256=HM382prl4bNLF8sLBd9Sh43ReMGedG_z_h4XN4mDYRI,311
|
|
127
127
|
solara/template/markdown.py,sha256=31G3ezFooiveSrUH5afz5_nJ8SStjbx-_x5YLXv_hPk,1137
|
|
128
128
|
solara/template/portal/.flake8,sha256=wxWLwamdP33Jm1mPa1sVe3uT0AZkG_wHPbY3Ci7j5-g,136
|
|
@@ -157,8 +157,7 @@ solara/website/components/__init__.py,sha256=FeSyrGA04nx58CnUue7u60Pb2c9UlBYqYrK
|
|
|
157
157
|
solara/website/components/algolia.vue,sha256=8YsQnBFXCE-cV9GfI_uZ6n-mqW5xuQN3LCPh65DjN3k,1800
|
|
158
158
|
solara/website/components/header.py,sha256=hojyaROvh4_cPaz1JMiJfcpJgKjK1ywopE0AA0VIovY,2361
|
|
159
159
|
solara/website/components/hero.py,sha256=IsidQOb01jaD7VPARJwKaehxIjoWEwznNlaQCifWvmA,670
|
|
160
|
-
solara/website/pages/
|
|
161
|
-
solara/website/pages/__init__.py,sha256=m7Bt5eGqRDhoqAk6mn1FsNXkRZv2NVm101bVI_ykr5M,19541
|
|
160
|
+
solara/website/pages/__init__.py,sha256=L_uotNapkTDfh31qvFE4dKD54fRwySxvKx7B_nQBtq8,19364
|
|
162
161
|
solara/website/pages/doc_use_download.py,sha256=Wewj7CLhU4IXNmwYNUK0ufEWkoqiGhbARTsZF9dRL6Y,3131
|
|
163
162
|
solara/website/pages/docutils.py,sha256=aN8ohcr0upT4_Gr_IuqiG9dNBUMawCDp2g4EPxqCBgM,742
|
|
164
163
|
solara/website/pages/api/__init__.py,sha256=W1UbD_qPA9WOFQm4nwtMIh-cJvOVmCVz_wflu4vNUXY,8406
|
|
@@ -393,10 +392,10 @@ solara/widgets/vue/gridlayout.vue,sha256=EGeq8RmdRSd8AD2Us6L80zGFefh7TaQqJSnazX7
|
|
|
393
392
|
solara/widgets/vue/html.vue,sha256=9vaHrddQU1J9zgnhy0W1-YXJ0JH68fet1rDEHoe539Q,404
|
|
394
393
|
solara/widgets/vue/navigator.vue,sha256=-1CINPrZbLBpZhYcG0R1_nU7HTOF0KZL8RXAgR20D4c,3467
|
|
395
394
|
solara/widgets/vue/vegalite.vue,sha256=0LWSiREJOkgdlxIg8olsBo8ZYz7wvfJ5XOPYrUKrP5w,3140
|
|
396
|
-
solara-1.16.
|
|
397
|
-
solara-1.16.
|
|
398
|
-
solara-1.16.
|
|
399
|
-
solara-1.16.
|
|
400
|
-
solara-1.16.
|
|
401
|
-
solara-1.16.
|
|
402
|
-
solara-1.16.
|
|
395
|
+
solara-1.16.3.data/data/etc/jupyter/jupyter_notebook_config.d/solara.json,sha256=3UhTBQi6z7F7pPjmqXxfddv79c8VGR9H7zStDLp6AwY,115
|
|
396
|
+
solara-1.16.3.data/data/etc/jupyter/jupyter_server_config.d/solara.json,sha256=D9J-rYxAzyD5GOqWvuPjacGUVFHsYtTfZ4FUbRzRvIA,113
|
|
397
|
+
solara-1.16.3.dist-info/entry_points.txt,sha256=YJmSHIo3-uzALeykS3KyX0nlQrYihhojm4jGDSygR3Y,92
|
|
398
|
+
solara-1.16.3.dist-info/LICENSE,sha256=fFJUz-CWzZ9nEc4QZKu44jMEoDr5fEW-SiqljKpD82E,1086
|
|
399
|
+
solara-1.16.3.dist-info/WHEEL,sha256=Sgu64hAMa6g5FdzHxXv9Xdse9yxpGGMeagVtPMWpJQY,99
|
|
400
|
+
solara-1.16.3.dist-info/METADATA,sha256=ok83UEePspviD1kBHBpaD8VYCyEv9YdpRrH2QwTg73Y,3351
|
|
401
|
+
solara-1.16.3.dist-info/RECORD,,
|
solara/website/pages/README.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# UI Framework for data web apps and Jupyter
|
|
2
|
-
|
|
3
|
-
Solara is the bridge between Jupyter-based data-app development and production deployment.
|
|
4
|
-
|
|
5
|
-
## What is Solara?
|
|
6
|
-
|
|
7
|
-
Solara lets you use and build data-focused web apps (data apps) using reusable UI components. Your app will work in the Jupyter notebook and production-grade web frameworks (FastAPI, Starlette, Flask, ...).
|
|
8
|
-
|
|
9
|
-
Solara uses proven technologies and mature standards. Grow from a one-off experiment in the Jupyter notebook or a dynamic data portal in production. Built on top of Reacton keeps your code complexity under control.
|
|
10
|
-
|
|
11
|
-
We care about developer experience. Solara will give your hot code reloading and type hints for faster development.
|
|
12
|
-
|
|
13
|
-
[](/docs)
|
|
14
|
-
[](/docs/quickstart)
|
|
15
|
-
<!-- [](/docs/guides) -->
|
{solara-1.16.1.data → solara-1.16.3.data}/data/etc/jupyter/jupyter_notebook_config.d/solara.json
RENAMED
|
File without changes
|
{solara-1.16.1.data → solara-1.16.3.data}/data/etc/jupyter/jupyter_server_config.d/solara.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|