sqlsaber 0.30.1__tar.gz → 0.30.2__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.1 → sqlsaber-0.30.2}/PKG-INFO +2 -1
  2. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/changelog.md +6 -0
  3. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/pyproject.toml +4 -3
  4. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/uv.lock +966 -852
  5. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.github/workflows/claude-code-review.yml +0 -0
  6. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.github/workflows/claude.yml +0 -0
  7. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.github/workflows/deploy-docs.yml +0 -0
  8. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.github/workflows/publish.yml +0 -0
  9. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.github/workflows/test.yml +0 -0
  10. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.gitignore +0 -0
  11. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/.python-version +0 -0
  12. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/AGENT.md +0 -0
  13. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/CLAUDE.md +0 -0
  14. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/LICENSE +0 -0
  15. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/README.md +0 -0
  16. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/.gitignore +0 -0
  17. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/.vscode/extensions.json +0 -0
  18. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/.vscode/launch.json +0 -0
  19. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/CLAUDE.md +0 -0
  20. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/astro.config.mjs +0 -0
  21. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/package-lock.json +0 -0
  22. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/package.json +0 -0
  23. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/public/CNAME +0 -0
  24. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/public/favicon.svg +0 -0
  25. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/assets/sqlsaber.gif +0 -0
  26. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/authentication.mdx +0 -0
  27. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/database-setup.mdx +0 -0
  28. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/getting-started.mdx +0 -0
  29. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/memory.mdx +0 -0
  30. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/models.mdx +0 -0
  31. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/queries.mdx +0 -0
  32. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/guides/threads.md +0 -0
  33. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/index.mdx +0 -0
  34. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/installation.mdx +0 -0
  35. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content/docs/reference/commands.md +0 -0
  36. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/content.config.ts +0 -0
  37. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/src/styles/global.css +0 -0
  38. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/docs/tsconfig.json +0 -0
  39. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/legislators.db +0 -0
  40. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/pytest.ini +0 -0
  41. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/sqlsaber.gif +0 -0
  42. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/sqlsaber.svg +0 -0
  43. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/__init__.py +0 -0
  44. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/__main__.py +0 -0
  45. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/agents/__init__.py +0 -0
  46. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/agents/base.py +0 -0
  47. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/agents/pydantic_ai_agent.py +0 -0
  48. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/application/__init__.py +0 -0
  49. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/application/auth_setup.py +0 -0
  50. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/application/db_setup.py +0 -0
  51. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/application/model_selection.py +0 -0
  52. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/application/prompts.py +0 -0
  53. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/__init__.py +0 -0
  54. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/auth.py +0 -0
  55. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/commands.py +0 -0
  56. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/completers.py +0 -0
  57. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/database.py +0 -0
  58. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/display.py +0 -0
  59. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/interactive.py +0 -0
  60. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/memory.py +0 -0
  61. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/models.py +0 -0
  62. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/onboarding.py +0 -0
  63. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/streaming.py +0 -0
  64. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/theme.py +0 -0
  65. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/cli/threads.py +0 -0
  66. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/__init__.py +0 -0
  67. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/api_keys.py +0 -0
  68. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/auth.py +0 -0
  69. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/database.py +0 -0
  70. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/oauth_flow.py +0 -0
  71. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/oauth_tokens.py +0 -0
  72. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/providers.py +0 -0
  73. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/config/settings.py +0 -0
  74. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/__init__.py +0 -0
  75. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/base.py +0 -0
  76. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/csv.py +0 -0
  77. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/duckdb.py +0 -0
  78. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/mysql.py +0 -0
  79. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/postgresql.py +0 -0
  80. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/resolver.py +0 -0
  81. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/schema.py +0 -0
  82. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/database/sqlite.py +0 -0
  83. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/memory/__init__.py +0 -0
  84. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/memory/manager.py +0 -0
  85. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/memory/storage.py +0 -0
  86. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/theme/__init__.py +0 -0
  87. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/theme/manager.py +0 -0
  88. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/threads/__init__.py +0 -0
  89. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/threads/storage.py +0 -0
  90. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/tools/__init__.py +0 -0
  91. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/tools/base.py +0 -0
  92. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/tools/registry.py +0 -0
  93. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/tools/sql_guard.py +0 -0
  94. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/src/sqlsaber/tools/sql_tools.py +0 -0
  95. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/__init__.py +0 -0
  96. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/conftest.py +0 -0
  97. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_cli/__init__.py +0 -0
  98. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_cli/test_auth_reset.py +0 -0
  99. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_cli/test_commands.py +0 -0
  100. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_cli/test_threads.py +0 -0
  101. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_config/__init__.py +0 -0
  102. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_config/test_database.py +0 -0
  103. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_config/test_oauth.py +0 -0
  104. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_config/test_providers.py +0 -0
  105. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_config/test_settings.py +0 -0
  106. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/__init__.py +0 -0
  107. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_connection.py +0 -0
  108. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_csv_connection.py +0 -0
  109. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_csv_module.py +0 -0
  110. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_duckdb_module.py +0 -0
  111. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_schema.py +0 -0
  112. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_schema_display.py +0 -0
  113. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_sqlite_module.py +0 -0
  114. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database/test_timeout.py +0 -0
  115. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_database_resolver.py +0 -0
  116. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_theme/test_manager.py +0 -0
  117. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_threads_storage.py +0 -0
  118. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_tools/__init__.py +0 -0
  119. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_tools/test_base.py +0 -0
  120. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_tools/test_registry.py +0 -0
  121. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/tests/test_tools/test_sql_guard.py +0 -0
  122. {sqlsaber-0.30.1 → sqlsaber-0.30.2}/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.1
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
@@ -7,6 +7,12 @@ All notable changes to SQLsaber will be documented here.
7
7
 
8
8
  ### Unreleased
9
9
 
10
+ ### v0.30.2
11
+
12
+ #### Changed
13
+
14
+ - Added `keyrings.cryptfile` as Linux-only dependency for better keyring support on Linux systems
15
+
10
16
  ---
11
17
 
12
18
  ### v0.30.1 - 2025-10-07
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sqlsaber"
3
- version = "0.30.1"
3
+ version = "0.30.2"
4
4
  description = "SQLsaber - Open-source agentic SQL assistant"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -9,6 +9,7 @@ dependencies = [
9
9
  "rich>=13.7.0",
10
10
  "pydantic-ai",
11
11
  "keyring>=25.6.0",
12
+ "keyrings.cryptfile; sys_platform == 'linux'",
12
13
  "platformdirs>=4.0.0",
13
14
  "questionary>=2.1.0",
14
15
  "httpx>=0.28.1",
@@ -20,8 +21,8 @@ dependencies = [
20
21
  "sqlglot[rs]>=27.20.0",
21
22
  ]
22
23
 
23
- [tool.uv]
24
- dev-dependencies = ["ruff>=0.12.0", "pytest>=8.0.0", "pytest-asyncio>=1.0.0"]
24
+ [dependency-groups]
25
+ dev = ["ruff>=0.12.0", "pytest>=8.0.0", "pytest-asyncio>=1.0.0"]
25
26
 
26
27
  [build-system]
27
28
  requires = ["hatchling"]