python-neva 1.0.3__tar.gz → 1.0.5__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 (114) hide show
  1. {python_neva-1.0.3 → python_neva-1.0.5}/PKG-INFO +2 -2
  2. {python_neva-1.0.3 → python_neva-1.0.5}/neva/database/provider.py +11 -11
  3. {python_neva-1.0.3 → python_neva-1.0.5}/pyproject.toml +2 -2
  4. {python_neva-1.0.3 → python_neva-1.0.5}/uv.lock +8 -72
  5. {python_neva-1.0.3 → python_neva-1.0.5}/.envrc +0 -0
  6. {python_neva-1.0.3 → python_neva-1.0.5}/.gitignore +0 -0
  7. {python_neva-1.0.3 → python_neva-1.0.5}/.pre-commit-config.yaml +0 -0
  8. {python_neva-1.0.3 → python_neva-1.0.5}/.python-version +0 -0
  9. {python_neva-1.0.3 → python_neva-1.0.5}/README.md +0 -0
  10. {python_neva-1.0.3 → python_neva-1.0.5}/neva/__init__.py +0 -0
  11. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/__init__.py +0 -0
  12. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/app.py +0 -0
  13. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/application.py +0 -0
  14. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/config.py +0 -0
  15. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/facade.py +0 -0
  16. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/faststream.py +0 -0
  17. {python_neva-1.0.3 → python_neva-1.0.5}/neva/arch/service_provider.py +0 -0
  18. {python_neva-1.0.3 → python_neva-1.0.5}/neva/config/__init__.py +0 -0
  19. {python_neva-1.0.3 → python_neva-1.0.5}/neva/config/base_providers.py +0 -0
  20. {python_neva-1.0.3 → python_neva-1.0.5}/neva/config/loader.py +0 -0
  21. {python_neva-1.0.3 → python_neva-1.0.5}/neva/config/provider.py +0 -0
  22. {python_neva-1.0.3 → python_neva-1.0.5}/neva/config/repository.py +0 -0
  23. {python_neva-1.0.3 → python_neva-1.0.5}/neva/database/__init__.py +0 -0
  24. {python_neva-1.0.3 → python_neva-1.0.5}/neva/database/config.py +0 -0
  25. {python_neva-1.0.3 → python_neva-1.0.5}/neva/database/connection.py +0 -0
  26. {python_neva-1.0.3 → python_neva-1.0.5}/neva/database/manager.py +0 -0
  27. {python_neva-1.0.3 → python_neva-1.0.5}/neva/database/transaction.py +0 -0
  28. {python_neva-1.0.3 → python_neva-1.0.5}/neva/events/__init__.py +0 -0
  29. {python_neva-1.0.3 → python_neva-1.0.5}/neva/events/dispatcher.py +0 -0
  30. {python_neva-1.0.3 → python_neva-1.0.5}/neva/events/event.py +0 -0
  31. {python_neva-1.0.3 → python_neva-1.0.5}/neva/events/event_registry.py +0 -0
  32. {python_neva-1.0.3 → python_neva-1.0.5}/neva/events/listener.py +0 -0
  33. {python_neva-1.0.3 → python_neva-1.0.5}/neva/events/provider.py +0 -0
  34. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/__init__.py +0 -0
  35. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/logging/__init__.py +0 -0
  36. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/logging/manager.py +0 -0
  37. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/logging/provider.py +0 -0
  38. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/middleware/__init__.py +0 -0
  39. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/middleware/correlation.py +0 -0
  40. {python_neva-1.0.3 → python_neva-1.0.5}/neva/obs/middleware/profiler.py +0 -0
  41. {python_neva-1.0.3 → python_neva-1.0.5}/neva/py.typed +0 -0
  42. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/__init__.py +0 -0
  43. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/encryption/__init__.py +0 -0
  44. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/encryption/encrypter.py +0 -0
  45. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/encryption/protocol.py +0 -0
  46. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/__init__.py +0 -0
  47. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/config.py +0 -0
  48. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/hash_manager.py +0 -0
  49. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/hashers/__init__.py +0 -0
  50. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/hashers/argon2.py +0 -0
  51. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/hashers/bcrypt.py +0 -0
  52. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/hashing/hashers/protocol.py +0 -0
  53. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/provider.py +0 -0
  54. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/tokens/__init__.py +0 -0
  55. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/tokens/generate_token.py +0 -0
  56. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/tokens/hash_token.py +0 -0
  57. {python_neva-1.0.3 → python_neva-1.0.5}/neva/security/tokens/verify_token.py +0 -0
  58. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/__init__.py +0 -0
  59. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/accessors.py +0 -0
  60. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/__init__.py +0 -0
  61. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/app.py +0 -0
  62. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/app.pyi +0 -0
  63. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/config.py +0 -0
  64. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/config.pyi +0 -0
  65. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/crypt.py +0 -0
  66. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/crypt.pyi +0 -0
  67. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/db.py +0 -0
  68. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/db.pyi +0 -0
  69. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/event.py +0 -0
  70. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/event.pyi +0 -0
  71. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/hash.py +0 -0
  72. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/hash.pyi +0 -0
  73. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/log.py +0 -0
  74. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/facade/log.pyi +0 -0
  75. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/results.py +0 -0
  76. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/strategy.py +0 -0
  77. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/strconv.py +0 -0
  78. {python_neva-1.0.3 → python_neva-1.0.5}/neva/support/time.py +0 -0
  79. {python_neva-1.0.3 → python_neva-1.0.5}/neva/testing/__init__.py +0 -0
  80. {python_neva-1.0.3 → python_neva-1.0.5}/neva/testing/fixtures.py +0 -0
  81. {python_neva-1.0.3 → python_neva-1.0.5}/neva/testing/http.py +0 -0
  82. {python_neva-1.0.3 → python_neva-1.0.5}/neva/testing/test_case.py +0 -0
  83. {python_neva-1.0.3 → python_neva-1.0.5}/ruff.toml +0 -0
  84. {python_neva-1.0.3 → python_neva-1.0.5}/tests/__init__.py +0 -0
  85. {python_neva-1.0.3 → python_neva-1.0.5}/tests/arch/__init__.py +0 -0
  86. {python_neva-1.0.3 → python_neva-1.0.5}/tests/arch/test_scope.py +0 -0
  87. {python_neva-1.0.3 → python_neva-1.0.5}/tests/config/__init__.py +0 -0
  88. {python_neva-1.0.3 → python_neva-1.0.5}/tests/config/test_loader.py +0 -0
  89. {python_neva-1.0.3 → python_neva-1.0.5}/tests/config/test_repository.py +0 -0
  90. {python_neva-1.0.3 → python_neva-1.0.5}/tests/conftest.py +0 -0
  91. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/__init__.py +0 -0
  92. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/conftest.py +0 -0
  93. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_connection_manager.py +0 -0
  94. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_database_manager.py +0 -0
  95. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_edge_cases.py +0 -0
  96. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_multi_connection.py +0 -0
  97. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_transaction.py +0 -0
  98. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_transaction_context.py +0 -0
  99. {python_neva-1.0.3 → python_neva-1.0.5}/tests/database/test_transaction_registry.py +0 -0
  100. {python_neva-1.0.3 → python_neva-1.0.5}/tests/events/__init__.py +0 -0
  101. {python_neva-1.0.3 → python_neva-1.0.5}/tests/events/conftest.py +0 -0
  102. {python_neva-1.0.3 → python_neva-1.0.5}/tests/events/test_deferred.py +0 -0
  103. {python_neva-1.0.3 → python_neva-1.0.5}/tests/events/test_dispatch.py +0 -0
  104. {python_neva-1.0.3 → python_neva-1.0.5}/tests/events/test_function_listener.py +0 -0
  105. {python_neva-1.0.3 → python_neva-1.0.5}/tests/events/test_immediate.py +0 -0
  106. {python_neva-1.0.3 → python_neva-1.0.5}/tests/obs/__init__.py +0 -0
  107. {python_neva-1.0.3 → python_neva-1.0.5}/tests/obs/test_correlation.py +0 -0
  108. {python_neva-1.0.3 → python_neva-1.0.5}/tests/obs/test_profiler.py +0 -0
  109. {python_neva-1.0.3 → python_neva-1.0.5}/tests/security/__init__.py +0 -0
  110. {python_neva-1.0.3 → python_neva-1.0.5}/tests/security/test_encrypter.py +0 -0
  111. {python_neva-1.0.3 → python_neva-1.0.5}/tests/security/test_hash_manager.py +0 -0
  112. {python_neva-1.0.3 → python_neva-1.0.5}/tests/testing/__init__.py +0 -0
  113. {python_neva-1.0.3 → python_neva-1.0.5}/tests/testing/test_fixtures.py +0 -0
  114. {python_neva-1.0.3 → python_neva-1.0.5}/tests/testing/test_test_case.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-neva
