apache-airflow-providers-sqlite 4.1.0__tar.gz → 4.1.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.
Files changed (31) hide show
  1. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/PKG-INFO +8 -9
  2. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/README.rst +4 -4
  3. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/changelog.rst +12 -0
  4. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/index.rst +3 -3
  5. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/provider.yaml +2 -1
  6. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/pyproject.toml +4 -5
  7. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/providers/sqlite/__init__.py +1 -1
  8. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/unit/sqlite/hooks/test_sqlite.py +31 -11
  9. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/.latest-doc-only-change.txt +0 -0
  10. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/commits.rst +0 -0
  11. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/conf.py +0 -0
  12. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/connections/sqlite.rst +0 -0
  13. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/installing-providers-from-sources.rst +0 -0
  14. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/integration-logos/SQLite.png +0 -0
  15. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/operators.rst +0 -0
  16. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/redirects.txt +0 -0
  17. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/docs/security.rst +0 -0
  18. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/__init__.py +0 -0
  19. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/providers/__init__.py +0 -0
  20. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/providers/sqlite/LICENSE +0 -0
  21. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/providers/sqlite/get_provider_info.py +0 -0
  22. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/providers/sqlite/hooks/__init__.py +0 -0
  23. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/src/airflow/providers/sqlite/hooks/sqlite.py +0 -0
  24. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/conftest.py +0 -0
  25. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/system/__init__.py +0 -0
  26. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/system/sqlite/__init__.py +0 -0
  27. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/system/sqlite/create_table.sql +0 -0
  28. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/system/sqlite/example_sqlite.py +0 -0
  29. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/unit/__init__.py +0 -0
  30. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/unit/sqlite/__init__.py +0 -0
  31. {apache_airflow_providers_sqlite-4.1.0 → apache_airflow_providers_sqlite-4.1.1}/tests/unit/sqlite/hooks/__init__.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-sqlite
3
- Version: 4.1.0
3
+ Version: 4.1.1
4
4
  Summary: Provider package apache-airflow-providers-sqlite for Apache Airflow
5
5
  Keywords: airflow-provider,sqlite,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
7
7
  Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
8
- Requires-Python: ~=3.9
8
+ Requires-Python: ~=3.10
9
9
  Description-Content-Type: text/x-rst
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Environment :: Console
@@ -15,7 +15,6 @@ Classifier: Intended Audience :: System Administrators
15
15
  Classifier: Framework :: Apache Airflow
16
16
  Classifier: Framework :: Apache Airflow :: Provider
17
17
  Classifier: License :: OSI Approved :: Apache Software License
18
- Classifier: Programming Language :: Python :: 3.9
19
18
  Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
21
20
  Classifier: Programming Language :: Python :: 3.12
@@ -23,8 +22,8 @@ Classifier: Topic :: System :: Monitoring
23
22
  Requires-Dist: apache-airflow>=2.10.0
24
23
  Requires-Dist: apache-airflow-providers-common-sql>=1.26.0
25
24
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
26
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/changelog.html
27
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0
25
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/changelog.html
26
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1
28
27
  Project-URL: Mastodon, https://fosstodon.org/@airflow
29
28
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
30
29
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -55,7 +54,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
55
54
 
56
55
  Package ``apache-airflow-providers-sqlite``
57
56
 
58
- Release: ``4.1.0``
57
+ Release: ``4.1.1``
59
58
 
60
59
 
61
60
  `SQLite <https://www.sqlite.org/>`__
@@ -68,7 +67,7 @@ This is a provider package for ``sqlite`` provider. All classes for this provide
68
67
  are in ``airflow.providers.sqlite`` python package.
69
68
 
70
69
  You can find package information and changelog for the provider
71
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/>`_.
70
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/>`_.
72
71
 
73
72
  Installation
74
73
  ------------
@@ -77,7 +76,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
77
76
  for the minimum Airflow version supported) via
78
77
  ``pip install apache-airflow-providers-sqlite``
79
78
 
80
- The package supports the following python versions: 3.9,3.10,3.11,3.12
79
+ The package supports the following python versions: 3.10,3.11,3.12
81
80
 
82
81
  Requirements
83
82
  ------------
@@ -109,5 +108,5 @@ Dependent package
109
108
  ============================================================================================================ ==============
110
109
 
111
110
  The changelog for the provider package can be found in the
112
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/changelog.html>`_.
111
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/changelog.html>`_.
113
112
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-sqlite``
25
25
 
