diracx 0.0.1a45__tar.gz → 0.0.1a46__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 (407) hide show
  1. {diracx-0.0.1a45 → diracx-0.0.1a46}/.github/workflows/main.yml +8 -8
  2. diracx-0.0.1a46/.github/workflows/update_security_txt_expiry.yml +88 -0
  3. {diracx-0.0.1a45 → diracx-0.0.1a46}/.github/workflows/vulnerabilities.yml +4 -4
  4. {diracx-0.0.1a45 → diracx-0.0.1a46}/.pre-commit-config.yaml +17 -11
  5. {diracx-0.0.1a45 → diracx-0.0.1a46}/PKG-INFO +2 -3
  6. {diracx-0.0.1a45 → diracx-0.0.1a46}/README.md +1 -2
  7. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/pyproject.toml +1 -1
  8. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/auth.py +6 -2
  9. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/internal/legacy.py +4 -4
  10. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/legacy/cs_sync/integration_test.cfg +1 -0
  11. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_client.py +10 -33
  12. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_configuration.py +6 -18
  13. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_utils/serialization.py +70 -224
  14. {diracx-0.0.1a45/extensions/gubbins/gubbins-client/src/gubbins → diracx-0.0.1a46/diracx-client/src/diracx}/client/_generated/_utils/utils.py +3 -9
  15. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/_client.py +8 -29
  16. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/_configuration.py +7 -21
  17. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/_patch.py +1 -3
  18. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/operations/_operations.py +193 -374
  19. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/models/__init__.py +1 -2
  20. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/models/_models.py +30 -90
  21. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/operations/_operations.py +249 -501
  22. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/tests/test_auth.py +9 -5
  23. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/config/sources.py +0 -1
  24. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/exceptions.py +0 -4
  25. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/s3.py +6 -1
  26. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/settings.py +14 -27
  27. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/utils.py +2 -2
  28. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/tests/test_config_source.py +0 -2
  29. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/tests/test_utils.py +6 -6
  30. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/__main__.py +0 -1
  31. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/job_logging/db.py +0 -1
  32. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/pilot_agents/db.py +0 -1
  33. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/sandbox_metadata/db.py +5 -1
  34. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/opensearch/test_index_template.py +4 -2
  35. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/pilot_agents/test_pilot_agents_db.py +0 -1
  36. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/__main__.py +4 -1
  37. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/token.py +4 -4
  38. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/utils.py +2 -3
  39. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/jobs/sandboxes.py +37 -14
  40. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/jobs/status.py +1 -1
  41. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/access_policies.py +0 -2
  42. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/management.py +2 -1
  43. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/token.py +10 -14
  44. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/well_known.py +9 -0
  45. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/factory.py +4 -13
  46. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/fastapi_classes.py +0 -1
  47. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/access_policies.py +0 -1
  48. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/utils/users.py +1 -1
  49. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/auth/test_standard.py +84 -7
  50. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/jobs/test_query.py +1 -1
  51. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/jobs/test_status.py +17 -17
  52. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/jobs/test_wms_access_policy.py +0 -3
  53. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/test_policy.py +0 -1
  54. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/utils.py +0 -5
  55. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_client.py +11 -37
  56. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_configuration.py +6 -18
  57. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_utils/serialization.py +70 -224
  58. {diracx-0.0.1a45/diracx-client/src/diracx → diracx-0.0.1a46/extensions/gubbins/gubbins-client/src/gubbins}/client/_generated/_utils/utils.py +3 -9
  59. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/_client.py +9 -33
  60. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/_configuration.py +7 -21
  61. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/_patch.py +1 -3
  62. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/operations/_operations.py +208 -413
  63. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/models/__init__.py +1 -2
  64. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/models/_models.py +30 -88
  65. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/operations/_operations.py +264 -540
  66. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/operations/_patch.py +1 -3
  67. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/tests/test_gubbins_client.py +3 -3
  68. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/tests/test_config.py +0 -1
  69. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/lollygag/access_policy.py +0 -2
  70. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/pyproject.toml +3 -1
  71. {diracx-0.0.1a45 → diracx-0.0.1a46}/pixi.toml +0 -10
  72. {diracx-0.0.1a45 → diracx-0.0.1a46}/pyproject.toml +21 -2
  73. diracx-0.0.1a46/release.notes.new +30 -0
  74. diracx-0.0.1a45/release.notes.new +0 -55
  75. {diracx-0.0.1a45 → diracx-0.0.1a46}/.coveragerc +0 -0
  76. {diracx-0.0.1a45 → diracx-0.0.1a46}/.gitattributes +0 -0
  77. {diracx-0.0.1a45 → diracx-0.0.1a46}/.github/dependabot.yml +0 -0
  78. {diracx-0.0.1a45 → diracx-0.0.1a46}/.github/workflows/deployment.yml +0 -0
  79. {diracx-0.0.1a45 → diracx-0.0.1a46}/.github/workflows/integration.yml +0 -0
  80. {diracx-0.0.1a45 → diracx-0.0.1a46}/.github/workflows/make_release.py +0 -0
  81. {diracx-0.0.1a45 → diracx-0.0.1a46}/.gitignore +0 -0
  82. {diracx-0.0.1a45 → diracx-0.0.1a46}/.readthedocs.yaml +0 -0
  83. {diracx-0.0.1a45 → diracx-0.0.1a46}/LICENSE +0 -0
  84. {diracx-0.0.1a45 → diracx-0.0.1a46}/MANIFEST.in +0 -0
  85. {diracx-0.0.1a45 → diracx-0.0.1a46}/codecov.yml +0 -0
  86. {diracx-0.0.1a45 → diracx-0.0.1a46}/containers/client/Dockerfile +0 -0
  87. {diracx-0.0.1a45 → diracx-0.0.1a46}/containers/services/Dockerfile +0 -0
  88. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/README.md +0 -0
  89. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/pyproject.toml +0 -0
  90. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/src/diracx/api/__init__.py +0 -0
  91. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/src/diracx/api/jobs.py +0 -0
  92. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/src/diracx/api/py.typed +0 -0
  93. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/src/diracx/api/utils.py +0 -0
  94. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/tests/test_jobs.py +0 -0
  95. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-api/tests/test_utils.py +0 -0
  96. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/README.md +0 -0
  97. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/__init__.py +0 -0
  98. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/__main__.py +0 -0
  99. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/config.py +0 -0
  100. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/internal/__init__.py +0 -0
  101. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/internal/config.py +0 -0
  102. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/jobs.py +0 -0
  103. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/py.typed +0 -0
  104. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/src/diracx/cli/utils.py +0 -0
  105. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/legacy/cs_sync/integration_test.yaml +0 -0
  106. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/legacy/cs_sync/integration_test_buggy.cfg +0 -0
  107. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/legacy/cs_sync/integration_test_secret.cfg +0 -0
  108. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/legacy/cs_sync/test_cssync.py +0 -0
  109. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/legacy/test_legacy.py +0 -0
  110. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/test_internal.py +0 -0
  111. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/test_jobs.py +0 -0
  112. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-cli/tests/test_login.py +0 -0
  113. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/README.md +0 -0
  114. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/pyproject.toml +0 -0
  115. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/_diracx_client_importer.pth +0 -0
  116. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/_client_importer.py +0 -0
  117. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/__init__.py +0 -0
  118. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/__init__.py +0 -0
  119. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_patch.py +0 -0
  120. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_serialization.py +0 -0
  121. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_utils/__init__.py +0 -0
  122. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/_vendor.py +0 -0
  123. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/__init__.py +0 -0
  124. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/_vendor.py +0 -0
  125. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/operations/__init__.py +0 -0
  126. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/aio/operations/_patch.py +0 -0
  127. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/models/_enums.py +0 -0
  128. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/models/_patch.py +0 -0
  129. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/operations/__init__.py +0 -0
  130. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/operations/_patch.py +0 -0
  131. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/_generated/py.typed +0 -0
  132. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/aio.py +0 -0
  133. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/models.py +0 -0
  134. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/auth/aio.py +0 -0
  135. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/auth/common.py +0 -0
  136. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/auth/sync.py +0 -0
  137. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/client/aio.py +0 -0
  138. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/client/common.py +0 -0
  139. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/client/sync.py +0 -0
  140. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/jobs/aio.py +0 -0
  141. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/jobs/common.py +0 -0
  142. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/jobs/sync.py +0 -0
  143. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/patches/utils.py +0 -0
  144. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/py.typed +0 -0
  145. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-client/src/diracx/client/sync.py +0 -0
  146. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/README.md +0 -0
  147. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/pyproject.toml +0 -0
  148. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/__init__.py +0 -0
  149. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/config/__init__.py +0 -0
  150. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/config/schema.py +0 -0
  151. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/extensions.py +0 -0
  152. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/models.py +0 -0
  153. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/preferences.py +0 -0
  154. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/properties.py +0 -0
  155. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/src/diracx/core/py.typed +0 -0
  156. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/tests/test_extensions.py +0 -0
  157. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/tests/test_s3.py +0 -0
  158. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-core/tests/test_secrets.py +0 -0
  159. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/README.md +0 -0
  160. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/pyproject.toml +0 -0
  161. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/__init__.py +0 -0
  162. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/exceptions.py +0 -0
  163. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/os/__init__.py +0 -0
  164. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/os/job_parameters.py +0 -0
  165. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/os/utils.py +0 -0
  166. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/py.typed +0 -0
  167. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/__init__.py +0 -0
  168. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/auth/__init__.py +0 -0
  169. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/auth/db.py +0 -0
  170. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/auth/schema.py +0 -0
  171. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/dummy/__init__.py +0 -0
  172. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/dummy/db.py +0 -0
  173. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/dummy/schema.py +0 -0
  174. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/job/__init__.py +0 -0
  175. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/job/db.py +0 -0
  176. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/job/schema.py +0 -0
  177. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/job_logging/__init__.py +0 -0
  178. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/job_logging/schema.py +0 -0
  179. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/pilot_agents/__init__.py +0 -0
  180. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/pilot_agents/schema.py +0 -0
  181. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/sandbox_metadata/__init__.py +0 -0
  182. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/sandbox_metadata/schema.py +0 -0
  183. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/task_queue/__init__.py +0 -0
  184. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/task_queue/db.py +0 -0
  185. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/task_queue/schema.py +0 -0
  186. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/utils/__init__.py +0 -0
  187. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/utils/base.py +0 -0
  188. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/utils/functions.py +0 -0
  189. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/src/diracx/db/sql/utils/types.py +0 -0
  190. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/auth/test_authorization_flow.py +0 -0
  191. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/auth/test_device_flow.py +0 -0
  192. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/auth/test_refresh_token.py +0 -0
  193. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/jobs/test_job_db.py +0 -0
  194. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/jobs/test_job_logging_db.py +0 -0
  195. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/jobs/test_sandbox_metadata.py +0 -0
  196. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/opensearch/test_connection.py +0 -0
  197. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/opensearch/test_search.py +0 -0
  198. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/pilot_agents/__init__.py +0 -0
  199. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/test_dummy_db.py +0 -0
  200. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-db/tests/test_freeze_time.py +0 -0
  201. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/README.md +0 -0
  202. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/pyproject.toml +0 -0
  203. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/__init__.py +0 -0
  204. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/__init__.py +0 -0
  205. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/authorize_code_flow.py +0 -0
  206. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/device_flow.py +0 -0
  207. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/management.py +0 -0
  208. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/auth/well_known.py +0 -0
  209. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/jobs/__init__.py +0 -0
  210. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/jobs/query.py +0 -0
  211. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/jobs/submission.py +0 -0
  212. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/jobs/utils.py +0 -0
  213. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/py.typed +0 -0
  214. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/task_queues/__init__.py +0 -0
  215. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/src/diracx/logic/task_queues/priority.py +0 -0
  216. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-logic/tests/logic/test_sandboxes.py +0 -0
  217. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/README.md +0 -0
  218. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/pyproject.toml +0 -0
  219. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/__init__.py +0 -0
  220. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/__init__.py +0 -0
  221. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/authorize_code_flow.py +0 -0
  222. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/device_flow.py +0 -0
  223. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/auth/utils.py +0 -0
  224. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/configuration.py +0 -0
  225. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/dependencies.py +0 -0
  226. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/health/__init__.py +0 -0
  227. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/health/probes.py +0 -0
  228. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/__init__.py +0 -0
  229. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/legacy.py +0 -0
  230. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/query.py +0 -0
  231. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/sandboxes.py +0 -0
  232. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/status.py +0 -0
  233. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/jobs/submission.py +0 -0
  234. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/otel.py +0 -0
  235. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/py.typed +0 -0
  236. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/src/diracx/routers/utils/__init__.py +0 -0
  237. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/auth/test_legacy_exchange.py +0 -0
  238. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/data/idp-server.invalid/.well-known/openid-configuration +0 -0
  239. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/health/test_probes.py +0 -0
  240. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/jobs/conftest.py +0 -0
  241. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/jobs/test_sandboxes.py +0 -0
  242. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/test_config_manager.py +0 -0
  243. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-routers/tests/test_generic.py +0 -0
  244. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/README.md +0 -0
  245. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/pyproject.toml +0 -0
  246. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/__init__.py +0 -0
  247. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/__main__.py +0 -0
  248. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/client_generation.py +0 -0
  249. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/client_generation_pytest.py +0 -0
  250. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/dummy_osdb.py +0 -0
  251. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/entrypoints.py +0 -0
  252. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/mock_osdb.py +0 -0
  253. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/osdb.py +0 -0
  254. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/routers.py +0 -0
  255. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/scripts/collect_demo_coverage.sh +0 -0
  256. {diracx-0.0.1a45 → diracx-0.0.1a46}/diracx-testing/src/diracx/testing/time.py +0 -0
  257. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/SECURITY.md +0 -0
  258. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/explanations/authentication.md +0 -0
  259. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/explanations/configuration.md +0 -0
  260. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/explanations/opentelemetry.md +0 -0
  261. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/explanations/user-management.md +0 -0
  262. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/how-to/convert-cs.md +0 -0
  263. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/how-to/register-a-vo.md +0 -0
  264. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/how-to/register-the-admin-vo.md +0 -0
  265. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/reference/security_model.md +0 -0
  266. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/reference/settings-and-preferences.md +0 -0
  267. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/admin/tutorials/authentication.md +0 -0
  268. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/css/extra.css +0 -0
  269. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/css/fontawesome-all.min.css +0 -0
  270. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/css/images/arrow.svg +0 -0
  271. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/css/images/overlay.png +0 -0
  272. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/css/main.css +0 -0
  273. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/home.html +0 -0
  274. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/images/diracx-logo-square.svg +0 -0
  275. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/images/logo.svg +0 -0
  276. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/images/pic02.jpg +0 -0
  277. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/styles/extra.css +0 -0
  278. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/webfonts/fa-brands-400.woff2 +0 -0
  279. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/assets/webfonts/fa-solid-900.woff +0 -0
  280. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/client.md +0 -0
  281. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/components/api.md +0 -0
  282. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/components/cli.md +0 -0
  283. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/components/db.md +0 -0
  284. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/components/index.md +0 -0
  285. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/components/routes.md +0 -0
  286. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/designing-functionality.md +0 -0
  287. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/extensions.md +0 -0
  288. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/index.md +0 -0
  289. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/explanations/testing.md +0 -0
  290. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/add-a-db.md +0 -0
  291. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/add-a-route.md +0 -0
  292. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/add-a-setting.md +0 -0
  293. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/add-a-test.md +0 -0
  294. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/client-customization.md +0 -0
  295. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/client-generation.md +0 -0
  296. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/how-to/extend-diracx/index.md +0 -0
  297. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/application-state.md +0 -0
  298. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/client-metapathfinder.md +0 -0
  299. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/coding-conventions.md +0 -0
  300. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/configuration.md +0 -0
  301. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/db-transaction-model.md +0 -0
  302. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/dependency-injection.md +0 -0
  303. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/entrypoints.md +0 -0
  304. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/security-policies.md +0 -0
  305. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/reference/security-properties.md +0 -0
  306. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/tutorials/advanced-tutorial.md +0 -0
  307. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/tutorials/getting-started.md +0 -0
  308. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/tutorials/making-changes.md +0 -0
  309. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/tutorials/run-locally.md +0 -0
  310. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/dev/tutorials/write-docs.md +0 -0
  311. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/index.md +0 -0
  312. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/project/consortium.md +0 -0
  313. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/project/index.md +0 -0
  314. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/roadmap.md +0 -0
  315. {diracx-0.0.1a45 → diracx-0.0.1a46}/docs/user/reference/client-configuration.md +0 -0
  316. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/README.md +0 -0
  317. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/containers/client/Dockerfile +0 -0
  318. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/containers/services/Dockerfile +0 -0
  319. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/.github/workflows/main.yml +0 -0
  320. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/README.md +0 -0
  321. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-api/README.md +0 -0
  322. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-api/pyproject.toml +0 -0
  323. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-api/src/gubbins/api/__init__.py +0 -0
  324. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-api/src/gubbins/api/py.typed +0 -0
  325. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-api/tests/test_gubbins_api.py +0 -0
  326. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/README.md +0 -0
  327. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/pyproject.toml +0 -0
  328. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/src/gubbins/cli/__init__.py +0 -0
  329. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/src/gubbins/cli/config.py +0 -0
  330. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/src/gubbins/cli/lollygag.py +0 -0
  331. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/src/gubbins/cli/py.typed +0 -0
  332. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-cli/tests/test_gubbins_cli.py +0 -0
  333. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/README.md +0 -0
  334. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/pyproject.toml +0 -0
  335. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/__init__.py +0 -0
  336. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/__init__.py +0 -0
  337. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_patch.py +0 -0
  338. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_serialization.py +0 -0
  339. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_utils/__init__.py +0 -0
  340. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/_vendor.py +0 -0
  341. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/__init__.py +0 -0
  342. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/_vendor.py +0 -0
  343. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/operations/__init__.py +0 -0
  344. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/aio/operations/_patch.py +0 -0
  345. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/models/_enums.py +0 -0
  346. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/operations/__init__.py +0 -0
  347. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/_generated/py.typed +0 -0
  348. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/aio.py +0 -0
  349. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/models.py +0 -0
  350. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/py.typed +0 -0
  351. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-client/src/gubbins/client/sync.py +0 -0
  352. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/README.md +0 -0
  353. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/pyproject.toml +0 -0
  354. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/src/gubbins/core/__init__.py +0 -0
  355. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/src/gubbins/core/config/__init__.py +0 -0
  356. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/src/gubbins/core/config/schema.py +0 -0
  357. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/src/gubbins/core/models.py +0 -0
  358. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/src/gubbins/core/properties.py +0 -0
  359. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/src/gubbins/core/py.typed +0 -0
  360. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-core/tests/test_properties.py +0 -0
  361. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/README.md +0 -0
  362. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/pyproject.toml +0 -0
  363. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/__init__.py +0 -0
  364. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/py.typed +0 -0
  365. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/__init__.py +0 -0
  366. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/jobs/__init__.py +0 -0
  367. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/jobs/db.py +0 -0
  368. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/jobs/schema.py +0 -0
  369. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/lollygag/__init__.py +0 -0
  370. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/lollygag/db.py +0 -0
  371. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/src/gubbins/db/sql/lollygag/schema.py +0 -0
  372. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/tests/test_gubbins_job_db.py +0 -0
  373. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-db/tests/test_lollygag_db.py +0 -0
  374. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/README.md +0 -0
  375. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/pyproject.toml +0 -0
  376. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/src/gubbins/logic/__init__.py +0 -0
  377. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/src/gubbins/logic/auth/__init__.py +0 -0
  378. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/src/gubbins/logic/auth/well_known.py +0 -0
  379. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/src/gubbins/logic/lollygag/__init__.py +0 -0
  380. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/src/gubbins/logic/lollygag/lollygag.py +0 -0
  381. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/src/gubbins/logic/py.typed +0 -0
  382. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-logic/tests/test_gubbins_logic.py +0 -0
  383. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/README.md +0 -0
  384. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/pyproject.toml +0 -0
  385. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/__init__.py +0 -0
  386. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/dependencies.py +0 -0
  387. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/lollygag/__init__.py +0 -0
  388. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/lollygag/lollygag.py +0 -0
  389. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/py.typed +0 -0
  390. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/src/gubbins/routers/well_known.py +0 -0
  391. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/tests/data/idp-server.invalid/.well-known/openid-configuration +0 -0
  392. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/tests/test_gubbins_job_manager.py +0 -0
  393. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/tests/test_lollybag.py +0 -0
  394. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-routers/tests/test_wellknown.py +0 -0
  395. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-testing/README.md +0 -0
  396. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-testing/pyproject.toml +0 -0
  397. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/gubbins-testing/src/gubbins/testing/__init__.py +0 -0
  398. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/pixi.toml +0 -0
  399. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins/release.notes +0 -0
  400. {diracx-0.0.1a45 → diracx-0.0.1a46}/extensions/gubbins_values.yaml +0 -0
  401. {diracx-0.0.1a45 → diracx-0.0.1a46}/mkdocs.yml +0 -0
  402. {diracx-0.0.1a45 → diracx-0.0.1a46}/release.notes +0 -0
  403. {diracx-0.0.1a45 → diracx-0.0.1a46}/release.notes.old +0 -0
  404. {diracx-0.0.1a45 → diracx-0.0.1a46}/run_local.sh +0 -0
  405. {diracx-0.0.1a45 → diracx-0.0.1a46}/tests/__init__.py +0 -0
  406. {diracx-0.0.1a45 → diracx-0.0.1a46}/tests/make_token_local.py +0 -0
  407. {diracx-0.0.1a45 → diracx-0.0.1a46}/tests/test_generic.py +0 -0
