sqlspec 0.1.1__tar.gz → 0.4.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.

Potentially problematic release.


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

Files changed (64) hide show
  1. {sqlspec-0.1.1 → sqlspec-0.4.0}/.pre-commit-config.yaml +1 -1
  2. {sqlspec-0.1.1 → sqlspec-0.4.0}/CONTRIBUTING.rst +4 -4
  3. sqlspec-0.4.0/Makefile +229 -0
  4. sqlspec-0.4.0/NOTICE +29 -0
  5. sqlspec-0.4.0/PKG-INFO +84 -0
  6. sqlspec-0.4.0/README.md +33 -0
  7. {sqlspec-0.1.1 → sqlspec-0.4.0}/pyproject.toml +167 -121
  8. {sqlspec-0.1.1 → sqlspec-0.4.0}/sqlspec/__metadata__.py +1 -1
  9. {sqlspec-0.1.1 → sqlspec-0.4.0}/sqlspec/_serialization.py +1 -1
  10. sqlspec-0.4.0/sqlspec/_typing.py +138 -0
  11. sqlspec-0.4.0/sqlspec/adapters/adbc/config.py +52 -0
  12. sqlspec-0.4.0/sqlspec/adapters/aiosqlite/__init__.py +3 -0
  13. sqlspec-0.4.0/sqlspec/adapters/aiosqlite/config.py +95 -0
  14. sqlspec-0.4.0/sqlspec/adapters/asyncmy/__init__.py +3 -0
  15. sqlspec-0.4.0/sqlspec/adapters/asyncmy/config.py +176 -0
  16. sqlspec-0.4.0/sqlspec/adapters/asyncpg/config.py +145 -0
  17. sqlspec-0.4.0/sqlspec/adapters/duckdb/config.py +201 -0
  18. sqlspec-0.4.0/sqlspec/adapters/oracledb/__init__.py +13 -0
  19. sqlspec-0.4.0/sqlspec/adapters/oracledb/config/__init__.py +9 -0
  20. sqlspec-0.4.0/sqlspec/adapters/oracledb/config/_asyncio.py +95 -0
  21. sqlspec-0.4.0/sqlspec/adapters/oracledb/config/_common.py +151 -0
  22. sqlspec-0.4.0/sqlspec/adapters/oracledb/config/_sync.py +95 -0
  23. sqlspec-0.4.0/sqlspec/adapters/psycopg/config/__init__.py +9 -0
  24. sqlspec-0.4.0/sqlspec/adapters/psycopg/config/_async.py +75 -0
  25. sqlspec-0.4.0/sqlspec/adapters/psycopg/config/_common.py +73 -0
  26. sqlspec-0.4.0/sqlspec/adapters/psycopg/config/_sync.py +75 -0
  27. sqlspec-0.4.0/sqlspec/adapters/sqlite/__init__.py +0 -0
  28. sqlspec-0.4.0/sqlspec/adapters/sqlite/config.py +92 -0
  29. sqlspec-0.4.0/sqlspec/config.py +16 -0
  30. {sqlspec-0.1.1 → sqlspec-0.4.0}/sqlspec/exceptions.py +29 -0
  31. sqlspec-0.4.0/sqlspec/extensions/__init__.py +0 -0
  32. sqlspec-0.4.0/sqlspec/extensions/litestar/__init__.py +0 -0
  33. sqlspec-0.4.0/sqlspec/extensions/litestar/plugin.py +34 -0
  34. {sqlspec-0.1.1 → sqlspec-0.4.0}/sqlspec/filters.py +35 -28
  35. sqlspec-0.4.0/sqlspec/py.typed +0 -0
  36. sqlspec-0.4.0/sqlspec/typing.py +415 -0
  37. sqlspec-0.4.0/tests/__init__.py +0 -0
  38. sqlspec-0.4.0/tests/unit/__init__.py +0 -0
  39. sqlspec-0.4.0/tests/unit/test_adapters/__init__.py +0 -0
  40. sqlspec-0.4.0/tests/unit/test_adapters/test_duckdb/__init__.py +0 -0
  41. sqlspec-0.4.0/tests/unit/test_adapters/test_duckdb/test_config.py +252 -0
  42. sqlspec-0.4.0/tests/unit/test_typing.py +276 -0
  43. sqlspec-0.4.0/tools/__init__.py +0 -0
  44. {sqlspec-0.1.1 → sqlspec-0.4.0}/tools/build_docs.py +1 -1
  45. sqlspec-0.4.0/uv.lock +3663 -0
  46. sqlspec-0.1.1/Makefile +0 -143
  47. sqlspec-0.1.1/PKG-INFO +0 -25
  48. sqlspec-0.1.1/README.md +0 -14
  49. sqlspec-0.1.1/sqlspec/types/empty.py +0 -18
  50. sqlspec-0.1.1/sqlspec/types/protocols.py +0 -117
  51. sqlspec-0.1.1/sqlspec/utils/dataclass.py +0 -130
  52. sqlspec-0.1.1/uv.lock +0 -1921
  53. {sqlspec-0.1.1 → sqlspec-0.4.0}/.gitignore +0 -0
  54. {sqlspec-0.1.1 → sqlspec-0.4.0}/sqlspec/__init__.py +0 -0
  55. {sqlspec-0.1.1/sqlspec/types → sqlspec-0.4.0/sqlspec/adapters}/__init__.py +0 -0
  56. {sqlspec-0.1.1/sqlspec/utils → sqlspec-0.4.0/sqlspec/adapters/adbc}/__init__.py +0 -0
  57. {sqlspec-0.1.1/tests → sqlspec-0.4.0/sqlspec/adapters/asyncpg}/__init__.py +0 -0
  58. {sqlspec-0.1.1/tools → sqlspec-0.4.0/sqlspec/adapters/duckdb}/__init__.py +0 -0
  59. /sqlspec-0.1.1/sqlspec/py.typed → /sqlspec-0.4.0/sqlspec/adapters/psycopg/__init__.py +0 -0
  60. {sqlspec-0.1.1 → sqlspec-0.4.0}/tests/conftest.py +0 -0
  61. {sqlspec-0.1.1 → sqlspec-0.4.0}/tools/pypi_readme.py +0 -0
  62. {sqlspec-0.1.1 → sqlspec-0.4.0}/tools/sphinx_ext/__init__.py +0 -0
  63. {sqlspec-0.1.1 → sqlspec-0.4.0}/tools/sphinx_ext/changelog.py +0 -0
  64. {sqlspec-0.1.1 → sqlspec-0.4.0}/tools/sphinx_ext/missing_references.py +0 -0