26
- Release: ``4.1.0``
26
+ Release: ``4.1.1``
27
27
 
28
28
 
29
29
  `SQLite <https://www.sqlite.org/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``sqlite`` provider. All classes for this provide
36
36
  are in ``airflow.providers.sqlite`` python package.
37
37
 
38
38
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -45,7 +45,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
45
45
  for the minimum Airflow version supported) via
46
46
  ``pip install apache-airflow-providers-sqlite``
47
47
 
48
- The package supports the following python versions: 3.9,3.10,3.11,3.12
48
+ The package supports the following python versions: 3.10,3.11,3.12
49
49
 
50
50
  Requirements
51
51
  ------------
@@ -77,4 +77,4 @@ Dependent package
77
77
  ============================================================================================================ ==============
78
78
 
79
79
  The changelog for the provider package can be found in the
80
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/changelog.html>`_.
80
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/changelog.html>`_.
@@ -27,6 +27,18 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 4.1.1
31
+ .....
32
+
33
+ Misc
34
+ ~~~~
35
+
36
+ * ``Drop support for Python 3.9 (#52072)``
37
+
38
+ .. Below changes are excluded from the changelog. Move them to
39
+ appropriate section above if needed. Do not delete the lines(!):
40
+ * ``Remove pytest.db_test marker from SQLite tests (#52037)``
41
+
30
42
  4.1.0
31
43
  .....
32
44
 
@@ -77,7 +77,7 @@ apache-airflow-providers-sqlite package
77
77
  `SQLite <https://www.sqlite.org/>`__
78
78
 
79
79
 
80
- Release: 4.1.0
80
+ Release: 4.1.1
81
81
 
82
82
  Provider package
83
83
  ----------------
@@ -129,5 +129,5 @@ Downloading official packages
129
129
  You can download officially released packages and verify their checksums and signatures from the
130
130
  `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
131
131
 
132
- * `The apache-airflow-providers-sqlite 4.1.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.0.tar.gz.sha512>`__)
133
- * `The apache-airflow-providers-sqlite 4.1.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.0-py3-none-any.whl.sha512>`__)
132
+ * `The apache-airflow-providers-sqlite 4.1.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.1.tar.gz.sha512>`__)
133
+ * `The apache-airflow-providers-sqlite 4.1.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sqlite-4.1.1-py3-none-any.whl.sha512>`__)
@@ -22,12 +22,13 @@ description: |
22
22
  `SQLite <https://www.sqlite.org/>`__
23
23
 
24
24
  state: ready
25
- source-date-epoch: 1747133859
25
+ source-date-epoch: 1751474398
26
26
  # Note that those versions are maintained by release manager - do not update them manually
27
27
  # with the exception of case where other provider in sources has >= new provider version.
28
28
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
29
29
  # to be done in the same PR
30
30
  versions:
31
+ - 4.1.1
31
32
  - 4.1.0
32
33
  - 4.0.2
33
34
  - 4.0.1
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-sqlite"
28
- version = "4.1.0"
28
+ version = "4.1.1"
29
29
  description = "Provider package apache-airflow-providers-sqlite for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -44,13 +44,12 @@ classifiers = [
44
44
  "Framework :: Apache Airflow",
45
45
  "Framework :: Apache Airflow :: Provider",
46
46
  "License :: OSI Approved :: Apache Software License",
47
- "Programming Language :: Python :: 3.9",
48
47
  "Programming Language :: Python :: 3.10",
49
48
  "Programming Language :: Python :: 3.11",
50
49
  "Programming Language :: Python :: 3.12",
51
50
  "Topic :: System :: Monitoring",
52
51
  ]
53
- requires-python = "~=3.9"
52
+ requires-python = "~=3.10"
54
53
 
55
54
  # The dependencies should be modified in place in the generated file.
56
55
  # Any change in the dependencies is preserved when the file is regenerated
@@ -97,8 +96,8 @@ apache-airflow-providers-common-sql = {workspace = true}
97
96
  apache-airflow-providers-standard = {workspace = true}
98
97
 
99
98
  [project.urls]
100
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0"
101
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.0/changelog.html"
99
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1"
100
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-sqlite/4.1.1/changelog.html"
102
101
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
103
102
  "Source Code" = "https://github.com/apache/airflow"
104
103
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "4.1.0"
32
+ __version__ = "4.1.1"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -18,7 +18,7 @@
18
18
  from __future__ import annotations
19
19
 
20
20
  from unittest import mock