@@ -19,7 +19,7 @@ jobs:
19
19
  steps:
20
20
  - name: Checkout code
21
21
  uses: actions/checkout@v4
22
- - uses: prefix-dev/setup-pixi@v0.8.8
22
+ - uses: prefix-dev/setup-pixi@v0.8.11
23
23
  with:
24
24
  run-install: false
25
25
  post-cleanup: false
@@ -32,7 +32,7 @@ jobs:
32
32
  pixi add --no-install --pypi --feature diracx-core pytest-github-actions-annotate-failures
33
33
  # Show any changes
34
34
  git diff
35
- - uses: prefix-dev/setup-pixi@v0.8.8
35
+ - uses: prefix-dev/setup-pixi@v0.8.11
36
36
  with:
37
37
  cache: false
38
38
  environments: shellcheck
@@ -63,7 +63,7 @@ jobs:
63
63
  steps:
64
64
  - name: Checkout code
65
65
  uses: actions/checkout@v4
66
- - uses: prefix-dev/setup-pixi@v0.8.8
66
+ - uses: prefix-dev/setup-pixi@v0.8.11
67
67
  with:
68
68
  run-install: false
69
69
  post-cleanup: false
@@ -76,7 +76,7 @@ jobs:
76
76
  pixi add --no-install --pypi --feature diracx-core pytest-github-actions-annotate-failures