@@ -17,7 +17,7 @@ repos:
17
17
  - id: mixed-line-ending
18
18
  - id: trailing-whitespace
19
19
  - repo: https://github.com/charliermarsh/ruff-pre-commit
20
- rev: "v0.7.1"
20
+ rev: "v0.8.3"
21
21
  hooks:
22
22
  - id: ruff
23
23
  args: ["--fix"]
@@ -14,7 +14,7 @@ Code contributions
14
14
  Workflow
15
15
  ++++++++
16
16
 
17
- 1. `Fork <https://github.com/litestar-org/litestar-htmx/fork>`_ the `litestar-htmx repository <https://github.com/litestar-org/litestar-htmx>`_
17
+ 1. `Fork <https://github.com/litestar-org/sqlspec/fork>`_ the `sqlspec repository <https://github.com/litestar-org/sqlspec>`_
18
18
  2. Clone your fork locally with git
19
19
  3. `Set up the environment <#setting-up-the-environment>`_
20
20
  4. Make your changes
@@ -59,13 +59,13 @@ You can serve the documentation with ``make docs-serve``, or build them with ``m
59
59
  Creating a new release
60
60
  ----------------------
61
61
 
62
- 1. Increment the version in `pyproject.toml <https://github.com/litestar-org/litestar-htmx/blob/main/pyproject.toml>`_.
62
+ 1. Increment the version in `pyproject.toml <https://github.com/litestar-org/sqlspec/blob/main/pyproject.toml>`_.
63
63
  .. note:: The version should follow `semantic versioning <https://semver.org/>`_ and `PEP 440 <https://www.python.org/dev/peps/pep-0440/>`_.