21
- from unittest.mock import patch
21
+ from unittest.mock import MagicMock, patch
22
22
 
23
23
  import pytest
24
24
  import sqlalchemy
@@ -26,7 +26,14 @@ import sqlalchemy
26
26
  from airflow.models import Connection
27
27
  from airflow.providers.sqlite.hooks.sqlite import SqliteHook
28
28
 
29
- pytestmark = pytest.mark.db_test
29
+
30
+ def mock_connection(host=None, extra=None, uri=None):
31
+ """Create a mock connection object without triggering SQLAlchemy ORM initialization."""
32
+ conn = MagicMock(spec=Connection)
33
+ conn.host = host
34
+ conn.extra = extra
35
+ conn.get_uri.return_value = uri if uri is not None else (host or "")
36
+ return conn
30
37
 
31
38
 
32
39
  class TestSqliteHookConn:
@@ -39,13 +46,22 @@ class TestSqliteHookConn:
39
46
  @pytest.mark.parametrize(
40
47
  "connection, uri",
41
48
  [
42
- (Connection(host="host"), "file:host"),
43
- (Connection(host="host", extra='{"mode":"ro"}'), "file:host?mode=ro"),
44
- (Connection(host=":memory:"), "file::memory:"),
45
- (Connection(), "file:"),
46
- (Connection(uri="sqlite://relative/path/to/db?mode=ro"), "file:relative/path/to/db?mode=ro"),
47
- (Connection(uri="sqlite:///absolute/path/to/db?mode=ro"), "file:/absolute/path/to/db?mode=ro"),
48
- (Connection(uri="sqlite://?mode=ro"), "file:?mode=ro"),
49
+ (mock_connection(host="host", uri="sqlite:///host"), "file:/host"),
50
+ (
51
+ mock_connection(host="host", extra='{"mode":"ro"}', uri="sqlite:///host?mode=ro"),
52
+ "file:/host?mode=ro",
53
+ ),
54
+ (mock_connection(host=":memory:", uri="sqlite:///:memory:"), "file:/:memory:"),
55
+ (mock_connection(uri="sqlite:///"), "file:/"),
56
+ (
57
+ mock_connection(uri="sqlite:///relative/path/to/db?mode=ro"),
58
+ "file:/relative/path/to/db?mode=ro",
59
+ ),
60
+ (
61
+ mock_connection(uri="sqlite:////absolute/path/to/db?mode=ro"),
62
+ "file://absolute/path/to/db?mode=ro",
63
+ ),
64
+ (mock_connection(uri="sqlite://?mode=ro"), "sqlite:/?mode=ro"),
49
65
  ],
50
66
  )
51
67
  @patch("airflow.providers.sqlite.hooks.sqlite.sqlite3.connect")
@@ -56,10 +72,12 @@ class TestSqliteHookConn:
56
72
 
57
73
  @patch("airflow.providers.sqlite.hooks.sqlite.sqlite3.connect")
58
74
  def test_get_conn_non_default_id(self, mock_connect):
59
- self.db_hook.get_connection = mock.Mock(return_value=Connection(host="host"))
75
+ self.db_hook.get_connection = mock.Mock(
76
+ return_value=mock_connection(host="host", uri="sqlite:///host")
77
+ )
60
78
  self.db_hook.test_conn_id = "non_default"
61
79
  self.db_hook.get_conn()
62
- mock_connect.assert_called_once_with("file:host", uri=True)
80
+ mock_connect.assert_called_once_with("file:/host", uri=True)
63
81
  self.db_hook.get_connection.assert_called_once_with("non_default")
64
82
 
65
83
 
@@ -135,6 +153,7 @@ class TestSqliteHook:
135
153
  self.db_hook.run(statement)
136
154
  assert self.db_hook.log.info.call_count == 2
137
155
 
156
+ @pytest.mark.db_test
138
157
  def test_generate_insert_sql_replace_false(self):
139
158
  expected_sql = "INSERT INTO Customer (first_name, last_name) VALUES (?,?)"
140
159
  rows = ("James", "1")
@@ -145,6 +164,7 @@ class TestSqliteHook:
145
164
 
146
165
  assert sql == expected_sql
147
166
 
167
+ @pytest.mark.db_test
148
168
  def test_generate_insert_sql_replace_true(self):
149
169
  expected_sql = "REPLACE INTO Customer (first_name, last_name) VALUES (?,?)"
150
170
  rows = ("James", "1")