77
77
  # Show any changes
78
78
  git diff
79
- - uses: prefix-dev/setup-pixi@v0.8.8
79
+ - uses: prefix-dev/setup-pixi@v0.8.11
80
80
  with:
81
81
  cache: false
82
82
  environments: ${{ matrix.package }}
@@ -96,7 +96,7 @@ jobs:
96
96
  steps:
97
97
  - name: Checkout code
98
98
  uses: actions/checkout@v4
99
- - uses: prefix-dev/setup-pixi@v0.8.8
99
+ - uses: prefix-dev/setup-pixi@v0.8.11
100
100
  with:
101
101
  run-install: false
102
102
  post-cleanup: false
@@ -109,7 +109,7 @@ jobs:
109
109
  pixi add --no-install --pypi --feature diracx-core pytest-github-actions-annotate-failures
110
110
  # Show any changes
111
111
  git diff
112
- - uses: prefix-dev/setup-pixi@v0.8.8
112
+ - uses: prefix-dev/setup-pixi@v0.8.11
113
113
  with:
114
114
  cache: false
115
115
  environments: ${{ matrix.extension == 'diracx' && 'default' || 'default-gubbins' }}
@@ -222,7 +222,7 @@ jobs:
222
222
  steps:
223
223
  - name: Checkout code
