streamlit-nightly 1.33.1.dev20240414__py2.py3-none-any.whl → 1.33.1.dev20240415__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.
- streamlit/elements/empty.py +27 -0
- streamlit/proto/Element_pb2.pyi +1 -2
- streamlit/proto/Skeleton_pb2.py +4 -2
- streamlit/proto/Skeleton_pb2.pyi +37 -1
- streamlit/static/asset-manifest.json +3 -3
- streamlit/static/index.html +1 -1
- streamlit/static/static/js/4185.935c68ec.chunk.js +1 -0
- streamlit/static/static/js/main.4a20073e.js +2 -0
- {streamlit_nightly-1.33.1.dev20240414.dist-info → streamlit_nightly-1.33.1.dev20240415.dist-info}/METADATA +1 -1
- {streamlit_nightly-1.33.1.dev20240414.dist-info → streamlit_nightly-1.33.1.dev20240415.dist-info}/RECORD +15 -15
- streamlit/static/static/js/4185.78230b2a.chunk.js +0 -1
- streamlit/static/static/js/main.a41ffabd.js +0 -2
- /streamlit/static/static/js/{main.a41ffabd.js.LICENSE.txt → main.4a20073e.js.LICENSE.txt} +0 -0
- {streamlit_nightly-1.33.1.dev20240414.data → streamlit_nightly-1.33.1.dev20240415.data}/scripts/streamlit.cmd +0 -0
- {streamlit_nightly-1.33.1.dev20240414.dist-info → streamlit_nightly-1.33.1.dev20240415.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.33.1.dev20240414.dist-info → streamlit_nightly-1.33.1.dev20240415.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.33.1.dev20240414.dist-info → streamlit_nightly-1.33.1.dev20240415.dist-info}/top_level.txt +0 -0
streamlit/elements/empty.py
CHANGED
@@ -17,6 +17,8 @@ from __future__ import annotations
|
|
17
17
|
from typing import TYPE_CHECKING, cast
|
18
18
|
|
19
19
|
from streamlit.proto.Empty_pb2 import Empty as EmptyProto
|
20
|
+
from streamlit.proto.Skeleton_pb2 import Skeleton as SkeletonProto
|
21
|
+
from streamlit.runtime.metrics_util import gather_metrics
|
20
22
|
|
21
23
|
if TYPE_CHECKING:
|
22
24
|
from streamlit.delta_generator import DeltaGenerator
|
@@ -71,6 +73,31 @@ class EmptyMixin:
|
|
71
73
|
empty_proto = EmptyProto()
|
72
74
|
return self.dg._enqueue("empty", empty_proto)
|
73
75
|
|
76
|
+
@gather_metrics("_skeleton")
|
77
|
+
def _skeleton(self, *, height: int | None = None) -> DeltaGenerator:
|
78
|
+
"""Insert a single-element container which displays a "skeleton" placeholder.
|
79
|
+
|
80
|
+
Inserts a container into your app that can be used to hold a single element.
|
81
|
+
This allows you to, for example, remove elements at any point, or replace
|
82
|
+
several elements at once (using a child multi-element container).
|
83
|
+
|
84
|
+
To insert/replace/clear an element on the returned container, you can
|
85
|
+
use "with" notation or just call methods directly on the returned object.
|
86
|
+
See some of the examples below.
|
87
|
+
|
88
|
+
This is an internal method and should not be used directly.
|
89
|
+
|
90
|
+
Parameters
|
91
|
+
----------
|
92
|
+
height: int or None
|
93
|
+
Desired height of the skeleton expressed in pixels. If None, a
|
94
|
+
default height is used.
|
95
|
+
"""
|
96
|
+
skeleton_proto = SkeletonProto()
|
97
|
+
if height:
|
98
|
+
skeleton_proto.height = height
|
99
|
+
return self.dg._enqueue("skeleton", skeleton_proto)
|
100
|
+
|
74
101
|
@property
|
75
102
|
def dg(self) -> DeltaGenerator:
|
76
103
|
"""Get our DeltaGenerator."""
|
streamlit/proto/Element_pb2.pyi
CHANGED
@@ -212,8 +212,7 @@ class Element(google.protobuf.message.Message):
|
|
212
212
|
@property
|
213
213
|
def selectbox(self) -> streamlit.proto.Selectbox_pb2.Selectbox: ...
|
214
214
|
@property
|
215
|
-
def skeleton(self) -> streamlit.proto.Skeleton_pb2.Skeleton:
|
216
|
-
"""Internal-only."""
|
215
|
+
def skeleton(self) -> streamlit.proto.Skeleton_pb2.Skeleton: ...
|
217
216
|
@property
|
218
217
|
def slider(self) -> streamlit.proto.Slider_pb2.Slider: ...
|
219
218
|
@property
|
streamlit/proto/Skeleton_pb2.py
CHANGED
@@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
|
|
13
13
|
|
14
14
|
|
15
15
|
|
16
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1estreamlit/proto/Skeleton.proto\"\n\n\
|
16
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1estreamlit/proto/Skeleton.proto\"y\n\x08Skeleton\x12&\n\x05style\x18\x01 \x01(\x0e\x32\x17.Skeleton.SkeletonStyle\x12\x13\n\x06height\x18\x02 \x01(\x05H\x00\x88\x01\x01\"%\n\rSkeletonStyle\x12\x0b\n\x07\x45LEMENT\x10\x00\x12\x07\n\x03\x41PP\x10\x01\x42\t\n\x07_heightB-\n\x1c\x63om.snowflake.apps.streamlitB\rSkeletonProtob\x06proto3')
|
17
17
|
|
18
18
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
19
19
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'streamlit.proto.Skeleton_pb2', globals())
|
@@ -22,5 +22,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
22
22
|
DESCRIPTOR._options = None
|
23
23
|
DESCRIPTOR._serialized_options = b'\n\034com.snowflake.apps.streamlitB\rSkeletonProto'
|
24
24
|
_SKELETON._serialized_start=34
|
25
|
-
_SKELETON._serialized_end=
|
25
|
+
_SKELETON._serialized_end=155
|
26
|
+
_SKELETON_SKELETONSTYLE._serialized_start=107
|
27
|
+
_SKELETON_SKELETONSTYLE._serialized_end=144
|
26
28
|
# @@protoc_insertion_point(module_scope)
|
streamlit/proto/Skeleton_pb2.pyi
CHANGED
@@ -16,18 +16,54 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
16
|
See the License for the specific language governing permissions and
|
17
17
|
limitations under the License.
|
18
18
|
"""
|
19
|
+
import builtins
|
19
20
|
import google.protobuf.descriptor
|
21
|
+
import google.protobuf.internal.enum_type_wrapper
|
20
22
|
import google.protobuf.message
|
23
|
+
import sys
|
24
|
+
import typing
|
25
|
+
|
26
|
+
if sys.version_info >= (3, 10):
|
27
|
+
import typing as typing_extensions
|
28
|
+
else:
|
29
|
+
import typing_extensions
|
21
30
|
|
22
31
|
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
23
32
|
|
24
33
|
class Skeleton(google.protobuf.message.Message):
|
25
|
-
"""An
|
34
|
+
"""An empty-like element that displays an app skeleton."""
|
26
35
|
|
27
36
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
28
37
|
|
38
|
+
class _SkeletonStyle:
|
39
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
40
|
+
V: typing_extensions.TypeAlias = ValueType
|
41
|
+
|
42
|
+
class _SkeletonStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Skeleton._SkeletonStyle.ValueType], builtins.type): # noqa: F821
|
43
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
44
|
+
ELEMENT: Skeleton._SkeletonStyle.ValueType # 0
|
45
|
+
APP: Skeleton._SkeletonStyle.ValueType # 1
|
46
|
+
"""internal-only, for now"""
|
47
|
+
|
48
|
+
class SkeletonStyle(_SkeletonStyle, metaclass=_SkeletonStyleEnumTypeWrapper): ...
|
49
|
+
ELEMENT: Skeleton.SkeletonStyle.ValueType # 0
|
50
|
+
APP: Skeleton.SkeletonStyle.ValueType # 1
|
51
|
+
"""internal-only, for now"""
|
52
|
+
|
53
|
+
STYLE_FIELD_NUMBER: builtins.int
|
54
|
+
HEIGHT_FIELD_NUMBER: builtins.int
|
55
|
+
style: global___Skeleton.SkeletonStyle.ValueType
|
56
|
+
"""Skeleton visual style"""
|
57
|
+
height: builtins.int
|
58
|
+
"""Height in CSS points"""
|
29
59
|
def __init__(
|
30
60
|
self,
|
61
|
+
*,
|
62
|
+
style: global___Skeleton.SkeletonStyle.ValueType = ...,
|
63
|
+
height: builtins.int | None = ...,
|
31
64
|
) -> None: ...
|
65
|
+
def HasField(self, field_name: typing_extensions.Literal["_height", b"_height", "height", b"height"]) -> builtins.bool: ...
|
66
|
+
def ClearField(self, field_name: typing_extensions.Literal["_height", b"_height", "height", b"height", "style", b"style"]) -> None: ...
|
67
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_height", b"_height"]) -> typing_extensions.Literal["height"] | None: ...
|
32
68
|
|
33
69
|
global___Skeleton = Skeleton
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"files": {
|
3
3
|
"main.css": "./static/css/main.bf304093.css",
|
4
|
-
"main.js": "./static/js/main.
|
4
|
+
"main.js": "./static/js/main.4a20073e.js",
|
5
5
|
"static/js/9336.2d95d840.chunk.js": "./static/js/9336.2d95d840.chunk.js",
|
6
6
|
"static/js/9330.d29313d4.chunk.js": "./static/js/9330.d29313d4.chunk.js",
|
7
7
|
"static/js/7217.d970c074.chunk.js": "./static/js/7217.d970c074.chunk.js",
|
@@ -12,7 +12,7 @@
|
|
12
12
|
"static/js/43.9ae03282.chunk.js": "./static/js/43.9ae03282.chunk.js",
|
13
13
|
"static/js/8427.d30dffe1.chunk.js": "./static/js/8427.d30dffe1.chunk.js",
|
14
14
|
"static/js/7323.2808d029.chunk.js": "./static/js/7323.2808d029.chunk.js",
|
15
|
-
"static/js/4185.
|
15
|
+
"static/js/4185.935c68ec.chunk.js": "./static/js/4185.935c68ec.chunk.js",
|
16
16
|
"static/js/7805.51638fbc.chunk.js": "./static/js/7805.51638fbc.chunk.js",
|
17
17
|
"static/js/4500.b6f348d1.chunk.js": "./static/js/4500.b6f348d1.chunk.js",
|
18
18
|
"static/js/1307.8ea033f1.chunk.js": "./static/js/1307.8ea033f1.chunk.js",
|
@@ -152,6 +152,6 @@
|
|
152
152
|
},
|
153
153
|
"entrypoints": [
|
154
154
|
"static/css/main.bf304093.css",
|
155
|
-
"static/js/main.
|
155
|
+
"static/js/main.4a20073e.js"
|
156
156
|
]
|
157
157
|
}
|
streamlit/static/index.html
CHANGED
@@ -1 +1 @@
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><link rel="shortcut icon" href="./favicon.png"/><link rel="preload" href="./static/media/SourceSansPro-Regular.0d69e5ff5e92ac64a0c9.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-SemiBold.abed79cd0df1827e18cf.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-Bold.118dea98980e20a81ced.woff2" as="font" type="font/woff2" crossorigin><title>Streamlit</title><script>window.prerenderReady=!1</script><script defer="defer" src="./static/js/main.
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><link rel="shortcut icon" href="./favicon.png"/><link rel="preload" href="./static/media/SourceSansPro-Regular.0d69e5ff5e92ac64a0c9.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-SemiBold.abed79cd0df1827e18cf.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-Bold.118dea98980e20a81ced.woff2" as="font" type="font/woff2" crossorigin><title>Streamlit</title><script>window.prerenderReady=!1</script><script defer="defer" src="./static/js/main.4a20073e.js"></script><link href="./static/css/main.bf304093.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
@@ -0,0 +1 @@
|
|
1
|
+
(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[4185],{72394:(t,e,i)=>{"use strict";i.r(e),i.d(e,{default:()=>A});var s=i(66845),o=i(59109),n=i(97365),a=i(62813),r=i.n(a),h=i(3717),c=i(25621),l=i(92627),p=i(43536),d=i(80248),m=i(44948),g=i(12879),u=i(47203),w=i(61355),x=i(82595),b=i(19754),S=i(62622),k=i(63765),y=i(13005),v=i.n(y),j=i(82309),f=i(40864);const T=t=>{let{error:e,width:i,deltaType:s}=t;return e instanceof J?(0,f.jsx)(j.Z,{width:i,name:"No Mapbox token provided",message:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)("p",{children:["To use ",(0,f.jsxs)("code",{children:["st.",s]})," or ",(0,f.jsx)("code",{children:"st.map"})," you need to set up a Mapbox access token."]}),(0,f.jsxs)("p",{children:["To get a token, create an account at"," ",(0,f.jsx)("a",{href:"https://mapbox.com",children:"https://mapbox.com"}),". It's free for moderate usage levels!"]}),(0,f.jsxs)("p",{children:["Once you have a token, just set it using the Streamlit config option ",(0,f.jsx)("code",{children:"mapbox.token"})," and don't forget to restart your Streamlit server at this point if it's still running, then reload this tab."]}),(0,f.jsxs)("p",{children:["See"," ",(0,f.jsx)("a",{href:"https://docs.streamlit.io/library/advanced-features/configuration#view-all-configuration-options",children:"our documentation"})," ","for more info on how to set config options."]})]})}):e instanceof Z?(0,f.jsx)(j.Z,{width:i,name:"Error fetching Streamlit Mapbox token",message:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)("p",{children:"This app requires an internet connection."}),(0,f.jsx)("p",{children:"Please check your connection and try again."}),(0,f.jsxs)("p",{children:["If you think this is a bug, please file bug report"," ",(0,f.jsx)("a",{href:"https://github.com/streamlit/streamlit/issues/new/choose",children:"here"}),"."]})]})}):(0,f.jsx)(j.Z,{width:i,name:"Error fetching Streamlit Mapbox token",message:e.message})};var V=i(18080),C=i(16295),E=i(72012),F=i(66694);class J extends Error{}class Z extends Error{}const M="https://data.streamlit.io/tokens.json",z="mapbox",O=t=>e=>{class i extends s.PureComponent{constructor(i){super(i),this.context=void 0,this.initMapboxToken=async()=>{try{const t=await V.Z.get(M),{[z]:e}=t.data;if(!e)throw new Error("Missing token ".concat(z));this.setState({mapboxToken:e,isFetching:!1})}catch(t){const e=(0,k.b)(t);throw this.setState({mapboxTokenError:e,isFetching:!1}),new Z("".concat(e.message," (").concat(M,")"))}},this.render=()=>{const{mapboxToken:i,mapboxTokenError:s,isFetching:o}=this.state,{width:n}=this.props;return s?(0,f.jsx)(T,{width:n,error:s,deltaType:t}):o?(0,f.jsx)(E.O,{element:C.Od.create({style:C.Od.SkeletonStyle.ELEMENT})}):(0,f.jsx)(e,{...this.props,mapboxToken:i,width:n})},this.state={isFetching:!0,mapboxToken:void 0,mapboxTokenError:void 0}}componentDidMount(){const t=this.props.element.mapboxToken||this.context.libConfig.mapboxToken;t?this.setState({mapboxToken:t,isFetching:!1}):this.initMapboxToken()}}return i.displayName="withMapboxToken(".concat(e.displayName||e.name,")"),i.contextType=F.E,v()(i,e)};var D=i(1515);const I=(0,D.Z)("div",{target:"e1az0zs51"})((t=>{let{width:e,height:i,theme:s}=t;return{marginTop:s.spacing.sm,position:"relative",height:i,width:e}}),""),P=(0,D.Z)("div",{target:"e1az0zs50"})((t=>{let{theme:e}=t;return{position:"absolute",right:"2.625rem",top:e.spacing.md,zIndex:1,"button:not(:disabled)":{background:e.colors.bgColor,"& + button":{borderTopColor:e.colors.secondaryBg},"& span":{filter:(0,l.Iy)(e)?"":"invert(100%)"}}}}),"");i(79259);const N={classes:{...p,...g,...m,...u}};(0,b.fh)([w.w,x.E]);const _=new d.Z({configuration:N});class L extends s.PureComponent{constructor(){super(...arguments),this.state={viewState:{bearing:0,pitch:0,zoom:11},initialized:!1,initialViewState:{},id:void 0,pydeckJson:void 0,isFullScreen:!1,isLightTheme:(0,l.Iy)(this.props.theme)},this.componentDidMount=()=>{this.setState({initialized:!0})},this.createTooltip=t=>{const{element:e}=this.props;if(!t||!t.object||!e.tooltip)return!1;const i=n.Z.parse(e.tooltip);return i.html?i.html=this.interpolate(t,i.html):i.text=this.interpolate(t,i.text),i},this.interpolate=(t,e)=>{const i=e.match(/{(.*?)}/g);return i&&i.forEach((i=>{const s=i.substring(1,i.length-1);t.object.hasOwnProperty(s)&&(e=e.replace(i,t.object[s]))})),e},this.onViewStateChange=t=>{let{viewState:e}=t;this.setState({viewState:e})}}static getDerivedStateFromProps(t,e){const i=L.getDeckObject(t,e);if(!r()(i.initialViewState,e.initialViewState)){const t=Object.keys(i.initialViewState).reduce(((t,s)=>i.initialViewState[s]===e.initialViewState[s]?t:{...t,[s]:i.initialViewState[s]}),{});return{viewState:{...e.viewState,...t},initialViewState:i.initialViewState}}return null}render(){const t=L.getDeckObject(this.props,this.state),{viewState:e}=this.state;return(0,f.jsx)(I,{className:"stDeckGlJsonChart",width:t.initialViewState.width,height:t.initialViewState.height,"data-testid":"stDeckGlJsonChart",children:(0,f.jsxs)(o.Z,{viewState:e,onViewStateChange:this.onViewStateChange,height:t.initialViewState.height,width:t.initialViewState.width,layers:this.state.initialized?t.layers:[],getTooltip:this.createTooltip,ContextProvider:h.X$.Provider,controller:!0,children:[(0,f.jsx)(h.Z3,{height:t.initialViewState.height,width:t.initialViewState.width,mapStyle:t.mapStyle&&("string"===typeof t.mapStyle?t.mapStyle:t.mapStyle[0]),mapboxApiAccessToken:this.props.element.mapboxToken||this.props.mapboxToken}),(0,f.jsx)(P,{children:(0,f.jsx)(h.Pv,{className:"zoomButton",showCompass:!1})})]})})}}L.getDeckObject=(t,e)=>{var i,s;const{element:o,width:a,height:r,theme:h,isFullScreen:c}=t,p=null!==c&&void 0!==c&&c;var d,m,g;(o.id===e.id&&e.isFullScreen===p&&e.isLightTheme===(0,l.Iy)(h)||(e.pydeckJson=n.Z.parse(o.json),e.id=o.id),null!==(i=e.pydeckJson)&&void 0!==i&&i.mapStyle||(e.pydeckJson.mapStyle="mapbox://styles/mapbox/".concat((0,l.Iy)(h)?"light":"dark","-v9")),c)?Object.assign(null===(d=e.pydeckJson)||void 0===d?void 0:d.initialViewState,{width:a,height:r}):(null!==(m=e.pydeckJson)&&void 0!==m&&null!==(g=m.initialViewState)&&void 0!==g&&g.height||(e.pydeckJson.initialViewState.height=500),o.useContainerWidth&&(e.pydeckJson.initialViewState.width=a));return e.isFullScreen=c,e.isLightTheme=(0,l.Iy)(h),null===(s=e.pydeckJson)||void 0===s||delete s.views,_.convert(e.pydeckJson)};const A=(0,c.b)(O("st.pydeck_chart")((0,S.Z)(L)))},2090:()=>{},72709:()=>{},20035:()=>{},72672:()=>{}}]);
|