sqlsaber 0.30.0__py3-none-any.whl → 0.30.2__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.
Potentially problematic release.
This version of sqlsaber might be problematic. Click here for more details.
- sqlsaber/config/api_keys.py +1 -1
- sqlsaber/config/oauth_tokens.py +2 -2
- sqlsaber/config/settings.py +1 -0
- {sqlsaber-0.30.0.dist-info → sqlsaber-0.30.2.dist-info}/METADATA +2 -1
- {sqlsaber-0.30.0.dist-info → sqlsaber-0.30.2.dist-info}/RECORD +8 -8
- {sqlsaber-0.30.0.dist-info → sqlsaber-0.30.2.dist-info}/WHEEL +0 -0
- {sqlsaber-0.30.0.dist-info → sqlsaber-0.30.2.dist-info}/entry_points.txt +0 -0
- {sqlsaber-0.30.0.dist-info → sqlsaber-0.30.2.dist-info}/licenses/LICENSE +0 -0
sqlsaber/config/api_keys.py
CHANGED
|
@@ -36,7 +36,7 @@ class APIKeyManager:
|
|
|
36
36
|
return api_key
|
|
37
37
|
except Exception as e:
|
|
38
38
|
# Keyring access failed, continue to prompt
|
|
39
|
-
console.print(f"Keyring access failed: {e}", style="
|
|
39
|
+
console.print(f"Keyring access failed: {e}", style="warning")
|
|
40
40
|
|
|
41
41
|
# 3. Prompt user for API key
|
|
42
42
|
return self._prompt_and_store_key(provider, env_var_name, service_name)
|
sqlsaber/config/oauth_tokens.py
CHANGED
|
@@ -97,14 +97,14 @@ class OAuthTokenManager:
|
|
|
97
97
|
if token.is_expired():
|
|
98
98
|
console.print(
|
|
99
99
|
f"OAuth token for {provider} has expired and needs refresh",
|
|
100
|
-
style="muted
|
|
100
|
+
style="muted",
|
|
101
101
|
)
|
|
102
102
|
return token # Return anyway for refresh attempt
|
|
103
103
|
|
|
104
104
|
if token.expires_soon():
|
|
105
105
|
console.print(
|
|
106
106
|
f"OAuth token for {provider} expires soon, consider refreshing",
|
|
107
|
-
style="muted
|
|
107
|
+
style="muted",
|
|
108
108
|
)
|
|
109
109
|
|
|
110
110
|
return token
|
sqlsaber/config/settings.py
CHANGED
|
@@ -103,6 +103,7 @@ class Config:
|
|
|
103
103
|
def __init__(self):
|
|
104
104
|
self.model_config_manager = ModelConfigManager()
|
|
105
105
|
self.model_name = self.model_config_manager.get_model()
|
|
106
|
+
self.api_key = None
|
|
106
107
|
self.api_key_manager = APIKeyManager()
|
|
107
108
|
self.auth_config_manager = AuthConfigManager()
|
|
108
109
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sqlsaber
|
|
3
|
-
Version: 0.30.
|
|
3
|
+
Version: 0.30.2
|
|
4
4
|
Summary: SQLsaber - Open-source agentic SQL assistant
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: >=3.12
|
|
@@ -11,6 +11,7 @@ Requires-Dist: cyclopts>=3.22.1
|
|
|
11
11
|
Requires-Dist: duckdb>=0.9.2
|
|
12
12
|
Requires-Dist: httpx>=0.28.1
|
|
13
13
|
Requires-Dist: keyring>=25.6.0
|
|
14
|
+
Requires-Dist: keyrings-cryptfile; sys_platform == 'linux'
|
|
14
15
|
Requires-Dist: platformdirs>=4.0.0
|
|
15
16
|
Requires-Dist: prompt-toolkit>3.0.51
|
|
16
17
|
Requires-Dist: pydantic-ai
|
|
@@ -22,13 +22,13 @@ sqlsaber/cli/streaming.py,sha256=eggj25ZlA-xKrAF726S29vfS2MHTFC5wTmgXLbS-RvM,651
|
|
|
22
22
|
sqlsaber/cli/theme.py,sha256=hP0kmsMLCtqaT7b5wB1dk1hW1hV94oP4BHdz8S6887A,4243
|
|
23
23
|
sqlsaber/cli/threads.py,sha256=o9q9Hst1Wt7cxSyrpAtwG6pkUct6csgiAmN_0P_WO3k,13637
|
|
24
24
|
sqlsaber/config/__init__.py,sha256=olwC45k8Nc61yK0WmPUk7XHdbsZH9HuUAbwnmKe3IgA,100
|
|
25
|
-
sqlsaber/config/api_keys.py,sha256=
|
|
25
|
+
sqlsaber/config/api_keys.py,sha256=dJ7cCSFOM6CRLHxEVgKJXGIOd_wQkRuQO4W88-8ng_w,3672
|
|
26
26
|
sqlsaber/config/auth.py,sha256=b5qB2h1doXyO9Bn8z0CcL8LAR2jF431gGXBGKLgTmtQ,2756
|
|
27
27
|
sqlsaber/config/database.py,sha256=Yec6_0wdzq-ADblMNnbgvouYCimYOY_DWHT9oweaISc,11449
|
|
28
28
|
sqlsaber/config/oauth_flow.py,sha256=P81lHhtICdhiQu8lNwyqn2m45FGEqCEzLgUQTLG5UW0,10343
|
|
29
|
-
sqlsaber/config/oauth_tokens.py,sha256=
|
|
29
|
+
sqlsaber/config/oauth_tokens.py,sha256=nkCPFV1Yxs6W5wDRze2PAu8g5HqCN3n-Ihvv-6lmXPI,5954
|
|
30
30
|
sqlsaber/config/providers.py,sha256=JFjeJv1K5Q93zWSlWq3hAvgch1TlgoF0qFa0KJROkKY,2957
|
|
31
|
-
sqlsaber/config/settings.py,sha256
|
|
31
|
+
sqlsaber/config/settings.py,sha256=-nIBNt9E0tCRGd14bk4x-bNAwO12sbsjRsN8fFannK4,6449
|
|
32
32
|
sqlsaber/database/__init__.py,sha256=Gi9N_NOkD459WRWXDg3hSuGoBs3xWbMDRBvsTVmnGAg,2025
|
|
33
33
|
sqlsaber/database/base.py,sha256=oaipLxlvoylX6oJCITPAWWqRqv09hRELqqEBufsmFic,3703
|
|
34
34
|
sqlsaber/database/csv.py,sha256=41wuP40FaGPfj28HMiD0I69uG0JbUxArpoTLC3MG2uc,4464
|
|
@@ -50,8 +50,8 @@ sqlsaber/tools/base.py,sha256=NKEEooliPKTJj_Pomwte_wW0Xd9Z5kXNfVdCRfTppuw,883
|
|
|
50
50
|
sqlsaber/tools/registry.py,sha256=XmBzERq0LJXtg3BZ-r8cEyt8J54NUekgUlTJ_EdSYMk,2204
|
|
51
51
|
sqlsaber/tools/sql_guard.py,sha256=dTDwcZP-N4xPGzcr7MQtKUxKrlDzlc1irr9aH5a4wvk,6182
|
|
52
52
|
sqlsaber/tools/sql_tools.py,sha256=eo-NTxiXGHMopAjujvDDjmv9hf5bQNbiy3nTpxoJ_E8,7369
|
|
53
|
-
sqlsaber-0.30.
|
|
54
|
-
sqlsaber-0.30.
|
|
55
|
-
sqlsaber-0.30.
|
|
56
|
-
sqlsaber-0.30.
|
|
57
|
-
sqlsaber-0.30.
|
|
53
|
+
sqlsaber-0.30.2.dist-info/METADATA,sha256=-pe5U2bhNQVWx1C_9iF07pAIvw1VZydg5Hsg1qbmtWQ,5882
|
|
54
|
+
sqlsaber-0.30.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
55
|
+
sqlsaber-0.30.2.dist-info/entry_points.txt,sha256=tw1mB0fjlkXQiOsC0434X6nE-o1cFCuQwt2ZYHv_WAE,91
|
|
56
|
+
sqlsaber-0.30.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
57
|
+
sqlsaber-0.30.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|