3
- Version: 1.0.3
3
+ Version: 1.0.5
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: cryptography>=46.0.3
7
7
  Requires-Dist: dishka>=1.7.2
8
- Requires-Dist: fastapi[all]>=0.124.0
8
+ Requires-Dist: fastapi[all]>=0.129.0
9
9
  Requires-Dist: faststream>=0.6.6
10
10
  Requires-Dist: flexmock>=0.13.0
11
11
  Requires-Dist: pwdlib[argon2,bcrypt]>=0.3.0
@@ -4,7 +4,7 @@ from collections.abc import AsyncIterator
4
4
  from contextlib import asynccontextmanager
5
5
  from typing import Self, override
6
6
 
7
- from tortoise import Tortoise, exceptions
7
+ from tortoise import Tortoise
8
8
 
9
9
  from neva import Err, Ok, Result
10
10
  from neva.arch import ServiceProvider
@@ -21,24 +21,24 @@ class DatabaseServiceProvider(ServiceProvider):
21
21
  def register(self) -> Result[Self, str]:
22
22
  self.app.bind(TransactionContext)
23
23
  self.app.bind(DatabaseManager)
24
- self.logger: LogManager = self.app.make(LogManager).unwrap()
25
24
  return Ok(self)
26
25
 
27
26
  @asynccontextmanager