64
- 2. `Draft a new release <https://github.com/litestar-org/litestar-htmx/releases/new>`_ on GitHub
64
+ 2. `Draft a new release <https://github.com/litestar-org/sqlspec/releases/new>`_ on GitHub
65
65
 
66
66
  * Use ``vMAJOR.MINOR.PATCH`` (e.g. ``v1.2.3``) as both the tag and release title
67
67
  * Fill in the release description. You can use the "Generate release notes" function to get a draft for this
68
68
  3. Commit your changes and push to ``main``
69
69
  4. Publish the release
70
- 5. Go to `Actions <https://github.com/litestar-org/litestar-htmx/actions>`_ and approve the release workflow
70
+ 5. Go to `Actions <https://github.com/litestar-org/sqlspec/actions>`_ and approve the release workflow
71
71
  6. Check that the workflow runs successfully
sqlspec-0.4.0/Makefile ADDED
@@ -0,0 +1,229 @@
1
+ SHELL := /bin/bash
2
+
3
+ # =============================================================================
4
+ # Configuration and Environment Variables
5
+ # =============================================================================
6
+
7
+ .DEFAULT_GOAL := help
8
+ .ONESHELL:
9
+ .EXPORT_ALL_VARIABLES:
10
+ MAKEFLAGS += --no-print-directory
11
+
12
+ # -----------------------------------------------------------------------------
13
+ # Display Formatting and Colors
14
+ # -----------------------------------------------------------------------------
15
+ BLUE := $(shell printf "\033[1;34m")
16
+ GREEN := $(shell printf "\033[1;32m")
17
+ RED := $(shell printf "\033[1;31m")
18
+ YELLOW := $(shell printf "\033[1;33m")
19
+ NC := $(shell printf "\033[0m")
20
+ INFO := $(shell printf "$(BLUE)ℹ$(NC)")
21
+ OK := $(shell printf "$(GREEN)✓$(NC)")
22
+ WARN := $(shell printf "$(YELLOW)⚠$(NC)")
23
+ ERROR := $(shell printf "$(RED)✖$(NC)")
24
+
25
+ # =============================================================================
26
+ # Help and Documentation
27
+ # =============================================================================
28
+
29
+ .PHONY: help
30
+ help: ## Display this help text for Makefile
31
+ @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
32
+
33
+ # =============================================================================
34
+ # Installation and Environment Setup
35
+ # =============================================================================
36
+
37
+ .PHONY: install-uv
38
+ install-uv: ## Install latest version of uv
39
+ @echo "${INFO} Installing uv..."
40
+ @curl -LsSf https://astral.sh/uv/install.sh | sh >/dev/null 2>&1
41
+ @echo "${OK} UV installed successfully"
42
+
43
+ .PHONY: install
44
+ install: destroy clean ## Install the project, dependencies, and pre-commit
45
+ @echo "${INFO} Starting fresh installation..."
46
+ @uv python pin 3.12 >/dev/null 2>&1
47
+ @uv venv >/dev/null 2>&1
48
+ @uv sync --all-extras --dev
49
+ @echo "${OK} Installation complete! 🎉"
50
+
51
+ .PHONY: destroy
52
+ destroy: ## Destroy the virtual environment
53
+ @echo "${INFO} Destroying virtual environment... 🗑️"
54
+ @uv run pre-commit clean >/dev/null 2>&1
55
+ @rm -rf .venv
56
+ @echo "${OK} Virtual environment destroyed 🗑️"
57
+
58
+ # =============================================================================
59
+ # Dependency Management
60
+ # =============================================================================
61
+
62
+ .PHONY: upgrade
63
+ upgrade: ## Upgrade all dependencies to latest stable versions
64
+ @echo "${INFO} Updating all dependencies... 🔄"
65
+ @uv lock --upgrade
66
+ @echo "${OK} Dependencies updated 🔄"
67
+ @uv run pre-commit autoupdate
68
+ @echo "${OK} Updated Pre-commit hooks 🔄"
69
+
70
+ .PHONY: lock
71
+ lock: ## Rebuild lockfiles from scratch
72
+ @echo "${INFO} Rebuilding lockfiles... 🔄"
73
+ @uv lock --upgrade >/dev/null 2>&1
74
+ @echo "${OK} Lockfiles updated"
75
+
76
+ # =============================================================================
77
+ # Build and Release
78
+ # =============================================================================
79
+
80
+ .PHONY: build
81
+ build: ## Build the package
82
+ @echo "${INFO} Building package... 📦"
83
+ @uv build >/dev/null 2>&1
84
+ @echo "${OK} Package build complete"
85
+
86
+ .PHONY: release
87
+ release: ## Bump version and create release tag
88
+ @echo "${INFO} Preparing for release... 📦"
89
+ @make docs
90
+ @make clean
91
+ @make build
92
+ @uv lock --upgrade-package litestar-vite >/dev/null 2>&1
93
+ @uv run bump-my-version bump $(bump)
94
+ @echo "${OK} Release complete 🎉"
95
+
96
+ # =============================================================================
97
+ # Cleaning and Maintenance
98
+ # =============================================================================
99
+
100
+ .PHONY: clean
101
+ clean: ## Cleanup temporary build artifacts
102
+ @echo "${INFO} Cleaning working directory... 🧹"
103
+ @rm -rf .pytest_cache .ruff_cache .hypothesis build/ -rf dist/ .eggs/ .coverage coverage.xml coverage.json htmlcov/ .pytest_cache tests/.pytest_cache tests/**/.pytest_cache .mypy_cache .unasyncd_cache/ .auto_pytabs_cache >/dev/null 2>&1
104
+ @find . -name '*.egg-info' -exec rm -rf {} + >/dev/null 2>&1
105
+ @find . -type f -name '*.egg' -exec rm -f {} + >/dev/null 2>&1
106
+ @find . -name '*.pyc' -exec rm -f {} + >/dev/null 2>&1
107
+ @find . -name '*.pyo' -exec rm -f {} + >/dev/null 2>&1
108
+ @find . -name '*~' -exec rm -f {} + >/dev/null 2>&1
109
+ @find . -name '__pycache__' -exec rm -rf {} + >/dev/null 2>&1
110
+ @find . -name '.ipynb_checkpoints' -exec rm -rf {} + >/dev/null 2>&1
111
+ @echo "${OK} Working directory cleaned"
112
+ $(MAKE) docs-clean
113
+
114
+ # =============================================================================
115
+ # Testing and Quality Checks
116
+ # =============================================================================
117
+
118
+ .PHONY: test
119
+ test: ## Run the tests
120
+ @echo "${INFO} Running test cases... 🧪"
121
+ @uv run pytest tests
122
+ @echo "${OK} Tests complete ✨"
123
+
124
+ .PHONY: test-examples
125
+ test-examples: ## Run the examples tests
126
+ @echo "${INFO} Running example tests... 🧪"
127
+ @uv run pytest docs/examples
128
+ @echo "${OK} Example tests complete ✨"
129
+
130
+ .PHONY: test-all
131
+ test-all: test test-examples ## Run all tests
132
+ @echo "${INFO} All tests executed successfully ✨"
133
+
134
+ .PHONY: coverage
135
+ coverage: ## Run tests with coverage report
136
+ @echo "${INFO} Running tests with coverage... 📊"
137
+ @uv run pytest tests --cov -n auto --quiet
138
+ @uv run coverage html >/dev/null 2>&1
139
+ @uv run coverage xml >/dev/null 2>&1
140
+ @echo "${OK} Coverage report generated ✨"
141
+
142
+ .PHONY: mypy
143
+ mypy: ## Run mypy
144
+ @echo "${INFO} Running mypy... 🔍"
145
+ @uv run dmypy run
146
+ @echo "${OK} mypy complete ✨"
147
+
148
+ .PHONY: mypy-nocache
149
+ mypy-nocache: ## Run Mypy without cache
150
+ @echo "${INFO} Running mypy without cache... 🔍"
151
+ @uv run mypy
152
+ @echo "${OK} mypy complete ✨"
153
+
154
+ .PHONY: pyright
155
+ pyright: ## Run pyright
156
+ @echo "${INFO} Running pyright... 🔍"
157
+ @uv run pyright
158
+ @echo "${OK} pyright complete ✨"
159
+
160
+ .PHONY: type-check
161
+ type-check: mypy pyright ## Run all type checking
162
+ @echo "${OK} All type checks passed ✨"
163
+
164
+ # -----------------------------------------------------------------------------
165
+ # Linting and Formatting
166
+ # -----------------------------------------------------------------------------
167
+
168
+ .PHONY: pre-commit
169
+ pre-commit: ## Run pre-commit hooks
170
+ @echo "${INFO} Running pre-commit checks... 🔎"
171
+ @uv run pre-commit run --color=always --all-files
172
+ @echo "${OK} Pre-commit checks passed ✨"
173
+
174
+ .PHONY: slotscheck
175
+ slotscheck: ## Run slotscheck
176
+ @echo "${INFO} Running slotscheck... 🔍"
177
+ @uv run slotscheck sqlspec/
178
+ @echo "${OK} Slotscheck complete ✨"
179
+
180
+ .PHONY: fix
181
+ fix: ## Run code formatters
182
+ @echo "${INFO} Running code formatters... 🔧"
183
+ @uv run ruff check --fix --unsafe-fixes
184
+ @echo "${OK} Code formatting complete ✨"
185
+
186
+ .PHONY: lint
187
+ lint: fix pre-commit type-check slotscheck ## Run all linting checks
188
+ @echo "${OK} All linting checks passed ✨"
189
+
190
+ .PHONY: check-all
191
+ check-all: lint test-all coverage ## Run all checks (lint, test, coverage)
192
+ @echo "${OK} All checks passed successfully ✨"
193
+
194
+ # =============================================================================
195
+ # Documentation
196
+ # =============================================================================
197
+
198
+ .PHONY: docs-clean
199
+ docs-clean: ## Clean documentation build
200
+ @echo "${INFO} Cleaning documentation build assets... 🧹"
201
+ @rm -rf docs/_build >/dev/null 2>&1
202
+ @echo "${OK} Documentation assets cleaned"
203
+
204
+ .PHONY: docs-serve
205
+ docs-serve: docs-clean ## Serve documentation locally
206
+ @echo "${INFO} Starting documentation server... 📚"
207
+ @uv run sphinx-autobuild docs docs/_build/ -j auto --watch sqlspec --watch docs --watch tests --watch CONTRIBUTING.rst --port 8002
208
+
209
+ .PHONY: docs
210
+ docs: docs-clean ## Build documentation
211
+ @echo "${INFO} Building documentation... 📝"
212
+ @uv run sphinx-build -M html docs docs/_build/ -E -a -j auto -W --keep-going >/dev/null 2>&1
213
+ @echo "${OK} Documentation built successfully"
214
+
215
+ .PHONY: docs-linkcheck
216
+ docs-linkcheck: ## Check documentation links
217
+ @echo "${INFO} Checking documentation links... 🔗"
218
+ @uv run sphinx-build -b linkcheck ./docs ./docs/_build -D linkcheck_ignore='http://.*','https://.*'
219
+ @echo "${OK} Link check complete"
220
+
221
+ .PHONY: docs-linkcheck-full
222
+ docs-linkcheck-full: ## Run full documentation link check
223
+ @echo "${INFO} Running full link check... 🔗"
224
+ @uv run sphinx-build -b linkcheck ./docs ./docs/_build -D linkcheck_anchors=0
225
+ @echo "${OK} Full link check complete"
226
+
227
+ # =============================================================================
228
+ # End of Makefile
229
+ # =============================================================================
sqlspec-0.4.0/NOTICE ADDED
@@ -0,0 +1,29 @@
1
+ # Early versions of this utility adapt code from `aoisql`.
2
+ # BSD 2-Clause License
3
+ Copyright (c) 2014-2017, Honza Pokorny
4
+ Copyright (c) 2018, William Vaughn
5
+ All rights reserved.
6
+
7
+ Redistribution and use in source and binary forms, with or without
8
+ modification, are permitted provided that the following conditions are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright notice, this
11
+ list of conditions and the following disclaimer.
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
20
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
27
+ The views and conclusions contained in the software and documentation are those
28
+ of the authors and should not be interpreted as representing official policies,
29
+ either expressed or implied, of the aiosql Project.
sqlspec-0.4.0/PKG-INFO ADDED
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: sqlspec
3
+ Version: 0.4.0
4
+ Summary: SQL Experiments in Python
5
+ Author-email: Cody Fincher <cody@litestar.dev>
6
+ Maintainer-email: Litestar Developers <hello@litestar.dev>
7
+ License-File: NOTICE
8
+ Requires-Python: <4.0,>=3.9
9
+ Requires-Dist: eval-type-backport; python_version <= '3.9'
10
+ Requires-Dist: sqlglot
11
+ Requires-Dist: typing-extensions>=4.0.0
12
+ Provides-Extra: adbc
13
+ Requires-Dist: adbc-driver-manager; extra == 'adbc'
14
+ Requires-Dist: pyarrow; extra == 'adbc'
15
+ Provides-Extra: aioodbc
16
+ Requires-Dist: aioodbc; extra == 'aioodbc'
17
+ Provides-Extra: aiosqlite
18
+ Requires-Dist: aiosqlite; extra == 'aiosqlite'
19
+ Provides-Extra: asyncmy
20
+ Requires-Dist: asyncmy; extra == 'asyncmy'
21
+ Provides-Extra: asyncpg
22
+ Requires-Dist: asyncpg; extra == 'asyncpg'
23
+ Provides-Extra: bigquery
24
+ Requires-Dist: google-cloud-bigquery; extra == 'bigquery'
25
+ Provides-Extra: duckdb
26
+ Requires-Dist: duckdb; extra == 'duckdb'
27
+ Provides-Extra: fastapi
28
+ Requires-Dist: fastapi; extra == 'fastapi'
29
+ Provides-Extra: flask
30
+ Requires-Dist: flask; extra == 'flask'
31
+ Provides-Extra: litestar
32
+ Requires-Dist: litestar; extra == 'litestar'
33
+ Provides-Extra: msgspec
34
+ Requires-Dist: msgspec; extra == 'msgspec'
35
+ Provides-Extra: oracledb
36
+ Requires-Dist: oracledb; extra == 'oracledb'
37
+ Provides-Extra: performance
38
+ Requires-Dist: google-re2; (sys_platform == 'linux') and extra == 'performance'
39
+ Requires-Dist: sqlglot[rs]; extra == 'performance'
40
+ Provides-Extra: psycopg
41
+ Requires-Dist: psycopg[binary,pool]; extra == 'psycopg'
42
+ Provides-Extra: pydantic
43
+ Requires-Dist: pydantic; extra == 'pydantic'
44
+ Provides-Extra: pymssql
45
+ Requires-Dist: pymssql; extra == 'pymssql'
46
+ Provides-Extra: pymysql
47
+ Requires-Dist: pymysql; extra == 'pymysql'
48
+ Provides-Extra: spanner
49
+ Requires-Dist: google-cloud-spanner; extra == 'spanner'
50
+ Description-Content-Type: text/markdown
51
+
52
+ <!-- markdownlint-disable -->
53
+ <p align="center">
54
+ <!-- github-banner-start -->
55
+ <img src="https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Logo%20-%20Banner%20-%20Inline%20-%20Light.svg#gh-light-mode-only" alt="Litestar Logo - Light" width="100%" height="auto" />
56
+ <img src="https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Logo%20-%20Banner%20-%20Inline%20-%20Dark.svg#gh-dark-mode-only" alt="Litestar Logo - Dark" width="100%" height="auto" />
57
+ <!-- github-banner-end -->
58
+
59
+ </p>
60
+ <div align="center">
61
+ <!-- markdownlint-restore -->
62
+
63
+ # SQLSpec
64
+
65
+ SQL Experiments in Python
66
+
67
+
68
+ ## Minimal SQL Abstractions for Python.
69
+
70
+ - Modern: Typed and Extensible
71
+ - Multi-database: SQLite, Postgres, DuckDB, MySQL, Oracle, SQL Server, Spanner, Big Query, and more...
72
+ - Easy ability to manipulate and add filters to queries
73
+ - Validate and Convert between dialects with `sqlglot`
74
+ - and more...
75
+
76
+ ## Can it do `X`?
77
+
78
+ - Probably not currently; but, if it makes sense we can add enhancements.
79
+
80
+ ## Inspiration
81
+
82
+ `aiosql` is the primary influence for this library. However, I wanted to be able to use the query interface from `aiosql` a bit more flexibly.
83
+
84
+ Why not add it to `aiosql`? Where it makes sense, many of these changes will likely get submitted to aiosql as a PR (`spanner` and `bigquery` drivers are likely the starting point.)
@@ -0,0 +1,33 @@
1
+ <!-- markdownlint-disable -->
2
+ <p align="center">
3
+ <!-- github-banner-start -->
4
+ <img src="https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Logo%20-%20Banner%20-%20Inline%20-%20Light.svg#gh-light-mode-only" alt="Litestar Logo - Light" width="100%" height="auto" />
5
+ <img src="https://raw.githubusercontent.com/litestar-org/branding/main/assets/Branding%20-%20SVG%20-%20Transparent/Logo%20-%20Banner%20-%20Inline%20-%20Dark.svg#gh-dark-mode-only" alt="Litestar Logo - Dark" width="100%" height="auto" />
6
+ <!-- github-banner-end -->
7
+
8
+ </p>
9
+ <div align="center">
10
+ <!-- markdownlint-restore -->
11
+
12
+ # SQLSpec
13
+
14
+ SQL Experiments in Python
15
+
16
+
17
+ ## Minimal SQL Abstractions for Python.
18
+
19
+ - Modern: Typed and Extensible
20
+ - Multi-database: SQLite, Postgres, DuckDB, MySQL, Oracle, SQL Server, Spanner, Big Query, and more...
21
+ - Easy ability to manipulate and add filters to queries
22
+ - Validate and Convert between dialects with `sqlglot`
23
+ - and more...
24
+
25
+ ## Can it do `X`?
26
+
27
+ - Probably not currently; but, if it makes sense we can add enhancements.
28
+
29
+ ## Inspiration
30
+
31
+ `aiosql` is the primary influence for this library. However, I wanted to be able to use the query interface from `aiosql` a bit more flexibly.
32
+
33
+ Why not add it to `aiosql`? Where it makes sense, many of these changes will likely get submitted to aiosql as a PR (`spanner` and `bigquery` drivers are likely the starting point.)