sqlsaber 0.30.0__tar.gz → 0.30.1__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.

Potentially problematic release.


This version of sqlsaber might be problematic. Click here for more details.

Files changed (122) hide show
  1. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/PKG-INFO +1 -1
  2. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/changelog.md +6 -2
  3. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/pyproject.toml +1 -1
  4. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/api_keys.py +1 -1
  5. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/oauth_tokens.py +2 -2
  6. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/settings.py +1 -0
  7. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/uv.lock +1 -1
  8. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.github/workflows/claude-code-review.yml +0 -0
  9. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.github/workflows/claude.yml +0 -0
  10. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.github/workflows/deploy-docs.yml +0 -0
  11. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.github/workflows/publish.yml +0 -0
  12. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.github/workflows/test.yml +0 -0
  13. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.gitignore +0 -0
  14. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/.python-version +0 -0
  15. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/AGENT.md +0 -0
  16. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/CLAUDE.md +0 -0
  17. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/LICENSE +0 -0
  18. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/README.md +0 -0
  19. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/.gitignore +0 -0
  20. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/.vscode/extensions.json +0 -0
  21. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/.vscode/launch.json +0 -0
  22. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/CLAUDE.md +0 -0
  23. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/astro.config.mjs +0 -0
  24. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/package-lock.json +0 -0
  25. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/package.json +0 -0
  26. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/public/CNAME +0 -0
  27. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/public/favicon.svg +0 -0
  28. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/assets/sqlsaber.gif +0 -0
  29. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/authentication.mdx +0 -0
  30. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/database-setup.mdx +0 -0
  31. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/getting-started.mdx +0 -0
  32. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/memory.mdx +0 -0
  33. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/models.mdx +0 -0
  34. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/queries.mdx +0 -0
  35. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/guides/threads.md +0 -0
  36. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/index.mdx +0 -0
  37. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/installation.mdx +0 -0
  38. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content/docs/reference/commands.md +0 -0
  39. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/content.config.ts +0 -0
  40. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/src/styles/global.css +0 -0
  41. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/docs/tsconfig.json +0 -0
  42. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/legislators.db +0 -0
  43. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/pytest.ini +0 -0
  44. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/sqlsaber.gif +0 -0
  45. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/sqlsaber.svg +0 -0
  46. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/__init__.py +0 -0
  47. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/__main__.py +0 -0
  48. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/agents/__init__.py +0 -0
  49. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/agents/base.py +0 -0
  50. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/agents/pydantic_ai_agent.py +0 -0
  51. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/application/__init__.py +0 -0
  52. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/application/auth_setup.py +0 -0
  53. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/application/db_setup.py +0 -0
  54. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/application/model_selection.py +0 -0
  55. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/application/prompts.py +0 -0
  56. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/__init__.py +0 -0
  57. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/auth.py +0 -0
  58. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/commands.py +0 -0
  59. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/completers.py +0 -0
  60. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/database.py +0 -0
  61. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/display.py +0 -0
  62. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/interactive.py +0 -0
  63. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/memory.py +0 -0
  64. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/models.py +0 -0
  65. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/onboarding.py +0 -0
  66. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/streaming.py +0 -0
  67. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/theme.py +0 -0
  68. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/cli/threads.py +0 -0
  69. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/__init__.py +0 -0
  70. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/auth.py +0 -0
  71. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/database.py +0 -0
  72. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/oauth_flow.py +0 -0
  73. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/config/providers.py +0 -0
  74. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/__init__.py +0 -0
  75. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/base.py +0 -0
  76. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/csv.py +0 -0
  77. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/duckdb.py +0 -0
  78. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/mysql.py +0 -0
  79. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/postgresql.py +0 -0
  80. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/resolver.py +0 -0
  81. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/schema.py +0 -0
  82. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/database/sqlite.py +0 -0
  83. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/memory/__init__.py +0 -0
  84. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/memory/manager.py +0 -0
  85. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/memory/storage.py +0 -0
  86. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/theme/__init__.py +0 -0
  87. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/theme/manager.py +0 -0
  88. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/threads/__init__.py +0 -0
  89. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/threads/storage.py +0 -0
  90. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/tools/__init__.py +0 -0
  91. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/tools/base.py +0 -0
  92. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/tools/registry.py +0 -0
  93. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/tools/sql_guard.py +0 -0
  94. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/src/sqlsaber/tools/sql_tools.py +0 -0
  95. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/__init__.py +0 -0
  96. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/conftest.py +0 -0
  97. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_cli/__init__.py +0 -0
  98. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_cli/test_auth_reset.py +0 -0
  99. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_cli/test_commands.py +0 -0
  100. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_cli/test_threads.py +0 -0
  101. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_config/__init__.py +0 -0
  102. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_config/test_database.py +0 -0
  103. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_config/test_oauth.py +0 -0
  104. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_config/test_providers.py +0 -0
  105. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_config/test_settings.py +0 -0
  106. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/__init__.py +0 -0
  107. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_connection.py +0 -0
  108. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_csv_connection.py +0 -0
  109. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_csv_module.py +0 -0
  110. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_duckdb_module.py +0 -0
  111. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_schema.py +0 -0
  112. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_schema_display.py +0 -0
  113. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_sqlite_module.py +0 -0
  114. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database/test_timeout.py +0 -0
  115. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_database_resolver.py +0 -0
  116. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_theme/test_manager.py +0 -0
  117. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_threads_storage.py +0 -0
  118. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_tools/__init__.py +0 -0
  119. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_tools/test_base.py +0 -0
  120. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_tools/test_registry.py +0 -0
  121. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_tools/test_sql_guard.py +0 -0
  122. {sqlsaber-0.30.0 → sqlsaber-0.30.1}/tests/test_tools/test_sql_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlsaber
3
- Version: 0.30.0
3
+ Version: 0.30.1
4
4
  Summary: SQLsaber - Open-source agentic SQL assistant
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -9,6 +9,12 @@ All notable changes to SQLsaber will be documented here.
9
9
 
10
10
  ---
11
11
 
12
+ ### v0.30.1 - 2025-10-07
13
+
14
+ #### Fixed
15
+
16
+ - Minor styling fixes
17
+
12
18
  ### v0.30.0 - 2025-10-07
13
19
 
14
20
  #### Removed
@@ -19,8 +25,6 @@ All notable changes to SQLsaber will be documented here.
19
25
  >
20
26
  > Just *ask* the coding agent to invoke `sqlsaber` cli with your question.
21
27
 
22
-
23
-
24
28
  ### v0.29.1 - 2025-10-05
25
29
 
26
30
  #### Fixed
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sqlsaber"
3
- version = "0.30.0"
3
+ version = "0.30.1"
4
4
  description = "SQLsaber - Open-source agentic SQL assistant"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -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="muted warning")
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)
@@ -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 warning",
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 warning",
107
+ style="muted",
108
108
  )
109
109
 
110
110
  return token
@@ -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
 
@@ -1810,7 +1810,7 @@ wheels = [
1810
1810
 
1811
1811
  [[package]]
1812
1812
  name = "sqlsaber"
1813
- version = "0.30.0"
1813
+ version = "0.30.1"
1814
1814
  source = { editable = "." }
1815
1815
  dependencies = [
1816
1816
  { name = "aiomysql" },
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
File without changes
File without changes
File without changes
File without changes