sqlalchemy-cratedb 0.40.1__tar.gz → 0.41.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.
Files changed (45) hide show
  1. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/CHANGES.md +3 -0
  2. {sqlalchemy_cratedb-0.40.1/src/sqlalchemy_cratedb.egg-info → sqlalchemy_cratedb-0.41.0}/PKG-INFO +8 -8
  3. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/pyproject.toml +6 -6
  4. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/compat/api13.py +2 -2
  5. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/compat/core20.py +2 -3
  6. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/compiler.py +1 -1
  7. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/dialect.py +1 -1
  8. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/type/array.py +2 -0
  9. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0/src/sqlalchemy_cratedb.egg-info}/PKG-INFO +8 -8
  10. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb.egg-info/requires.txt +6 -6
  11. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/tests/test_support_polyfill.py +3 -3
  12. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/CODE_OF_CONDUCT.md +0 -0
  13. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/CONTRIBUTING.md +0 -0
  14. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/DEVELOP.md +0 -0
  15. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/LICENSE +0 -0
  16. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/MANIFEST.in +0 -0
  17. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/NOTICE +0 -0
  18. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/README.md +0 -0
  19. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/backlog.md +0 -0
  20. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/docs/_extra/robots.txt +0 -0
  21. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/docs/requirements.txt +0 -0
  22. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/setup.cfg +0 -0
  23. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/setup.py +0 -0
  24. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/__init__.py +0 -0
  25. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/compat/__init__.py +0 -0
  26. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/compat/core10.py +0 -0
  27. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/compat/core14.py +0 -0
  28. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/predicate.py +0 -0
  29. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/sa_version.py +0 -0
  30. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/support/__init__.py +0 -0
  31. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/support/pandas.py +0 -0
  32. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/support/polyfill.py +0 -0
  33. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/support/util.py +0 -0
  34. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/type/__init__.py +0 -0
  35. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/type/geo.py +0 -0
  36. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/type/object.py +0 -0
  37. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb/type/vector.py +0 -0
  38. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb.egg-info/SOURCES.txt +0 -0
  39. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb.egg-info/dependency_links.txt +0 -0
  40. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb.egg-info/entry_points.txt +0 -0
  41. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/src/sqlalchemy_cratedb.egg-info/top_level.txt +0 -0
  42. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/tests/test_error_handling.py +0 -0
  43. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/tests/test_schema.py +0 -0
  44. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/tests/test_support_pandas.py +0 -0
  45. {sqlalchemy_cratedb-0.40.1 → sqlalchemy_cratedb-0.41.0}/tests/test_support_util.py +0 -0
@@ -2,6 +2,9 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2025/01/30 0.41.0
6
+ - Dependencies: Updated to `crate-2.0.0`, which uses `orjson` for JSON marshalling
7
+
5
8
  ## 2024/11/04 0.40.1
6
9
  - CI: Verified support on Python 3.13
7
10
  - Dependencies: Updated to `crate-1.0.0.dev2`
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: sqlalchemy-cratedb
3
- Version: 0.40.1
3
+ Version: 0.41.0
4
4
  Summary: SQLAlchemy dialect for CrateDB.
5
5
  Author-email: "Crate.io" <office@crate.io>
6
6
  License: Apache License 2.0
@@ -64,7 +64,7 @@ Description-Content-Type: text/markdown
64
64
  License-File: LICENSE
65
65
  License-File: NOTICE
66
66
  Requires-Dist: backports.zoneinfo<1; python_version < "3.9"
67
- Requires-Dist: crate<2,>=1.0.0.dev2
67
+ Requires-Dist: crate<3,>=2
68
68
  Requires-Dist: geojson<4,>=2.5
69
69
  Requires-Dist: importlib-resources; python_version < "3.9"
70
70
  Requires-Dist: sqlalchemy<2.1,>=1
@@ -72,17 +72,17 @@ Requires-Dist: verlib2==0.2
72
72
  Provides-Extra: all
73
73
  Requires-Dist: sqlalchemy-cratedb[vector]; extra == "all"
74
74
  Provides-Extra: develop
75
- Requires-Dist: mypy<1.14; extra == "develop"
76
- Requires-Dist: poethepoet<0.30; extra == "develop"
75
+ Requires-Dist: mypy<1.15; extra == "develop"
76
+ Requires-Dist: poethepoet<0.33; extra == "develop"
77
77
  Requires-Dist: pyproject-fmt<2.6; extra == "develop"
78
- Requires-Dist: ruff<0.8; extra == "develop"
79
- Requires-Dist: validate-pyproject<0.23; extra == "develop"
78
+ Requires-Dist: ruff<0.10; extra == "develop"
79
+ Requires-Dist: validate-pyproject<0.24; extra == "develop"
80
80
  Provides-Extra: doc
