fluidattacks_gitlab_sdk 1.1.0__tar.gz → 2.0.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 (80) hide show
  1. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/PKG-INFO +2 -2
  2. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/flake.lock +27 -26
  3. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/flake.nix +1 -1
  4. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/__init__.py +1 -1
  5. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/pyproject.toml +2 -4
  6. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/uv.lock +150 -14
  7. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/.envrc +0 -0
  8. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/build/default.nix +0 -0
  9. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/build/filter.nix +0 -0
  10. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_decoders.py +0 -0
  11. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_gql_client/__init__.py +0 -0
  12. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_gql_client/_client.py +0 -0
  13. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_gql_client/_error.py +0 -0
  14. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_gql_client/_handlers.py +0 -0
  15. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_handlers.py +0 -0
  16. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_http_client/__init__.py +0 -0
  17. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_http_client/_client_1.py +0 -0
  18. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_http_client/_core.py +0 -0
  19. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/_logger.py +0 -0
  20. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/ids.py +0 -0
  21. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/__init__.py +0 -0
  22. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/_client/__init__.py +0 -0
  23. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/_client/_decode.py +0 -0
  24. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/_client/_get_issue.py +0 -0
  25. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/_client/_most_recent.py +0 -0
  26. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/_client/_updated_by.py +0 -0
  27. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/issues/core.py +0 -0
  28. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/members/__init__.py +0 -0
  29. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/members/_client.py +0 -0
  30. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/members/_decode.py +0 -0
  31. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/members/core.py +0 -0
  32. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/merge_requests/__init__.py +0 -0
  33. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/merge_requests/_client.py +0 -0
  34. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/merge_requests/_decode.py +0 -0
  35. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/merge_requests/core.py +0 -0
  36. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/milestones/__init__.py +0 -0
  37. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/milestones/_client.py +0 -0
  38. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/milestones/_decode.py +0 -0
  39. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/milestones/core.py +0 -0
  40. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/mr_approvals/__init__.py +0 -0
  41. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/mr_approvals/_client.py +0 -0
  42. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/mr_approvals/_decode.py +0 -0
  43. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/mr_approvals/core.py +0 -0
  44. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/py.typed +0 -0
  45. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/users/__init__.py +0 -0
  46. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/users/core.py +0 -0
  47. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/fluidattacks_gitlab_sdk/users/decode.py +0 -0
  48. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/mypy.ini +0 -0
  49. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/ruff.toml +0 -0
  50. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/__init__.py +0 -0
  51. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/arch/__init__.py +0 -0
  52. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/arch/arch.py +0 -0
  53. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/arch/test_arch.py +0 -0
  54. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/issues/__init__.py +0 -0
  55. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/issues/data.json +0 -0
  56. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/issues/test_decode.py +0 -0
  57. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/members/__init__.py +0 -0
  58. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/members/data.json +0 -0
  59. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/members/test_decode_members.py +0 -0
  60. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/merge_request/__init__.py +0 -0
  61. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/merge_request/data.json +0 -0
  62. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/merge_request/data_mr_updates.json +0 -0
  63. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/merge_request/test_decode.py +0 -0
  64. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/mr_approvals/__init__.py +0 -0
  65. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/mr_approvals/data.json +0 -0
  66. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/mr_approvals/decoder_test.py +0 -0
  67. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests/py.typed +0 -0
  68. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/__init__.py +0 -0
  69. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/_utils.py +0 -0
  70. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/issues/__init__.py +0 -0
  71. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/issues/test_issue_client.py +0 -0
  72. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/members/__init__.py +0 -0
  73. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/members/test_client_members.py +0 -0
  74. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/milestones/__init__.py +0 -0
  75. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/milestones/client_test.py +0 -0
  76. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/mr_approvals/__init__.py +0 -0
  77. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/mr_approvals/client_test.py +0 -0
  78. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/py.typed +0 -0
  79. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/test_gql_client.py +0 -0
  80. {fluidattacks_gitlab_sdk-1.1.0 → fluidattacks_gitlab_sdk-2.0.0}/tests_fx/test_mr.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fluidattacks_gitlab_sdk
3
- Version: 1.1.0
3
+ Version: 2.0.0
4
4
  Summary: gitlab SDK
5
5
  Author-email: Product Team <development@fluidattacks.com>
6
6
  Requires-Python: >=3.11
@@ -9,5 +9,5 @@ Requires-Dist: requests-toolbelt >=1.0.0, <2.0.0
9
9
  Requires-Dist: fa-purity >=2.5.2, <3.0.0
10
10
  Requires-Dist: pure-requests >=3.0.0, <4.0.0
11
11
  Requires-Dist: python-dateutil >=2.8.0, <3.0.0
12
- Requires-Dist: fluidattacks-etl-utils >=1.0.0, <2.0.0
12
+ Requires-Dist: fluidattacks-etl-utils >=2.0.0, <3.0.0
13
13
  Requires-Dist: fluidattacks-utils-logger >=2.0.0, <3.0.0
@@ -5,11 +5,11 @@
5
5
  "nixpkgs-lib": "nixpkgs-lib"
6
6
  },
7
7
  "locked": {
8
- "lastModified": 1754487366,
9
- "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
8
+ "lastModified": 1762810396,
9
+ "narHash": "sha256-dxFVgQPG+R72dkhXTtqUm7KpxElw3u6E+YlQ2WaDgt8=",
10
10
  "owner": "hercules-ci",
11
11
  "repo": "flake-parts",
12
- "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
12
+ "rev": "0bdadb1b265fb4143a75bd1ec7d8c915898a9923",
13
13
  "type": "github"
14
14
  },
15
15
  "original": {
@@ -20,11 +20,11 @@
20
20
  },
21
21
  "nix_filter": {
22
22
  "locked": {
23
- "lastModified": 1731533336,
24
- "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
23
+ "lastModified": 1757882181,
24
+ "narHash": "sha256-+cCxYIh2UNalTz364p+QYmWHs0P+6wDhiWR4jDIKQIU=",
25
25
  "owner": "numtide",
26
26
  "repo": "nix-filter",
27
- "rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
27
+ "rev": "59c44d1909c72441144b93cf0f054be7fe764de5",
28
28
  "type": "github"
29
29
  },
30
30
  "original": {
@@ -65,11 +65,11 @@
65
65
  },
66
66
  "nixpkgs-lib": {
67
67
  "locked": {
68
- "lastModified": 1753579242,
69
- "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
68
+ "lastModified": 1761765539,
69
+ "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
70
70
  "owner": "nix-community",
71
71
  "repo": "nixpkgs.lib",
72
- "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
72
+ "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
73
73
  "type": "github"
74
74
  },
75
75
  "original": {
@@ -128,11 +128,11 @@
128
128
  },
129
129
  "nixpkgs_flake": {
130
130
  "locked": {
131
- "lastModified": 1756313514,
132
- "narHash": "sha256-3Xbak0pXR8ziNv1ghHyJ5a5Ti2kt/LWq6hKZVJTvjBs=",
131
+ "lastModified": 1762812764,
132
+ "narHash": "sha256-MNqrovkO8AEQeYQK7e3X2GDx2H8vfDIxV4K/VEaIjjo=",
133
133
  "owner": "nixos",
134
134
  "repo": "nixpkgs",
135
- "rev": "181464235b2daff8725773fef43ffc9d6b02e1c2",
135
+ "rev": "400156fe527ab6b54cf6f70cca2c8385548a29c4",
136
136
  "type": "github"
137
137
  },
138
138
  "original": {
@@ -153,17 +153,17 @@
153
153
  },
154
154
  "locked": {
155
155
  "dir": "observes/common/std_flake_2",
156
- "lastModified": 1761684858,
157
- "narHash": "sha256-gybMRO/MSOPXQjI//u2UKfvs8pD0sACqL2Kjp+xR4rI=",
156
+ "lastModified": 1764767408,
157
+ "narHash": "sha256-CYGyCtQuboXbHQ0OUXNNdXXIcPOM1ZhOM94LUNjEQig=",
158
158
  "ref": "refs/heads/trunk",
159
- "rev": "c5053864bb838edbe226d74a650d901c0270843b",
159
+ "rev": "28bda83eeda56c9c4016f43c86aaf93a366446c3",
160
160
  "shallow": true,
161
161
  "type": "git",
162
162
  "url": "ssh://git@gitlab.com/fluidattacks/universe"
163
163
  },
164
164
  "original": {
165
165
  "dir": "observes/common/std_flake_2",
166
- "rev": "c5053864bb838edbe226d74a650d901c0270843b",
166
+ "rev": "28bda83eeda56c9c4016f43c86aaf93a366446c3",
167
167
  "shallow": true,
168
168
  "type": "git",
169
169
  "url": "ssh://git@gitlab.com/fluidattacks/universe"
@@ -285,19 +285,20 @@
285
285
  },
286
286
  "locked": {
287
287
  "dir": "common/utils/shell-helpers",
288
- "lastModified": 1752896460,
289
- "narHash": "sha256-AsyTatXMx839cGsF6knwTrDZHk3Eue2QD3eSP7bkmpg=",
290
- "owner": "fluidattacks",
291
- "repo": "universe",
292
- "rev": "27749d2c3a2b018eb010a322e5e1352f993c9e86",
293
- "type": "github"
288
+ "lastModified": 1762806066,
289
+ "narHash": "sha256-Wz99Fl7SpPU1NkTHJ36XOo6DjOEAMXCw3ThRABOS2Hs=",
290
+ "ref": "refs/heads/trunk",
291
+ "rev": "d73cfdc7ae9e7f547e22a4481d4c2ccce38b26a8",
292
+ "shallow": true,
293
+ "type": "git",
294
+ "url": "ssh://git@gitlab.com/fluidattacks/universe"
294
295
  },
295
296
  "original": {
296
297
  "dir": "common/utils/shell-helpers",
297
- "owner": "fluidattacks",
298
- "repo": "universe",
299
- "rev": "27749d2c3a2b018eb010a322e5e1352f993c9e86",
300
- "type": "github"
298
+ "rev": "d73cfdc7ae9e7f547e22a4481d4c2ccce38b26a8",
299
+ "shallow": true,
300
+ "type": "git",
301
+ "url": "ssh://git@gitlab.com/fluidattacks/universe"
301
302
  }
302
303
  },
303
304
  "uv2nix": {
@@ -4,7 +4,7 @@
4
4
  inputs = {
5
5
  observes_flake_builder = {
6
6
  url =
7
- "git+ssh://git@gitlab.com/fluidattacks/universe?shallow=1&rev=c5053864bb838edbe226d74a650d901c0270843b&dir=observes/common/std_flake_2";
7
+ "git+ssh://git@gitlab.com/fluidattacks/universe?shallow=1&rev=28bda83eeda56c9c4016f43c86aaf93a366446c3&dir=observes/common/std_flake_2";
8
8
  };
9
9
  };
10
10
 
@@ -11,7 +11,7 @@ from ._logger import (
11
11
  set_logger,
12
12
  )
13
13
 
14
- __version__ = "1.1.0"
14
+ __version__ = "2.0.0"
15
15
 
16
16
  Unsafe.compute(set_logger(__name__, __version__))
17
17
  LOG = logging.getLogger(__name__)
@@ -1,8 +1,6 @@
1
1
  [project]
2
2
  name = "fluidattacks_gitlab_sdk"
3
- authors = [
4
- {name = "Product Team", email = "development@fluidattacks.com"},
5
- ]
3
+ authors = [{ name = "Product Team", email = "development@fluidattacks.com" }]
6
4
  requires-python = ">=3.11"
7
5
  dependencies = [
8
6
  "gql >=3.5.0, <4.0.0",
@@ -10,7 +8,7 @@ dependencies = [
10
8
  "fa-purity >=2.5.2, <3.0.0",
11
9
  "pure-requests >=3.0.0, <4.0.0",
12
10
  "python-dateutil >=2.8.0, <3.0.0",
13
- "fluidattacks-etl-utils >=1.0.0, <2.0.0",
11
+ "fluidattacks-etl-utils >=2.0.0, <3.0.0",
14
12
  "fluidattacks-utils-logger >=2.0.0, <3.0.0",
15
13
  ]
16
14
  description = "gitlab SDK"
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 2
3
3
  requires-python = ">=3.11"
4
4
  resolution-markers = [
5
5
  "python_full_version >= '3.13'",
@@ -175,6 +175,20 @@ wheels = [
175
175
  { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" },
176
176
  ]
177
177
 
178
+ [[package]]
179
+ name = "boto3"
180
+ version = "1.42.17"
181
+ source = { registry = "https://pypi.org/simple" }
182
+ dependencies = [
183
+ { name = "botocore" },
184
+ { name = "jmespath" },
185
+ { name = "s3transfer" },
186
+ ]
187
+ sdist = { url = "https://files.pythonhosted.org/packages/8d/cf/6e4a794e73cbf3e774ec27a5acc8442ce55d97cfc5226a20c1f58d8aee16/boto3-1.42.17.tar.gz", hash = "sha256:8a2e345e96d5ceba755c55539c93f99705f403fbfdeef2e838eabdc56750828b", size = 112776, upload-time = "2025-12-26T20:33:38.289Z" }
188
+ wheels = [
189
+ { url = "https://files.pythonhosted.org/packages/6c/53/9f4241152eb1f5a57351232c14ef411ef35fbcc1d97a63873235d0503a8a/boto3-1.42.17-py3-none-any.whl", hash = "sha256:e0ee40f7102712452f6776af891c8f49b5ae9133bdaf22711d6f4a78963c2614", size = 140572, upload-time = "2025-12-26T20:33:36.307Z" },
190
+ ]
191
+
178
192
  [[package]]
179
193
  name = "boto3-stubs"
180
194
  version = "1.40.60"
@@ -189,6 +203,20 @@ wheels = [
189
203
  { url = "https://files.pythonhosted.org/packages/83/8a/d14e63701c4e869f1d37ba5657f9821961616b98a30074f20b559c071fb6/boto3_stubs-1.40.60-py3-none-any.whl", hash = "sha256:1ea7f9dbabc7f9ac8477646c12cc51ef49af6b24d53cc2ae8cf6fa6bed6a995a", size = 69746, upload-time = "2025-10-27T19:49:05.619Z" },
190
204
  ]
191
205
 
206
+ [[package]]
207
+ name = "botocore"
208
+ version = "1.42.17"
209
+ source = { registry = "https://pypi.org/simple" }
210
+ dependencies = [
211
+ { name = "jmespath" },
212
+ { name = "python-dateutil" },
213
+ { name = "urllib3" },
214
+ ]
215
+ sdist = { url = "https://files.pythonhosted.org/packages/4d/d2/128e2d8b9d426bd3a339e7dcf3eedca55f449af121604b6891ae80f6be9a/botocore-1.42.17.tar.gz", hash = "sha256:d73fe22c8e1497e4d59ff7dc68eb05afac68a4a6457656811562285d6132bc04", size = 14911757, upload-time = "2025-12-26T20:33:27.641Z" }
216
+ wheels = [
217
+ { url = "https://files.pythonhosted.org/packages/d1/47/cc00f2421f49784de8b9113c94b7b6580db989721f5109a24b9108308fe1/botocore-1.42.17-py3-none-any.whl", hash = "sha256:a832e4c04e63141221480967e9e511363aa54d24c405935fccb913a18583c96b", size = 14586536, upload-time = "2025-12-26T20:33:24.032Z" },
218
+ ]
219
+
192
220
  [[package]]
193
221
  name = "botocore-stubs"
194
222
  version = "1.40.60"
@@ -433,7 +461,7 @@ wheels = [
433
461
 
434
462
  [[package]]
435
463
  name = "fluidattacks-core"
436
- version = "3.0.0"
464
+ version = "4.2.1"
437
465
  source = { registry = "https://pypi.org/simple" }
438
466
  dependencies = [
439
467
  { name = "aiohttp" },
@@ -442,24 +470,26 @@ dependencies = [
442
470
  { name = "simplejson" },
443
471
  { name = "urllib3" },
444
472
  ]
445
- sdist = { url = "https://files.pythonhosted.org/packages/59/a1/5c8d0f5878ec9ff0c63bf40e4eb75e36266c417ceea11f67ca6c67f45120/fluidattacks_core-3.0.0.tar.gz", hash = "sha256:0f722779cfd51e04ca840619811b74559a635cc9c007852052a60acde9935eb1", size = 64563, upload-time = "2025-11-25T23:26:53.572Z" }
473
+ sdist = { url = "https://files.pythonhosted.org/packages/63/4a/7bff2b5f9123b3a9d79fc2fa6436e799fb64d4687cf383dc2ab2606f463f/fluidattacks_core-4.2.1.tar.gz", hash = "sha256:d020c2c2f98434c4e46b645a55763d22d3f01aee14f849625d6627facb7303e5", size = 65701, upload-time = "2025-12-22T17:20:38.981Z" }
446
474
  wheels = [
447
- { url = "https://files.pythonhosted.org/packages/d0/90/0479db77e1a6062328622fe4ef0d92eac8128fc0577d0f27fcc252854da8/fluidattacks_core-3.0.0-py3-none-any.whl", hash = "sha256:d080f7b66e546d9b0178795fcc6ba5b03329ce259cf208781cf5fe0f64e72c9d", size = 66884, upload-time = "2025-11-25T23:26:52.274Z" },
475
+ { url = "https://files.pythonhosted.org/packages/45/c7/0aed0c58d7a35a046d4c7c3e7fb451f7f857dcfad388c4b1866f1420f0d4/fluidattacks_core-4.2.1-py3-none-any.whl", hash = "sha256:1e22dbcbb681f1cab8e5f1576dd22b29b279fd814ede3f25f0c8ee464d7ed645", size = 68017, upload-time = "2025-12-22T17:20:37.986Z" },
448
476
  ]
449
477
 
450
478
  [[package]]
451
479
  name = "fluidattacks-etl-utils"
452
- version = "1.0.0"
480
+ version = "2.0.0"
453
481
  source = { registry = "https://pypi.org/simple" }
454
482
  dependencies = [
455
483
  { name = "fa-purity" },
484
+ { name = "gitpython" },
456
485
  { name = "pathos" },
457
486
  { name = "python-dateutil" },
487
+ { name = "redshift-client" },
458
488
  { name = "requests" },
459
489
  ]
460
- sdist = { url = "https://files.pythonhosted.org/packages/66/2e/ac0b50b480aa6f50fb728b7efdf59846200a6f82d14a0711c49abb225938/fluidattacks_etl_utils-1.0.0.tar.gz", hash = "sha256:d85ef37e000422ab6fc318b4e6b94ef1402e5c47a9ad3726201a9588e6669a75", size = 14674, upload-time = "2025-10-10T21:45:28.06Z" }
490
+ sdist = { url = "https://files.pythonhosted.org/packages/ad/47/5ce87cbe54f4c1984ff3b8a310b85b9d31ad40b0a9ddf1dcaaceac5fc979/fluidattacks_etl_utils-2.0.0.tar.gz", hash = "sha256:ed6b1524377dc246c2d975ef9ee8923a200f23cf26d647dc8f05f4b29ec03d3c", size = 63295, upload-time = "2025-12-29T15:18:18.499Z" }
461
491
  wheels = [
462
- { url = "https://files.pythonhosted.org/packages/85/c7/160daf7157eec4edcbb9db8e88a6dfc0ecc5cb96f1dcae3de66124b8a413/fluidattacks_etl_utils-1.0.0-py3-none-any.whl", hash = "sha256:711a7fa709abfa4f41c7b0e268187ef2b0a1728b2abb0d714893b0cb6616ec28", size = 15871, upload-time = "2025-10-10T21:45:26.329Z" },
492
+ { url = "https://files.pythonhosted.org/packages/6c/90/5b126bbfbb4c598f37a0891a7872351253f7c9149a727a5a136dcec7c327/fluidattacks_etl_utils-2.0.0-py3-none-any.whl", hash = "sha256:9ee524a697e6f490871f3dbeafd6d0d79fb9d714698784daeeb5308320231c5f", size = 17711, upload-time = "2025-12-29T15:18:17.535Z" },
463
493
  ]
464
494
 
465
495
  [[package]]
@@ -492,7 +522,7 @@ dev = [
492
522
  [package.metadata]
493
523
  requires-dist = [
494
524
  { name = "fa-purity", specifier = ">=2.5.2,<3.0.0" },
495
- { name = "fluidattacks-etl-utils", specifier = ">=1.0.0,<2.0.0" },
525
+ { name = "fluidattacks-etl-utils", specifier = ">=2.0.0,<3.0.0" },
496
526
  { name = "fluidattacks-utils-logger", specifier = ">=2.0.0,<3.0.0" },
497
527
  { name = "gql", specifier = ">=3.5.0,<4.0.0" },
498
528
  { name = "pure-requests", specifier = ">=3.0.0,<4.0.0" },
@@ -516,16 +546,16 @@ dev = [
516
546
 
517
547
  [[package]]
518
548
  name = "fluidattacks-utils-logger"
519
- version = "2.0.0"
549
+ version = "2.1.1"
520
550
  source = { registry = "https://pypi.org/simple" }
521
551
  dependencies = [
522
552
  { name = "bugsnag" },
523
553
  { name = "fa-purity" },
524
554
  { name = "fluidattacks-core" },
525
555
  ]
526
- sdist = { url = "https://files.pythonhosted.org/packages/84/aa/ce6b574ca33b705cb6ce2e19831e215aa3d19223a5a5b6d2972ef2794718/fluidattacks_utils_logger-2.0.0.tar.gz", hash = "sha256:abf0ec3d7cf2bdc96b317d2d33cb724c4fa6424c7717871fe8ddcfe40783c6e1", size = 90253, upload-time = "2025-12-01T22:56:03.531Z" }
556
+ sdist = { url = "https://files.pythonhosted.org/packages/cd/34/f60af4c2c020238f2cceba62c21d93091aec39faadefb038316631f9e27a/fluidattacks_utils_logger-2.1.1.tar.gz", hash = "sha256:c0d51bb32d5922265737ec85fceca63991bdf23fe3f63191e2df3aa0c2eb88be", size = 90370, upload-time = "2025-12-22T15:39:28.059Z" }
527
557
  wheels = [
528
- { url = "https://files.pythonhosted.org/packages/b4/63/0cc9637e77a733ef0004f934efc4c2de95fecbaa27b5cce4114e35a4c99c/fluidattacks_utils_logger-2.0.0-py3-none-any.whl", hash = "sha256:a36fffd999cea42b7487569e01f0cf5dc3f2d908fdc7e1cef5b82aad9c0c33b0", size = 4100, upload-time = "2025-12-01T22:56:02.784Z" },
558
+ { url = "https://files.pythonhosted.org/packages/77/92/f5e515978e75fe16badb0f9b5938641892e9d24c1ce5b9d74d01b269aebf/fluidattacks_utils_logger-2.1.1-py3-none-any.whl", hash = "sha256:5a58b711321744527e746551eecd093a4a96b603676318c512deef9315bf0d6e", size = 4156, upload-time = "2025-12-22T15:39:27.268Z" },
529
559
  ]
530
560
 
531
561
  [[package]]
@@ -633,6 +663,30 @@ wheels = [
633
663
  { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" },
634
664
  ]
635
665
 
666
+ [[package]]
667
+ name = "gitdb"
668
+ version = "4.0.12"
669
+ source = { registry = "https://pypi.org/simple" }
670
+ dependencies = [
671
+ { name = "smmap" },
672
+ ]
673
+ sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" }
674
+ wheels = [
675
+ { url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" },
676
+ ]
677
+
678
+ [[package]]
679
+ name = "gitpython"
680
+ version = "3.1.45"
681
+ source = { registry = "https://pypi.org/simple" }
682
+ dependencies = [
683
+ { name = "gitdb" },
684
+ ]
685
+ sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" }
686
+ wheels = [
687
+ { url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" },
688
+ ]
689
+
636
690
  [[package]]
637
691
  name = "gql"
638
692
  version = "3.5.3"
@@ -687,6 +741,15 @@ wheels = [
687
741
  { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" },
688
742
  ]
689
743
 
744
+ [[package]]
745
+ name = "jmespath"
746
+ version = "1.0.1"
747
+ source = { registry = "https://pypi.org/simple" }
748
+ sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" }
749
+ wheels = [
750
+ { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" },
751
+ ]
752
+
690
753
  [[package]]
691
754
  name = "legacy-cgi"
692
755
  version = "2.6.4"
@@ -880,6 +943,18 @@ wheels = [
880
943
  { url = "https://files.pythonhosted.org/packages/87/e3/be76d87158ebafa0309946c4a73831974d4d6ab4f4ef40c3b53a385a66fd/mypy-1.18.2-py3-none-any.whl", hash = "sha256:22a1748707dd62b58d2ae53562ffc4d7f8bcc727e8ac7cbc69c053ddc874d47e", size = 2352367, upload-time = "2025-09-19T00:10:15.489Z" },
881
944
  ]
882
945
 
946
+ [[package]]
947
+ name = "mypy-boto3-redshift"
948
+ version = "1.42.3"
949
+ source = { registry = "https://pypi.org/simple" }
950
+ dependencies = [
951
+ { name = "typing-extensions", marker = "python_full_version < '3.12'" },
952
+ ]
953
+ sdist = { url = "https://files.pythonhosted.org/packages/27/89/f7ea42b5473dd58e69f9b2f3cfedcd6426bd6b1272a6906635c6872ff2b9/mypy_boto3_redshift-1.42.3.tar.gz", hash = "sha256:7c109df4975f3c0575428aacdb516eb4f4207b102d47ff8d93955cadc45a6353", size = 71514, upload-time = "2025-12-04T21:10:27.911Z" }
954
+ wheels = [
955
+ { url = "https://files.pythonhosted.org/packages/3e/fe/d708176cac2e6e3fe6746be50b56a24cbae79c60c9f17e7e2de37ff647dc/mypy_boto3_redshift-1.42.3-py3-none-any.whl", hash = "sha256:0132afc4765ec81008a8acbc456eb207e2f797112b3318dc346db0b6951e711d", size = 78451, upload-time = "2025-12-04T21:10:26.159Z" },
956
+ ]
957
+
883
958
  [[package]]
884
959
  name = "mypy-boto3-s3"
885
960
  version = "1.40.26"
@@ -1060,6 +1135,18 @@ wheels = [
1060
1135
  { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" },
1061
1136
  ]
1062
1137
 
1138
+ [[package]]
1139
+ name = "psycopg2"
1140
+ version = "2.9.11"
1141
+ source = { registry = "https://pypi.org/simple" }
1142
+ sdist = { url = "https://files.pythonhosted.org/packages/89/8d/9d12bc8677c24dad342ec777529bce705b3e785fa05d85122b5502b9ab55/psycopg2-2.9.11.tar.gz", hash = "sha256:964d31caf728e217c697ff77ea69c2ba0865fa41ec20bb00f0977e62fdcc52e3", size = 379598, upload-time = "2025-10-10T11:14:46.075Z" }
1143
+ wheels = [
1144
+ { url = "https://files.pythonhosted.org/packages/86/fe/d6dce306fd7b61e312757ba4d068617f562824b9c6d3e4a39fc578ea2814/psycopg2-2.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:210daed32e18f35e3140a1ebe059ac29209dd96468f2f7559aa59f75ee82a5cb", size = 2713723, upload-time = "2025-10-10T11:10:12.957Z" },
1145
+ { url = "https://files.pythonhosted.org/packages/b5/bf/635fbe5dd10ed200afbbfbe98f8602829252ca1cce81cc48fb25ed8dadc0/psycopg2-2.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:e03e4a6dbe87ff81540b434f2e5dc2bddad10296db5eea7bdc995bf5f4162938", size = 2713969, upload-time = "2025-10-10T11:10:15.946Z" },
1146
+ { url = "https://files.pythonhosted.org/packages/88/5a/18c8cb13fc6908dc41a483d2c14d927a7a3f29883748747e8cb625da6587/psycopg2-2.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:8dc379166b5b7d5ea66dcebf433011dfc51a7bb8a5fc12367fa05668e5fc53c8", size = 2714048, upload-time = "2025-10-10T11:10:19.816Z" },
1147
+ { url = "https://files.pythonhosted.org/packages/47/08/737aa39c78d705a7ce58248d00eeba0e9fc36be488f9b672b88736fbb1f7/psycopg2-2.9.11-cp314-cp314-win_amd64.whl", hash = "sha256:f10a48acba5fe6e312b891f290b4d2ca595fc9a06850fe53320beac353575578", size = 2803738, upload-time = "2025-10-10T11:10:23.196Z" },
1148
+ ]
1149
+
1063
1150
  [[package]]
1064
1151
  name = "pure-requests"
1065
1152
  version = "3.0.0"
@@ -1134,6 +1221,25 @@ wheels = [
1134
1221
  { url = "https://files.pythonhosted.org/packages/51/e5/fecf13f06e5e5f67e8837d777d1bc43fac0ed2b77a676804df5c34744727/python_json_logger-4.0.0-py3-none-any.whl", hash = "sha256:af09c9daf6a813aa4cc7180395f50f2a9e5fa056034c9953aec92e381c5ba1e2", size = 15548, upload-time = "2025-10-06T04:15:17.553Z" },
1135
1222
  ]
1136
1223
 
1224
+ [[package]]
1225
+ name = "redshift-client"
1226
+ version = "8.1.1"
1227
+ source = { registry = "https://pypi.org/simple" }
1228
+ dependencies = [
1229
+ { name = "boto3" },
1230
+ { name = "boto3-stubs" },
1231
+ { name = "deprecated" },
1232
+ { name = "fa-purity" },
1233
+ { name = "mypy-boto3-redshift" },
1234
+ { name = "psycopg2" },
1235
+ { name = "types-deprecated" },
1236
+ { name = "types-psycopg2" },
1237
+ ]
1238
+ sdist = { url = "https://files.pythonhosted.org/packages/d0/71/414226471430830259073cd6354a8faaa3ff9ca33812241944688046abc6/redshift_client-8.1.1.tar.gz", hash = "sha256:8d3ad5de493613c89375d75c49e71bcd1fb366e6d5611d32ae4ec4922854554e", size = 22850, upload-time = "2025-05-07T17:45:57.074Z" }
1239
+ wheels = [
1240
+ { url = "https://files.pythonhosted.org/packages/6b/69/2c87d8549c40f795ab723cd7433b55d8178a7196e0b5bf184bb2a39d5948/redshift_client-8.1.1-py3-none-any.whl", hash = "sha256:c7749dfd03f01ac6c34da615e4fda86131afe11e3190cb22a8ca7db8d7b1993d", size = 29149, upload-time = "2025-05-07T17:45:50.764Z" },
1241
+ ]
1242
+
1137
1243
  [[package]]
1138
1244
  name = "requests"
1139
1245
  version = "2.32.5"
@@ -1187,6 +1293,18 @@ wheels = [
1187
1293
  { url = "https://files.pythonhosted.org/packages/2e/5d/aa883766f8ef9ffbe6aa24f7192fb71632f31a30e77eb39aa2b0dc4290ac/ruff-0.14.2-py3-none-win_arm64.whl", hash = "sha256:ea9d635e83ba21569fbacda7e78afbfeb94911c9434aff06192d9bc23fd5495a", size = 12554956, upload-time = "2025-10-23T19:36:58.714Z" },
1188
1294
  ]
1189
1295
 
1296
+ [[package]]
1297
+ name = "s3transfer"
1298
+ version = "0.16.0"
1299
+ source = { registry = "https://pypi.org/simple" }
1300
+ dependencies = [
1301
+ { name = "botocore" },
1302
+ ]
1303
+ sdist = { url = "https://files.pythonhosted.org/packages/05/04/74127fc843314818edfa81b5540e26dd537353b123a4edc563109d8f17dd/s3transfer-0.16.0.tar.gz", hash = "sha256:8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920", size = 153827, upload-time = "2025-12-01T02:30:59.114Z" }
1304
+ wheels = [
1305
+ { url = "https://files.pythonhosted.org/packages/fc/51/727abb13f44c1fcf6d145979e1535a35794db0f6e450a0cb46aa24732fe2/s3transfer-0.16.0-py3-none-any.whl", hash = "sha256:18e25d66fed509e3868dc1572b3f427ff947dd2c56f844a5bf09481ad3f3b2fe", size = 86830, upload-time = "2025-12-01T02:30:57.729Z" },
1306
+ ]
1307
+
1190
1308
  [[package]]
1191
1309
  name = "simplejson"
1192
1310
  version = "3.20.2"
@@ -1244,6 +1362,15 @@ wheels = [
1244
1362
  { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
1245
1363
  ]
1246
1364
 
1365
+ [[package]]
1366
+ name = "smmap"
1367
+ version = "5.0.2"
1368
+ source = { registry = "https://pypi.org/simple" }
1369
+ sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" }
1370
+ wheels = [
1371
+ { url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" },
1372
+ ]
1373
+
1247
1374
  [[package]]
1248
1375
  name = "sniffio"
1249
1376
  version = "1.3.1"
@@ -1320,6 +1447,15 @@ wheels = [
1320
1447
  { url = "https://files.pythonhosted.org/packages/4d/e3/c18aa72ab84e0bc127a3a94e93be1a6ac2cb281371d3a45376ab7cfdd31c/types_deprecated-1.2.15.20250304-py3-none-any.whl", hash = "sha256:86a65aa550ea8acf49f27e226b8953288cd851de887970fbbdf2239c116c3107", size = 8553, upload-time = "2025-03-04T02:48:16.666Z" },
1321
1448
  ]
1322
1449
 
1450
+ [[package]]
1451
+ name = "types-psycopg2"
1452
+ version = "2.9.21.20251012"
1453
+ source = { registry = "https://pypi.org/simple" }
1454
+ sdist = { url = "https://files.pythonhosted.org/packages/9b/b3/2d09eaf35a084cffd329c584970a3fa07101ca465c13cad1576d7c392587/types_psycopg2-2.9.21.20251012.tar.gz", hash = "sha256:4cdafd38927da0cfde49804f39ab85afd9c6e9c492800e42f1f0c1a1b0312935", size = 26710, upload-time = "2025-10-12T02:55:39.5Z" }
1455
+ wheels = [
1456
+ { url = "https://files.pythonhosted.org/packages/ec/0c/05feaf8cb51159f2c0af04b871dab7e98a2f83a3622f5f216331d2dd924c/types_psycopg2-2.9.21.20251012-py3-none-any.whl", hash = "sha256:712bad5c423fe979e357edbf40a07ca40ef775d74043de72bd4544ca328cc57e", size = 24883, upload-time = "2025-10-12T02:55:38.439Z" },
1457
+ ]
1458
+
1323
1459
  [[package]]
1324
1460
  name = "types-python-dateutil"
1325
1461
  version = "2.9.0.20251008"
@@ -1361,11 +1497,11 @@ wheels = [
1361
1497
 
1362
1498
  [[package]]
1363
1499
  name = "urllib3"
1364
- version = "2.5.0"
1500
+ version = "2.6.1"
1365
1501
  source = { registry = "https://pypi.org/simple" }
1366
- sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
1502
+ sdist = { url = "https://files.pythonhosted.org/packages/5e/1d/0f3a93cca1ac5e8287842ed4eebbd0f7a991315089b1a0b01c7788aa7b63/urllib3-2.6.1.tar.gz", hash = "sha256:5379eb6e1aba4088bae84f8242960017ec8d8e3decf30480b3a1abdaa9671a3f", size = 432678, upload-time = "2025-12-08T15:25:26.773Z" }
1367
1503
  wheels = [
1368
- { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
1504
+ { url = "https://files.pythonhosted.org/packages/bc/56/190ceb8cb10511b730b564fb1e0293fa468363dbad26145c34928a60cb0c/urllib3-2.6.1-py3-none-any.whl", hash = "sha256:e67d06fe947c36a7ca39f4994b08d73922d40e6cca949907be05efa6fd75110b", size = 131138, upload-time = "2025-12-08T15:25:25.51Z" },
1369
1505
  ]
1370
1506
 
1371
1507
  [[package]]