28
27
  async def lifespan(self) -> AsyncIterator[None]:
29
28
  """Initialize and cleanup database connections."""
30
- self.logger.info("Beginning Tortoise initialization...")
29
+ logger: LogManager = self.app.make(LogManager).unwrap()
30
+ logger.info("Beginning Tortoise initialization...")
31
31
  match self.app.make(ConfigRepository).unwrap().get("database"):
32
32
  case Ok(config):
33
- try:
34
- _ = await Tortoise.init(
35
- config=config, _create_db=True, _enable_global_fallback=True
36
- )
37
- except exceptions.OperationalError:
38
- _ = await Tortoise.init(config=config, _enable_global_fallback=True)
39
- self.logger.info("Tortoise initialization complete.")
33
+ create_db = config.pop("create_db", False)
34
+ _ = await Tortoise.init(
35
+ config=config,
36
+ _create_db=create_db,
37
+ _enable_global_fallback=True,
38
+ )
39
+ logger.info("Tortoise initialization complete.")
40
40
  yield
41
41
  await Tortoise.close_connections()
42
42
  case Err(err):
43
- self.logger.error(f"Failed to load database configuration: {err}")
43
+ logger.error(f"Failed to load database configuration: {err}")
44
44
  yield
@@ -7,14 +7,14 @@ packages = ["neva"]
7
7
 
8
8
  [project]
9
9
  name = "python-neva"
10
- version = "1.0.3"
10
+ version = "1.0.5"
11
11
  description = "Add your description here"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.12"