224
224
  uses: actions/checkout@v4
225
- - uses: prefix-dev/setup-pixi@v0.8.8
225
+ - uses: prefix-dev/setup-pixi@v0.8.11
226
226
  with:
227
227
  run-install: false
228
228
  post-cleanup: false
@@ -232,7 +232,7 @@ jobs:
232
232
  pixi add --no-install --pypi --feature diracx-core pytest-github-actions-annotate-failures
233
233
  # Show any changes
234
234
  git diff
235
- - uses: prefix-dev/setup-pixi@v0.8.8
235
+ - uses: prefix-dev/setup-pixi@v0.8.11
236
236
  with:
237
237
  cache: false
238
238
  locked: false
@@ -0,0 +1,88 @@
1
+ name: Update Security.txt Expiry
2
+
3
+ on:
4
+ schedule:
5
+ # Runs once a year
6
+ - cron: '15 2 1 1 *' # January 1st at 02:15 UTC
7
+ workflow_dispatch: # Allows manual triggering for testing.
8
+
9
+ jobs:
10
+ update-expiry:
11
+ runs-on: ubuntu-latest
12
+ # Grant GITHUB_TOKEN permissions to create a pull request.
13
+ permissions:
14
+ contents: write
15
+ pull-requests: write
16
+
17
+ steps:
18
+ - name: Checkout repository
19
+ uses: actions/checkout@v4
20
+
21
+ - name: Set up Python
22
+ uses: actions/setup-python@v4
23
+ with:
24
+ python-version: '3.x'
25
+
26
+ - name: Update expiry date in well_known.py
27
+ id: update_script
28
+ run: |
29
+ import re
30
+ from datetime import datetime, timedelta, timezone
31
+ import os
32
+
33
+ file_path = "diracx-routers/src/diracx/routers/auth/well_known.py"
34
+ changes_made = False
35
+
36
+ with open(file_path, "r") as f:
37
+ content = f.read()
38
+
39
+ # Using a robust regex to find the line and capture the date
40
+ pattern = re.compile(r'''(^\s*Expires: )(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)''', re.MULTILINE)
41
+ match = pattern.search(content)
42
+
43
+ if match:
44
+ old_date_str = match.group(2)
45
+ try:
46
+ expiry_date = datetime.strptime(old_date_str, "%Y-%m-%dT%H:%M:%S.%fZ").replace(tzinfo=timezone.utc)
47
+ now = datetime.now(timezone.utc)
48
+
49
+ # Update if the expiry is less than 45 days away
50
+ if (expiry_date - now) < timedelta(days=45):
51
+ # Set the new expiry to be 1 year from today
52
+ new_expiry_date = now + timedelta(days=365)
53
+ new_date_str = new_expiry_date.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + "Z"
54
+
55
+ new_content = pattern.sub(r'''\g<1>''' + new_date_str, content)
56
+
57
+ with open(file_path, "w") as f:
58
+ f.write(new_content)
59
+
60
+ print(f"INFO: Updated expiry date to {new_date_str}")
61
+ changes_made = True
62
+ else:
63
+ print(f"INFO: Expiry date {old_date_str} is not within the update window. No changes made.")
64
+ except (ValueError) as e:
65
+ print(f"ERROR: Could not parse date string {old_date_str}. Error: {e}")
66
+
67
+ else:
68
+ print(f"ERROR: Could not find the 'Expires:' line in the specified format in {file_path}")
69
+
70
+ # Set output for subsequent steps
71
+ with open(os.environ['GITHUB_OUTPUT'], 'a') as hf:
72
+ print(f'changes_made={str(changes_made).lower()}', file=hf)
73
+ shell: python
74
+
75
+ - name: Create Pull Request
76
+ if: steps.update_script.outputs.changes_made == 'true'
77
+ uses: peter-evans/create-pull-request@v7
78
+ with:
79
+ token: ${{ secrets.GITHUB_TOKEN }}
80
+ commit-message: "chore(security): Update security.txt expiry date"
81
+ title: "Automated Security.txt Expiry Update"
82
+ body: |
83
+ This is an automated PR to update the `Expires` field in the `security.txt` file.
84
+
85
+ The expiry date is automatically updated to one year from the current date to ensure it remains valid.
86
+ branch: "chore/update-security-txt-expiry"
87
+ base: "main"
88
+ delete-branch: true
@@ -22,7 +22,7 @@ jobs:
22
22
  tags: true
23
23
 
24
24
  - name: Run Trivy (client:dev)
25
- uses: aquasecurity/trivy-action@0.30.0
25
+ uses: aquasecurity/trivy-action@0.32.0
26
26
  with:
27
27
  image-ref: "ghcr.io/diracgrid/diracx/client:dev"
28
28
  format: "sarif"
@@ -35,7 +35,7 @@ jobs:
35
35
  category: "client-dev"
36
36
 
37
37
  - name: Run Trivy (services:dev)
38
- uses: aquasecurity/trivy-action@0.30.0
38
+ uses: aquasecurity/trivy-action@0.32.0
39
39
  with:
40
40
  image-ref: "ghcr.io/diracgrid/diracx/services:dev"
41
41
  format: "sarif"
@@ -61,7 +61,7 @@ jobs:
61
61
 
62
62
  - name: Run Trivy (client:release)
63
63
  if: ${{ steps.get-latest-tag.outputs.latest_tag != '' }}
64
- uses: aquasecurity/trivy-action@0.30.0
64
+ uses: aquasecurity/trivy-action@0.32.0
65
65
  with:
66
66
  image-ref: "ghcr.io/diracgrid/diracx/client:${{ steps.get-latest-tag.outputs.latest_tag }}"
67
67
  format: "sarif"
@@ -77,7 +77,7 @@ jobs:
77
77
 
78
78
  - name: Run Trivy (services:release)
79
79
  if: ${{ steps.get-latest-tag.outputs.latest_tag != '' }}
80
- uses: aquasecurity/trivy-action@0.30.0
80
+ uses: aquasecurity/trivy-action@0.32.0
81
81
  with:
82
82
  image-ref: "ghcr.io/diracgrid/diracx/services:${{ steps.get-latest-tag.outputs.latest_tag }}"
83
83
  format: "sarif"
@@ -1,9 +1,22 @@
1
1
  # See https://pre-commit.com for more information
2
2
  # See https://pre-commit.com/hooks.html for more hooks
3
+ default_install_hook_types:
4
+ - pre-commit
5
+ - commit-msg
6
+
3
7
  default_language_version:
4
8
  python: python3
5
9
 
10
+ default_stages: [pre-commit]
11
+
6
12
  repos:
13
+ - repo: https://github.com/compilerla/conventional-pre-commit
14
+ rev: v4.2.0
15
+ hooks:
16
+ - id: conventional-pre-commit
17
+ stages: [commit-msg]
18
+ args: ["--verbose"]
19
+
7
20
  - repo: https://github.com/pre-commit/pre-commit-hooks
8
21
  rev: v5.0.0
9
22
  hooks:
@@ -14,18 +27,14 @@ repos:
14
27
  - id: check-added-large-files
15
28
 
16
29
  - repo: https://github.com/astral-sh/ruff-pre-commit
17
- rev: 'v0.11.9'
30
+ rev: 'v0.12.3'
18
31
  hooks:
19
32
  - id: ruff
20
33
  args: ["--fix", "--show-fixes"]
21
-
22
- - repo: https://github.com/psf/black-pre-commit-mirror
23
- rev: 25.1.0
24
- hooks:
25
- - id: black
34
+ - id: ruff-format
26
35
 
27
36
  - repo: https://github.com/pre-commit/mirrors-mypy
28
- rev: v1.15.0
37
+ rev: v1.16.1
29
38
  hooks:
30
39
  - id: mypy
31
40
  additional_dependencies:
@@ -51,7 +60,4 @@ repos:
51
60
  rev: v2.4.1
52
61
  hooks:
53
62
  - id: codespell
54
- args:
55
- - "--skip=diracx-client/src/diracx/client/_generated/*, diracx-[a-z]*/tests/*, diracx-testing/*, build/*, extensions/gubbins/gubbins-client/src/gubbins/client/_generated/*, extensions/gubbins/gubbins-*/tests/*"
56
- - "--ignore-words-list=CheckIn"
57
- - "-w"
63
+ args: ["-w"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diracx
3
- Version: 0.0.1a45
3
+ Version: 0.0.1a46
4
4
  Summary: Client installation for users of DiracX installations
5
5
  License: GPL-3.0-only
6
6
  License-File: LICENSE
@@ -20,8 +20,7 @@ Description-Content-Type: text/markdown
20
20
 
21
21
  ![DiracX tests](https://github.com/DIRACGrid/diracx/actions/workflows/main.yml/badge.svg?branch=main)
22
22
  ![Legacy tests](https://github.com/DIRACGrid/diracx/actions/workflows/integration.yml/badge.svg?branch=main)
23
- ![Diracx deployment](https://github.com/DIRACGrid/diracx/actions/workflows/deployment.yml/badge.svg?branch=main)
24
- ![Diracx: extensions](https://github.com/DIRACGrid/diracx/actions/workflows/extensions.yml/badge.svg?branch=main)
23
+ ![DiracX deployment](https://github.com/DIRACGrid/diracx/actions/workflows/deployment.yml/badge.svg?branch=main)
25
24
 
26
25
  # DiracX
27
26
 
@@ -1,7 +1,6 @@
1
1
  ![DiracX tests](https://github.com/DIRACGrid/diracx/actions/workflows/main.yml/badge.svg?branch=main)
2
2
  ![Legacy tests](https://github.com/DIRACGrid/diracx/actions/workflows/integration.yml/badge.svg?branch=main)
3
- ![Diracx deployment](https://github.com/DIRACGrid/diracx/actions/workflows/deployment.yml/badge.svg?branch=main)
4
- ![Diracx: extensions](https://github.com/DIRACGrid/diracx/actions/workflows/extensions.yml/badge.svg?branch=main)
3
+ ![DiracX deployment](https://github.com/DIRACGrid/diracx/actions/workflows/deployment.yml/badge.svg?branch=main)
5
4
 
6
5
  # DiracX
7
6
 
@@ -20,7 +20,7 @@ dependencies = [
20
20
  "gitpython",
21
21
  "pydantic>=2.10",
22
22
  "rich",
23
- "typer>=0.12.4",
23
+ "typer>=0.15.4",
24
24
  "pyyaml",
25
25
  ]
26
26
  dynamic = ["version"]
@@ -12,7 +12,9 @@ from typing import Annotated, Optional
12
12
  import typer
13
13
 
14
14
  from diracx.client.aio import AsyncDiracClient
15
- from diracx.client.models import DeviceFlowErrorResponse
15
+
16
+ # See https://github.com/DIRACGrid/diracx/issues/578
17
+ from diracx.client.models import DeviceFlowErrorResponse # type: ignore [attr-defined]
16
18
  from diracx.core.preferences import get_diracx_preferences
17
19
  from diracx.core.utils import read_credentials, write_credentials
18
20
 
@@ -88,7 +90,9 @@ async def login(
88
90
  )
89
91
  while expires > datetime.now(tz=timezone.utc):
90
92
  print(".", end="", flush=True)
91
- response = await api.auth.get_oidc_token(device_code=data.device_code, client_id=api.client_id) # type: ignore
93
+ response = await api.auth.get_oidc_token(
94
+ device_code=data.device_code, client_id=api.client_id
95
+ ) # type: ignore
92
96
  if isinstance(response, DeviceFlowErrorResponse):
93
97
  if response.error == "authorization_pending":
94
98
  # TODO: Setting more than 5 seconds results in an error
@@ -95,6 +95,7 @@ def _apply_fixes(raw):
95
95
  raw["DIRAC"].pop("Extensions", None)
96
96
  raw["DIRAC"].pop("Framework", None)
97
97
  raw["DIRAC"].pop("Security", None)
98
+ raw["DIRAC"].pop("PreferredURLPatterns", None)
98
99
 
99
100
  # This is VOMS specific and no longer required
100
101
  raw["DIRAC"].pop("ConnConf", None)
@@ -265,7 +266,6 @@ def generate_helm_values(
265
266
  from diracx.core.extensions import select_from_extension
266
267
 
267
268
  for entry_point in select_from_extension(group="diracx.db.sql"):
268
-
269
269
  db_name = entry_point.name
270
270
  db_config = all_db_configs.get(db_name, {})
271
271
 
@@ -284,9 +284,9 @@ def generate_helm_values(
284
284
  if "Password" in db_config:
285
285
  sql_dbs["dbs"][db_name]["password"] = db_config.get("Password")
286
286
  if "Host" in db_config or "Port" in db_config:
287
- sql_dbs["dbs"][db_name][
288
- "host"
289
- ] = f"{db_config.get('Host', default_db_host)}:{db_config.get('Port', default_db_port)}"
287
+ sql_dbs["dbs"][db_name]["host"] = (
288
+ f"{db_config.get('Host', default_db_host)}:{db_config.get('Port', default_db_port)}"
289
+ )
290
290
  if not sql_dbs["dbs"][db_name]:
291
291
  sql_dbs["dbs"][db_name] = None
292
292
 
@@ -1,6 +1,7 @@
1
1
  DIRAC
2
2
  {
3
3
  VirtualOrganization = vo
4
+ PreferredURLPatterns = .*\.main\.invalid/.*
4
5
  Configuration
5
6
  {
6
7
  Name = Production
@@ -15,12 +15,7 @@ from azure.core.rest import HttpRequest, HttpResponse
15
15
  from . import models as _models
16
16
  from ._configuration import DiracConfiguration
17
17
  from ._utils.serialization import Deserializer, Serializer
18
- from .operations import (
19
- AuthOperations,
20
- ConfigOperations,
21
- JobsOperations,
22
- WellKnownOperations,
23
- )
18
+ from .operations import AuthOperations, ConfigOperations, JobsOperations, WellKnownOperations
24
19
 
25
20
 
26
21
  class Dirac: # pylint: disable=client-accepts-api-version-keyword
@@ -57,39 +52,21 @@ class Dirac: # pylint: disable=client-accepts-api-version-keyword
57
52
  self._config.custom_hook_policy,
58
53
  self._config.logging_policy,
59
54
  policies.DistributedTracingPolicy(**kwargs),
60
- (
61
- policies.SensitiveHeaderCleanupPolicy(**kwargs)
62
- if self._config.redirect_policy
63
- else None
64
- ),
55
+ policies.SensitiveHeaderCleanupPolicy(**kwargs) if self._config.redirect_policy else None,
65
56
  self._config.http_logging_policy,
66
57
  ]
67
- self._client: PipelineClient = PipelineClient(
68
- base_url=endpoint, policies=_policies, **kwargs
69
- )
58
+ self._client: PipelineClient = PipelineClient(base_url=endpoint, policies=_policies, **kwargs)
70
59
 
71
- client_models = {
72
- k: v for k, v in _models.__dict__.items() if isinstance(v, type)
73
- }
60
+ client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
74
61
  self._serialize = Serializer(client_models)
75
62
  self._deserialize = Deserializer(client_models)
76
63
  self._serialize.client_side_validation = False
77
- self.well_known = WellKnownOperations(
78
- self._client, self._config, self._serialize, self._deserialize
79
- )
80
- self.auth = AuthOperations(
81
- self._client, self._config, self._serialize, self._deserialize
82
- )
83
- self.config = ConfigOperations(
84
- self._client, self._config, self._serialize, self._deserialize
85
- )
86
- self.jobs = JobsOperations(
87
- self._client, self._config, self._serialize, self._deserialize
88
- )
89
-
90
- def send_request(
91
- self, request: HttpRequest, *, stream: bool = False, **kwargs: Any
92
- ) -> HttpResponse:
64
+ self.well_known = WellKnownOperations(self._client, self._config, self._serialize, self._deserialize)
65
+ self.auth = AuthOperations(self._client, self._config, self._serialize, self._deserialize)
66
+ self.config = ConfigOperations(self._client, self._config, self._serialize, self._deserialize)
67
+ self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize)
68
+
69
+ def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
93
70
  """Runs the network request through the client's chained policies.
94
71
 
95
72
  >>> from azure.core.rest import HttpRequest
@@ -25,24 +25,12 @@ class DiracConfiguration: # pylint: disable=too-many-instance-attributes
25
25
  self._configure(**kwargs)
26
26
 
27
27
  def _configure(self, **kwargs: Any) -> None:
28
- self.user_agent_policy = kwargs.get(
29
- "user_agent_policy"
30
- ) or policies.UserAgentPolicy(**kwargs)
31
- self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(
32
- **kwargs
33
- )
28
+ self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
29
+ self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
34
30
  self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
35
- self.logging_policy = kwargs.get(
36
- "logging_policy"
37
- ) or policies.NetworkTraceLoggingPolicy(**kwargs)
38
- self.http_logging_policy = kwargs.get(
39
- "http_logging_policy"
40
- ) or policies.HttpLoggingPolicy(**kwargs)
41
- self.custom_hook_policy = kwargs.get(
42
- "custom_hook_policy"
43
- ) or policies.CustomHookPolicy(**kwargs)
44
- self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(
45
- **kwargs
46
- )
31
+ self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
32
+ self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs)
33
+ self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
34
+ self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
47
35
  self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
48
36
  self.authentication_policy = kwargs.get("authentication_policy")