81
81
  Requires-Dist: crate-docs-theme>=0.26.5; extra == "doc"
82
82
  Requires-Dist: sphinx<9,>=3.5; extra == "doc"
83
83
  Provides-Extra: release
84
84
  Requires-Dist: build<2; extra == "release"
85
- Requires-Dist: twine<6; extra == "release"
85
+ Requires-Dist: twine<7; extra == "release"
86
86
  Provides-Extra: test
87
87
  Requires-Dist: cratedb-toolkit[testing]; extra == "test"
88
88
  Requires-Dist: dask[dataframe]; python_version < "3.13" and extra == "test"
@@ -82,7 +82,7 @@ dynamic = [
82
82
  ]
83
83
  dependencies = [
84
84
  "backports.zoneinfo<1; python_version<'3.9'",
85
- "crate>=1.0.0.dev2,<2",
85
+ "crate>=2,<3",
86
86
  "geojson<4,>=2.5",
87
87
  "importlib-resources; python_version<'3.9'",
88
88
  "sqlalchemy<2.1,>=1",
@@ -92,11 +92,11 @@ optional-dependencies.all = [
92
92
  "sqlalchemy-cratedb[vector]",
93
93
  ]
94
94
  optional-dependencies.develop = [
95
- "mypy<1.14",
96
- "poethepoet<0.30",
95
+ "mypy<1.15",
96
+ "poethepoet<0.33",
97
97
  "pyproject-fmt<2.6",
98
- "ruff<0.8",
99
- "validate-pyproject<0.23",
98
+ "ruff<0.10",
99
+ "validate-pyproject<0.24",
100
100
  ]
101
101
  optional-dependencies.doc = [
102
102
  "crate-docs-theme>=0.26.5",
@@ -104,7 +104,7 @@ optional-dependencies.doc = [
104
104
  ]
105
105
  optional-dependencies.release = [
106
106
  "build<2",
107
- "twine<6",
107
+ "twine<7",
108
108
  ]
109
109
  optional-dependencies.test = [
110
110
  "cratedb-toolkit[testing]",
@@ -71,7 +71,7 @@ def exec_driver_sql(self, statement, parameters=None, execution_options=None):
71
71
  """
72
72
  if execution_options is not None:
73
73
  raise ValueError(
74
- "SA13 backward-compatibility: " "`exec_driver_sql` does not support `execution_options`"
74
+ "SA13 backward-compatibility: `exec_driver_sql` does not support `execution_options`"
75
75
  )
76
76
  args_10style, kwargs_10style = _distill_params_20(parameters)
77
77
  return self.execute(statement, *args_10style, **kwargs_10style)
@@ -106,7 +106,7 @@ def select_sa14(*columns, **kw) -> Select:
106
106
  if isinstance(columns, tuple) and isinstance(columns[0], list):
107
107
  if "whereclause" in kw:
108
108
  raise ValueError(
109
- "SA13 backward-compatibility: " "`whereclause` is both in kwargs and columns tuple"
109
+ "SA13 backward-compatibility: `whereclause` is both in kwargs and columns tuple"
110
110
  )
111
111
  columns, whereclause = columns
112
112
  kw["whereclause"] = whereclause
@@ -19,7 +19,7 @@
19
19
  # with Crate these terms will supersede the license and you may use the
20
20
  # software solely pursuant to the terms of the relevant commercial agreement.
21
21
 
22
- # ruff: noqa: S101 Use of `assert` detected
22
+ # ruff: noqa: S101 # Use of `assert` detected
23
23
 
24
24
  from typing import Any, Dict, List, MutableMapping, Optional, Tuple, Union
25
25
 
@@ -232,8 +232,7 @@ def _get_crud_params(
232
232
 
233
233
  if stmt._returning and stmt._return_defaults:
234
234
  raise exc.CompileError(
235
- "Can't compile statement that includes returning() and "
236
- "return_defaults() simultaneously"
235
+ "Can't compile statement that includes returning() and return_defaults() simultaneously"
237
236
  )
238
237
 
239
238
  if compile_state.isdelete:
@@ -146,7 +146,7 @@ class CrateDDLCompiler(compiler.DDLCompiler):
146
146
  def visit_computed_column(self, generated):
147
147
  if generated.persisted is False:
148
148
  raise sa.exc.CompileError(
149
- "Virtual computed columns are not supported, set " "'persisted' to None or True"
149
+ "Virtual computed columns are not supported, set 'persisted' to None or True"
150
150
  )
151
151
 
152
152
  return "GENERATED ALWAYS AS (%s)" % self.sql_compiler.process(
@@ -291,7 +291,7 @@ class CrateDialect(default.DefaultDialect):
291
291
  @reflection.cache
292
292
  def get_schema_names(self, connection, **kw):
293
293
  cursor = connection.exec_driver_sql(
294
- "select schema_name " "from information_schema.schemata " "order by schema_name asc"
294
+ "select schema_name from information_schema.schemata order by schema_name asc"
295
295
  )
296
296
  return [row[0] for row in cursor.fetchall()]
297
297
 
@@ -19,6 +19,8 @@
19
19
  # with Crate these terms will supersede the license and you may use the
20
20
  # software solely pursuant to the terms of the relevant commercial agreement.
21
21
 
22
+ # ruff: noqa: A005 # Module `array` shadows a Python standard-library module
23
+
22
24
  import sqlalchemy.types as sqltypes
23
25
  from sqlalchemy.ext.mutable import Mutable
24
26
  from sqlalchemy.sql import default_comparator, expression, operators
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: sqlalchemy-cratedb
3
- Version: 0.40.1
3
+ Version: 0.41.0
4
4
  Summary: SQLAlchemy dialect for CrateDB.
5
5
  Author-email: "Crate.io" <office@crate.io>
6
6
  License: Apache License 2.0
@@ -64,7 +64,7 @@ Description-Content-Type: text/markdown
64
64
  License-File: LICENSE
65
65
  License-File: NOTICE
66
66
  Requires-Dist: backports.zoneinfo<1; python_version < "3.9"
67
- Requires-Dist: crate<2,>=1.0.0.dev2
67
+ Requires-Dist: crate<3,>=2
68
68
  Requires-Dist: geojson<4,>=2.5
69
69
  Requires-Dist: importlib-resources; python_version < "3.9"
70
70
  Requires-Dist: sqlalchemy<2.1,>=1
@@ -72,17 +72,17 @@ Requires-Dist: verlib2==0.2
72
72
  Provides-Extra: all
73
73
  Requires-Dist: sqlalchemy-cratedb[vector]; extra == "all"
74
74
  Provides-Extra: develop
75
- Requires-Dist: mypy<1.14; extra == "develop"
76
- Requires-Dist: poethepoet<0.30; extra == "develop"
75
+ Requires-Dist: mypy<1.15; extra == "develop"
76
+ Requires-Dist: poethepoet<0.33; extra == "develop"
77
77
  Requires-Dist: pyproject-fmt<2.6; extra == "develop"
78
- Requires-Dist: ruff<0.8; extra == "develop"
79
- Requires-Dist: validate-pyproject<0.23; extra == "develop"
78
+ Requires-Dist: ruff<0.10; extra == "develop"
79
+ Requires-Dist: validate-pyproject<0.24; extra == "develop"
80
80
  Provides-Extra: doc
81
81
  Requires-Dist: crate-docs-theme>=0.26.5; extra == "doc"
82
82
  Requires-Dist: sphinx<9,>=3.5; extra == "doc"
83
83
  Provides-Extra: release
84
84
  Requires-Dist: build<2; extra == "release"
85
- Requires-Dist: twine<6; extra == "release"
85
+ Requires-Dist: twine<7; extra == "release"
86
86
  Provides-Extra: test
87
87
  Requires-Dist: cratedb-toolkit[testing]; extra == "test"
88
88
  Requires-Dist: dask[dataframe]; python_version < "3.13" and extra == "test"
@@ -1,4 +1,4 @@
1
- crate<2,>=1.0.0.dev2
1
+ crate<3,>=2
2
2
  geojson<4,>=2.5
3
3
  sqlalchemy<2.1,>=1
4
4
  verlib2==0.2
@@ -11,11 +11,11 @@ importlib-resources
11
11
  sqlalchemy-cratedb[vector]
12
12
 
13
13
  [develop]
14
- mypy<1.14
15
- poethepoet<0.30
14
+ mypy<1.15
15
+ poethepoet<0.33
16
16
  pyproject-fmt<2.6
17
- ruff<0.8
18
- validate-pyproject<0.23
17
+ ruff<0.10
18
+ validate-pyproject<0.24
19
19
 
20
20
  [doc]
21
21
  crate-docs-theme>=0.26.5
@@ -23,7 +23,7 @@ sphinx<9,>=3.5
23
23
 
24
24
  [release]
25
25
  build<2
26
- twine<6
26
+ twine<7
27
27
 
28
28
  [test]
29
29
  cratedb-toolkit[testing]
@@ -143,9 +143,9 @@ def test_refresh_after_dml(cratedb_service, mode):
143
143
  result = query.first()
144
144
 
145
145
  # Sanity checks.
146
- assert (
147
- result is not None
148
- ), "Database result is empty. Most probably, `REFRESH TABLE` wasn't issued."
146
+ assert result is not None, (
147
+ "Database result is empty. Most probably, `REFRESH TABLE` wasn't issued."
148
+ )
149
149
 
150
150
  # Compare outcome.
151
151
  assert result[0] == "foo"