14
14
  dependencies = [
15
15
  "cryptography>=46.0.3",
16
16
  "dishka>=1.7.2",
17
- "fastapi[all]>=0.124.0",
17
+ "fastapi[all]>=0.129.0",
18
18
  "faststream>=0.6.6",
19
19
  "flexmock>=0.13.0",
20
20
  "pwdlib[argon2,bcrypt]>=0.3.0",
@@ -497,32 +497,29 @@ pydantic = [
497
497
 
498
498
  [[package]]
499
499
  name = "fastapi"
500
- version = "0.128.0"
500
+ version = "0.129.0"
501
501
  source = { registry = "https://pypi.org/simple" }
502
502
  dependencies = [
503
503
  { name = "annotated-doc" },
504
504
  { name = "pydantic" },
505
505
  { name = "starlette" },
506
506
  { name = "typing-extensions" },
507
+ { name = "typing-inspection" },
507
508
  ]
508
- sdist = { url = "https://files.pythonhosted.org/packages/52/08/8c8508db6c7b9aae8f7175046af41baad690771c9bcde676419965e338c7/fastapi-0.128.0.tar.gz", hash = "sha256:1cc179e1cef10a6be60ffe429f79b829dce99d8de32d7acb7e6c8dfdf7f2645a", size = 365682, upload-time = "2025-12-27T15:21:13.714Z" }
509
+ sdist = { url = "https://files.pythonhosted.org/packages/48/47/75f6bea02e797abff1bca968d5997793898032d9923c1935ae2efdece642/fastapi-0.129.0.tar.gz", hash = "sha256:61315cebd2e65df5f97ec298c888f9de30430dd0612d59d6480beafbc10655af", size = 375450, upload-time = "2026-02-12T13:54:52.541Z" }
509
510
  wheels = [
510
- { url = "https://files.pythonhosted.org/packages/5c/05/5cbb59154b093548acd0f4c7c474a118eda06da25aa75c616b72d8fcd92a/fastapi-0.128.0-py3-none-any.whl", hash = "sha256:aebd93f9716ee3b4f4fcfe13ffb7cf308d99c9f3ab5622d8877441072561582d", size = 103094, upload-time = "2025-12-27T15:21:12.154Z" },
511
+ { url = "https://files.pythonhosted.org/packages/9e/dd/d0ee25348ac58245ee9f90b6f3cbb666bf01f69be7e0911f9851bddbda16/fastapi-0.129.0-py3-none-any.whl", hash = "sha256:b4946880e48f462692b31c083be0432275cbfb6e2274566b1be91479cc1a84ec", size = 102950, upload-time = "2026-02-12T13:54:54.528Z" },
511
512
  ]
512
513
 
513
514
  [package.optional-dependencies]
514
- all = [
515
+ standard = [
515
516
  { name = "email-validator" },
516
517
  { name = "fastapi-cli", extra = ["standard"] },
517
518
  { name = "httpx" },
518
- { name = "itsdangerous" },
519
519
  { name = "jinja2" },
520
- { name = "orjson" },
521
520
  { name = "pydantic-extra-types" },
522
521
  { name = "pydantic-settings" },
523
522
  { name = "python-multipart" },
524
- { name = "pyyaml" },
525
- { name = "ujson" },
526
523
  { name = "uvicorn", extra = ["standard"] },
527
524
  ]
528
525
 
@@ -767,15 +764,6 @@ wheels = [
767
764
  { url = "https://files.pythonhosted.org/packages/6c/0c/f37b6a241f0759b7653ffa7213889d89ad49a2b76eb2ddf3b57b2738c347/iso8601-2.1.0-py3-none-any.whl", hash = "sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242", size = 7545, upload-time = "2023-10-03T00:25:32.304Z" },
768
765
  ]
769
766
 
770
- [[package]]
771
- name = "itsdangerous"
772
- version = "2.2.0"
773
- source = { registry = "https://pypi.org/simple" }
774
- sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" }
775
- wheels = [
776
- { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" },
777
- ]
778
-
779
767
  [[package]]
780
768
  name = "jinja2"
781
769
  version = "3.1.6"
@@ -1299,12 +1287,12 @@ wheels = [
1299
1287
 
1300
1288
  [[package]]
1301
1289
  name = "python-neva"
1302
- version = "1.0.3"
1290
+ version = "1.0.5"
1303
1291
  source = { editable = "." }
1304
1292
  dependencies = [
1305
1293
  { name = "cryptography" },
1306
1294
  { name = "dishka" },
1307
- { name = "fastapi", extra = ["all"] },
1295
+ { name = "fastapi", extra = ["standard"] },
1308
1296
  { name = "faststream" },
1309
1297
  { name = "flexmock" },
1310
1298
  { name = "pwdlib", extra = ["argon2", "bcrypt"] },
@@ -1338,7 +1326,7 @@ dev = [
1338
1326
  requires-dist = [
1339
1327
  { name = "cryptography", specifier = ">=46.0.3" },
1340
1328
  { name = "dishka", specifier = ">=1.7.2" },
1341
- { name = "fastapi", extras = ["all"], specifier = ">=0.124.0" },
1329
+ { name = "fastapi", extras = ["standard"], specifier = ">=0.129.0" },
1342
1330
  { name = "faststream", specifier = ">=0.6.6" },
1343
1331
  { name = "flexmock", specifier = ">=0.13.0" },
1344
1332
  { name = "pwdlib", extras = ["argon2", "bcrypt"], specifier = ">=0.3.0" },
@@ -1677,58 +1665,6 @@ wheels = [
1677
1665
  { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" },
1678
1666
  ]
1679
1667
 
1680
- [[package]]
1681
- name = "ujson"
1682
- version = "5.11.0"
1683
- source = { registry = "https://pypi.org/simple" }
1684
- sdist = { url = "https://files.pythonhosted.org/packages/43/d9/3f17e3c5773fb4941c68d9a37a47b1a79c9649d6c56aefbed87cc409d18a/ujson-5.11.0.tar.gz", hash = "sha256:e204ae6f909f099ba6b6b942131cee359ddda2b6e4ea39c12eb8b991fe2010e0", size = 7156583, upload-time = "2025-08-20T11:57:02.452Z" }
1685
- wheels = [
1686
- { url = "https://files.pythonhosted.org/packages/b9/ef/a9cb1fce38f699123ff012161599fb9f2ff3f8d482b4b18c43a2dc35073f/ujson-5.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7895f0d2d53bd6aea11743bd56e3cb82d729980636cd0ed9b89418bf66591702", size = 55434, upload-time = "2025-08-20T11:55:34.987Z" },
1687
- { url = "https://files.pythonhosted.org/packages/b1/05/dba51a00eb30bd947791b173766cbed3492269c150a7771d2750000c965f/ujson-5.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12b5e7e22a1fe01058000d1b317d3b65cc3daf61bd2ea7a2b76721fe160fa74d", size = 53190, upload-time = "2025-08-20T11:55:36.384Z" },
1688
- { url = "https://files.pythonhosted.org/packages/03/3c/fd11a224f73fbffa299fb9644e425f38b38b30231f7923a088dd513aabb4/ujson-5.11.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0180a480a7d099082501cad1fe85252e4d4bf926b40960fb3d9e87a3a6fbbc80", size = 57600, upload-time = "2025-08-20T11:55:37.692Z" },
1689
- { url = "https://files.pythonhosted.org/packages/55/b9/405103cae24899df688a3431c776e00528bd4799e7d68820e7ebcf824f92/ujson-5.11.0-cp312-cp312-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:fa79fdb47701942c2132a9dd2297a1a85941d966d8c87bfd9e29b0cf423f26cc", size = 59791, upload-time = "2025-08-20T11:55:38.877Z" },
1690
- { url = "https://files.pythonhosted.org/packages/17/7b/2dcbc2bbfdbf68f2368fb21ab0f6735e872290bb604c75f6e06b81edcb3f/ujson-5.11.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8254e858437c00f17cb72e7a644fc42dad0ebb21ea981b71df6e84b1072aaa7c", size = 57356, upload-time = "2025-08-20T11:55:40.036Z" },
1691
- { url = "https://files.pythonhosted.org/packages/d1/71/fea2ca18986a366c750767b694430d5ded6b20b6985fddca72f74af38a4c/ujson-5.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1aa8a2ab482f09f6c10fba37112af5f957689a79ea598399c85009f2f29898b5", size = 1036313, upload-time = "2025-08-20T11:55:41.408Z" },
1692
- { url = "https://files.pythonhosted.org/packages/a3/bb/d4220bd7532eac6288d8115db51710fa2d7d271250797b0bfba9f1e755af/ujson-5.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a638425d3c6eed0318df663df44480f4a40dc87cc7c6da44d221418312f6413b", size = 1195782, upload-time = "2025-08-20T11:55:43.357Z" },
1693
- { url = "https://files.pythonhosted.org/packages/80/47/226e540aa38878ce1194454385701d82df538ccb5ff8db2cf1641dde849a/ujson-5.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7e3cff632c1d78023b15f7e3a81c3745cd3f94c044d1e8fa8efbd6b161997bbc", size = 1088817, upload-time = "2025-08-20T11:55:45.262Z" },
1694
- { url = "https://files.pythonhosted.org/packages/7e/81/546042f0b23c9040d61d46ea5ca76f0cc5e0d399180ddfb2ae976ebff5b5/ujson-5.11.0-cp312-cp312-win32.whl", hash = "sha256:be6b0eaf92cae8cdee4d4c9e074bde43ef1c590ed5ba037ea26c9632fb479c88", size = 39757, upload-time = "2025-08-20T11:55:46.522Z" },
1695
- { url = "https://files.pythonhosted.org/packages/44/1b/27c05dc8c9728f44875d74b5bfa948ce91f6c33349232619279f35c6e817/ujson-5.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:b7b136cc6abc7619124fd897ef75f8e63105298b5ca9bdf43ebd0e1fa0ee105f", size = 43859, upload-time = "2025-08-20T11:55:47.987Z" },
1696
- { url = "https://files.pythonhosted.org/packages/22/2d/37b6557c97c3409c202c838aa9c960ca3896843b4295c4b7bb2bbd260664/ujson-5.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:6cd2df62f24c506a0ba322d5e4fe4466d47a9467b57e881ee15a31f7ecf68ff6", size = 38361, upload-time = "2025-08-20T11:55:49.122Z" },
1697
- { url = "https://files.pythonhosted.org/packages/1c/ec/2de9dd371d52c377abc05d2b725645326c4562fc87296a8907c7bcdf2db7/ujson-5.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:109f59885041b14ee9569bf0bb3f98579c3fa0652317b355669939e5fc5ede53", size = 55435, upload-time = "2025-08-20T11:55:50.243Z" },
1698
- { url = "https://files.pythonhosted.org/packages/5b/a4/f611f816eac3a581d8a4372f6967c3ed41eddbae4008d1d77f223f1a4e0a/ujson-5.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a31c6b8004438e8c20fc55ac1c0e07dad42941db24176fe9acf2815971f8e752", size = 53193, upload-time = "2025-08-20T11:55:51.373Z" },
1699
- { url = "https://files.pythonhosted.org/packages/e9/c5/c161940967184de96f5cbbbcce45b562a4bf851d60f4c677704b1770136d/ujson-5.11.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78c684fb21255b9b90320ba7e199780f653e03f6c2528663768965f4126a5b50", size = 57603, upload-time = "2025-08-20T11:55:52.583Z" },
1700
- { url = "https://files.pythonhosted.org/packages/2b/d6/c7b2444238f5b2e2d0e3dab300b9ddc3606e4b1f0e4bed5a48157cebc792/ujson-5.11.0-cp313-cp313-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:4c9f5d6a27d035dd90a146f7761c2272cf7103de5127c9ab9c4cd39ea61e878a", size = 59794, upload-time = "2025-08-20T11:55:53.69Z" },
1701
- { url = "https://files.pythonhosted.org/packages/fe/a3/292551f936d3d02d9af148f53e1bc04306b00a7cf1fcbb86fa0d1c887242/ujson-5.11.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:837da4d27fed5fdc1b630bd18f519744b23a0b5ada1bbde1a36ba463f2900c03", size = 57363, upload-time = "2025-08-20T11:55:54.843Z" },
1702
- { url = "https://files.pythonhosted.org/packages/90/a6/82cfa70448831b1a9e73f882225980b5c689bf539ec6400b31656a60ea46/ujson-5.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:787aff4a84da301b7f3bac09bc696e2e5670df829c6f8ecf39916b4e7e24e701", size = 1036311, upload-time = "2025-08-20T11:55:56.197Z" },
1703
- { url = "https://files.pythonhosted.org/packages/84/5c/96e2266be50f21e9b27acaee8ca8f23ea0b85cb998c33d4f53147687839b/ujson-5.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6dd703c3e86dc6f7044c5ac0b3ae079ed96bf297974598116aa5fb7f655c3a60", size = 1195783, upload-time = "2025-08-20T11:55:58.081Z" },
1704
- { url = "https://files.pythonhosted.org/packages/8d/20/78abe3d808cf3bb3e76f71fca46cd208317bf461c905d79f0d26b9df20f1/ujson-5.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3772e4fe6b0c1e025ba3c50841a0ca4786825a4894c8411bf8d3afe3a8061328", size = 1088822, upload-time = "2025-08-20T11:55:59.469Z" },
1705
- { url = "https://files.pythonhosted.org/packages/d8/50/8856e24bec5e2fc7f775d867aeb7a3f137359356200ac44658f1f2c834b2/ujson-5.11.0-cp313-cp313-win32.whl", hash = "sha256:8fa2af7c1459204b7a42e98263b069bd535ea0cd978b4d6982f35af5a04a4241", size = 39753, upload-time = "2025-08-20T11:56:01.345Z" },
1706
- { url = "https://files.pythonhosted.org/packages/5b/d8/1baee0f4179a4d0f5ce086832147b6cc9b7731c24ca08e14a3fdb8d39c32/ujson-5.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:34032aeca4510a7c7102bd5933f59a37f63891f30a0706fb46487ab6f0edf8f0", size = 43866, upload-time = "2025-08-20T11:56:02.552Z" },
1707
- { url = "https://files.pythonhosted.org/packages/a9/8c/6d85ef5be82c6d66adced3ec5ef23353ed710a11f70b0b6a836878396334/ujson-5.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:ce076f2df2e1aa62b685086fbad67f2b1d3048369664b4cdccc50707325401f9", size = 38363, upload-time = "2025-08-20T11:56:03.688Z" },
1708
- { url = "https://files.pythonhosted.org/packages/28/08/4518146f4984d112764b1dfa6fb7bad691c44a401adadaa5e23ccd930053/ujson-5.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:65724738c73645db88f70ba1f2e6fb678f913281804d5da2fd02c8c5839af302", size = 55462, upload-time = "2025-08-20T11:56:04.873Z" },
1709
- { url = "https://files.pythonhosted.org/packages/29/37/2107b9a62168867a692654d8766b81bd2fd1e1ba13e2ec90555861e02b0c/ujson-5.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29113c003ca33ab71b1b480bde952fbab2a0b6b03a4ee4c3d71687cdcbd1a29d", size = 53246, upload-time = "2025-08-20T11:56:06.054Z" },
1710
- { url = "https://files.pythonhosted.org/packages/9b/f8/25583c70f83788edbe3ca62ce6c1b79eff465d78dec5eb2b2b56b3e98b33/ujson-5.11.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c44c703842024d796b4c78542a6fcd5c3cb948b9fc2a73ee65b9c86a22ee3638", size = 57631, upload-time = "2025-08-20T11:56:07.374Z" },
1711
- { url = "https://files.pythonhosted.org/packages/ed/ca/19b3a632933a09d696f10dc1b0dfa1d692e65ad507d12340116ce4f67967/ujson-5.11.0-cp314-cp314-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:e750c436fb90edf85585f5c62a35b35082502383840962c6983403d1bd96a02c", size = 59877, upload-time = "2025-08-20T11:56:08.534Z" },
1712
- { url = "https://files.pythonhosted.org/packages/55/7a/4572af5324ad4b2bfdd2321e898a527050290147b4ea337a79a0e4e87ec7/ujson-5.11.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f278b31a7c52eb0947b2db55a5133fbc46b6f0ef49972cd1a80843b72e135aba", size = 57363, upload-time = "2025-08-20T11:56:09.758Z" },
1713
- { url = "https://files.pythonhosted.org/packages/7b/71/a2b8c19cf4e1efe53cf439cdf7198ac60ae15471d2f1040b490c1f0f831f/ujson-5.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ab2cb8351d976e788669c8281465d44d4e94413718af497b4e7342d7b2f78018", size = 1036394, upload-time = "2025-08-20T11:56:11.168Z" },
1714
- { url = "https://files.pythonhosted.org/packages/7a/3e/7b98668cba3bb3735929c31b999b374ebc02c19dfa98dfebaeeb5c8597ca/ujson-5.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:090b4d11b380ae25453100b722d0609d5051ffe98f80ec52853ccf8249dfd840", size = 1195837, upload-time = "2025-08-20T11:56:12.6Z" },
1715
- { url = "https://files.pythonhosted.org/packages/a1/ea/8870f208c20b43571a5c409ebb2fe9b9dba5f494e9e60f9314ac01ea8f78/ujson-5.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:80017e870d882d5517d28995b62e4e518a894f932f1e242cbc802a2fd64d365c", size = 1088837, upload-time = "2025-08-20T11:56:14.15Z" },
1716
- { url = "https://files.pythonhosted.org/packages/63/b6/c0e6607e37fa47929920a685a968c6b990a802dec65e9c5181e97845985d/ujson-5.11.0-cp314-cp314-win32.whl", hash = "sha256:1d663b96eb34c93392e9caae19c099ec4133ba21654b081956613327f0e973ac", size = 41022, upload-time = "2025-08-20T11:56:15.509Z" },
1717
- { url = "https://files.pythonhosted.org/packages/4e/56/f4fe86b4c9000affd63e9219e59b222dc48b01c534533093e798bf617a7e/ujson-5.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:849e65b696f0d242833f1df4182096cedc50d414215d1371fca85c541fbff629", size = 45111, upload-time = "2025-08-20T11:56:16.597Z" },
1718
- { url = "https://files.pythonhosted.org/packages/0a/f3/669437f0280308db4783b12a6d88c00730b394327d8334cc7a32ef218e64/ujson-5.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:e73df8648c9470af2b6a6bf5250d4744ad2cf3d774dcf8c6e31f018bdd04d764", size = 39682, upload-time = "2025-08-20T11:56:17.763Z" },
1719
- { url = "https://files.pythonhosted.org/packages/6e/cd/e9809b064a89fe5c4184649adeb13c1b98652db3f8518980b04227358574/ujson-5.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:de6e88f62796372fba1de973c11138f197d3e0e1d80bcb2b8aae1e826096d433", size = 55759, upload-time = "2025-08-20T11:56:18.882Z" },
1720
- { url = "https://files.pythonhosted.org/packages/1b/be/ae26a6321179ebbb3a2e2685b9007c71bcda41ad7a77bbbe164005e956fc/ujson-5.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:49e56ef8066f11b80d620985ae36869a3ff7e4b74c3b6129182ec5d1df0255f3", size = 53634, upload-time = "2025-08-20T11:56:20.012Z" },
1721
- { url = "https://files.pythonhosted.org/packages/ae/e9/fb4a220ee6939db099f4cfeeae796ecb91e7584ad4d445d4ca7f994a9135/ujson-5.11.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1a325fd2c3a056cf6c8e023f74a0c478dd282a93141356ae7f16d5309f5ff823", size = 58547, upload-time = "2025-08-20T11:56:21.175Z" },
1722
- { url = "https://files.pythonhosted.org/packages/bd/f8/fc4b952b8f5fea09ea3397a0bd0ad019e474b204cabcb947cead5d4d1ffc/ujson-5.11.0-cp314-cp314t-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:a0af6574fc1d9d53f4ff371f58c96673e6d988ed2b5bf666a6143c782fa007e9", size = 60489, upload-time = "2025-08-20T11:56:22.342Z" },
1723
- { url = "https://files.pythonhosted.org/packages/2e/e5/af5491dfda4f8b77e24cf3da68ee0d1552f99a13e5c622f4cef1380925c3/ujson-5.11.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10f29e71ecf4ecd93a6610bd8efa8e7b6467454a363c3d6416db65de883eb076", size = 58035, upload-time = "2025-08-20T11:56:23.92Z" },
1724
- { url = "https://files.pythonhosted.org/packages/c4/09/0945349dd41f25cc8c38d78ace49f14c5052c5bbb7257d2f466fa7bdb533/ujson-5.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1a0a9b76a89827a592656fe12e000cf4f12da9692f51a841a4a07aa4c7ecc41c", size = 1037212, upload-time = "2025-08-20T11:56:25.274Z" },
1725
- { url = "https://files.pythonhosted.org/packages/49/44/8e04496acb3d5a1cbee3a54828d9652f67a37523efa3d3b18a347339680a/ujson-5.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b16930f6a0753cdc7d637b33b4e8f10d5e351e1fb83872ba6375f1e87be39746", size = 1196500, upload-time = "2025-08-20T11:56:27.517Z" },
1726
- { url = "https://files.pythonhosted.org/packages/64/ae/4bc825860d679a0f208a19af2f39206dfd804ace2403330fdc3170334a2f/ujson-5.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:04c41afc195fd477a59db3a84d5b83a871bd648ef371cf8c6f43072d89144eef", size = 1089487, upload-time = "2025-08-20T11:56:29.07Z" },
1727
- { url = "https://files.pythonhosted.org/packages/30/ed/5a057199fb0a5deabe0957073a1c1c1c02a3e99476cd03daee98ea21fa57/ujson-5.11.0-cp314-cp314t-win32.whl", hash = "sha256:aa6d7a5e09217ff93234e050e3e380da62b084e26b9f2e277d2606406a2fc2e5", size = 41859, upload-time = "2025-08-20T11:56:30.495Z" },
1728
- { url = "https://files.pythonhosted.org/packages/aa/03/b19c6176bdf1dc13ed84b886e99677a52764861b6cc023d5e7b6ebda249d/ujson-5.11.0-cp314-cp314t-win_amd64.whl", hash = "sha256:48055e1061c1bb1f79e75b4ac39e821f3f35a9b82de17fce92c3140149009bec", size = 46183, upload-time = "2025-08-20T11:56:31.574Z" },
1729
- { url = "https://files.pythonhosted.org/packages/5d/ca/a0413a3874b2dc1708b8796ca895bf363292f9c70b2e8ca482b7dbc0259d/ujson-5.11.0-cp314-cp314t-win_arm64.whl", hash = "sha256:1194b943e951092db611011cb8dbdb6cf94a3b816ed07906e14d3bc6ce0e90ab", size = 40264, upload-time = "2025-08-20T11:56:32.773Z" },
1730
- ]
1731
-
1732
1668
  [[package]]
1733
1669
  name = "urllib3"
1734
1670
  version = "2.6.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes