sweatstack 0.50.0__tar.gz → 0.51.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sweatstack-0.50.0 → sweatstack-0.51.0}/CHANGELOG.md +7 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/PKG-INFO +1 -1
- {sweatstack-0.50.0 → sweatstack-0.51.0}/pyproject.toml +1 -1
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/streamlit.py +4 -3
- {sweatstack-0.50.0 → sweatstack-0.51.0}/.claude/settings.local.json +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/.gitignore +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/.python-version +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/DEVELOPMENT.md +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/Makefile +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/README.md +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/playground/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/playground/README.md +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/playground/Sweat Stack examples/Getting started.ipynb +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/playground/Untitled.ipynb +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/playground/hello.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/playground/pyproject.toml +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/Sweat Stack examples/Getting started.ipynb +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/__init__.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/cli.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/client.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/constants.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/ipython_init.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/jupyterlab_oauth2_startup.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/openapi_schemas.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/py.typed +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/schemas.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/sweatshell.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/utils.py +0 -0
- {sweatstack-0.50.0 → sweatstack-0.51.0}/uv.lock +0 -0
|
@@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [0.51.0] - 2025-08-28
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added a new `show_logout` parameter to the `ss.StreamlitAuth.authenticate()` method that allows for disabling the logout button. The logout button can be shown by calling `ss.StreamlitAuth.logout_button()`. This is for example useful when you want to show the login button on the main page, but the logout button in the sidebar.
|
|
14
|
+
|
|
15
|
+
|
|
9
16
|
## [0.50.0] - 2025-08-25
|
|
10
17
|
|
|
11
18
|
### Added
|
|
@@ -50,7 +50,7 @@ class StreamlitAuth:
|
|
|
50
50
|
self.api_key = st.session_state.get("sweatstack_api_key")
|
|
51
51
|
self.client = Client(self.api_key, streamlit_compatible=True)
|
|
52
52
|
|
|
53
|
-
def
|
|
53
|
+
def logout_button(self):
|
|
54
54
|
if st.button("Logout"):
|
|
55
55
|
self.api_key = None
|
|
56
56
|
self.client = Client(streamlit_compatible=True)
|
|
@@ -146,7 +146,7 @@ class StreamlitAuth:
|
|
|
146
146
|
"""
|
|
147
147
|
return self.api_key is not None
|
|
148
148
|
|
|
149
|
-
def authenticate(self, login_label: str | None = None):
|
|
149
|
+
def authenticate(self, login_label: str | None = None, show_logout: bool = True):
|
|
150
150
|
"""Authenticates the user with SweatStack.
|
|
151
151
|
|
|
152
152
|
This method handles the authentication flow for SweatStack in a Streamlit app.
|
|
@@ -168,7 +168,8 @@ class StreamlitAuth:
|
|
|
168
168
|
if not st.session_state.get("sweatstack_auth_toast_shown", False):
|
|
169
169
|
st.toast("SweatStack authentication successful!", icon="✅")
|
|
170
170
|
st.session_state["sweatstack_auth_toast_shown"] = True
|
|
171
|
-
|
|
171
|
+
if show_logout:
|
|
172
|
+
self.logout_button()
|
|
172
173
|
elif code := st.query_params.get("code"):
|
|
173
174
|
self._exchange_token(code)
|
|
174
175
|
st.query_params.clear()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sweatstack-0.50.0 → sweatstack-0.51.0}/playground/.ipynb_checkpoints/Untitled-checkpoint.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
{sweatstack-0.50.0 → sweatstack-0.51.0}/playground/Sweat Stack examples/Getting started.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sweatstack-0.50.0 → sweatstack-0.51.0}/src/sweatstack/Sweat Stack examples/Getting started.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|