taskcluster-taskgraph 9.0.0__tar.gz → 9.2.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 (143) hide show
  1. {taskcluster-taskgraph-9.0.0/src/taskcluster_taskgraph.egg-info → taskcluster-taskgraph-9.2.0}/PKG-INFO +1 -1
  2. taskcluster-taskgraph-9.2.0/pyproject.toml +36 -0
  3. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/requirements/base.txt +104 -103
  4. taskcluster-taskgraph-9.2.0/requirements/dev.txt +36 -0
  5. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/requirements/test.in +1 -1
  6. taskcluster-taskgraph-9.2.0/requirements/test.txt +156 -0
  7. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0/src/taskcluster_taskgraph.egg-info}/PKG-INFO +1 -1
  8. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/__init__.py +1 -1
  9. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/cancel.py +1 -1
  10. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/cancel_all.py +1 -1
  11. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/rebuild_cached_tasks.py +1 -1
  12. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/util.py +3 -3
  13. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/decision.py +22 -2
  14. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/docker.py +7 -7
  15. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/generator.py +11 -11
  16. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/graph.py +1 -1
  17. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/main.py +6 -6
  18. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/morph.py +3 -3
  19. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/optimize/base.py +4 -4
  20. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/optimize/strategies.py +7 -1
  21. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/parameters.py +2 -2
  22. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/run-task/fetch-content +66 -32
  23. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/run-task/robustcheckout.py +12 -12
  24. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/taskgraph.py +2 -2
  25. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/fetch.py +2 -2
  26. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/run/__init__.py +1 -0
  27. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/run/run_task.py +1 -1
  28. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/task.py +11 -2
  29. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/cached_tasks.py +1 -1
  30. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/python_path.py +3 -3
  31. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/readonlydict.py +20 -1
  32. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/schema.py +2 -2
  33. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/taskcluster.py +20 -7
  34. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/vcs.py +13 -13
  35. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/workertypes.py +2 -2
  36. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/yaml.py +1 -1
  37. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_optimize_strategies.py +40 -5
  38. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_scripts_fetch_content.py +6 -0
  39. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_run_run_task.py +2 -1
  40. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_task.py +67 -0
  41. taskcluster-taskgraph-9.2.0/test/test_util_readonlydict.py +70 -0
  42. taskcluster-taskgraph-9.0.0/pyproject.toml +0 -65
  43. taskcluster-taskgraph-9.0.0/requirements/dev.txt +0 -22
  44. taskcluster-taskgraph-9.0.0/requirements/test.txt +0 -158
  45. taskcluster-taskgraph-9.0.0/test/test_util_readonlydict.py +0 -46
  46. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/LICENSE +0 -0
  47. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/MANIFEST.in +0 -0
  48. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/README.rst +0 -0
  49. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/requirements/base.in +0 -0
  50. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/requirements/dev.in +0 -0
  51. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/setup.cfg +0 -0
  52. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/setup.py +0 -0
  53. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskcluster_taskgraph.egg-info/SOURCES.txt +0 -0
  54. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskcluster_taskgraph.egg-info/dependency_links.txt +0 -0
  55. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskcluster_taskgraph.egg-info/entry_points.txt +0 -0
  56. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskcluster_taskgraph.egg-info/requires.txt +0 -0
  57. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskcluster_taskgraph.egg-info/top_level.txt +0 -0
  58. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/__init__.py +0 -0
  59. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/add_new_jobs.py +0 -0
  60. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/registry.py +0 -0
  61. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/actions/retrigger.py +0 -0
  62. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/config.py +0 -0
  63. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/create.py +0 -0
  64. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/filter_tasks.py +0 -0
  65. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/loader/__init__.py +0 -0
  66. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/loader/default.py +0 -0
  67. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/loader/transform.py +0 -0
  68. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/optimize/__init__.py +0 -0
  69. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/run-task/hgrc +0 -0
  70. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/run-task/run-task +0 -0
  71. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/target_tasks.py +0 -0
  72. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/task.py +0 -0
  73. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/__init__.py +0 -0
  74. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/base.py +0 -0
  75. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/cached_tasks.py +0 -0
  76. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/chunking.py +0 -0
  77. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/code_review.py +0 -0
  78. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/docker_image.py +0 -0
  79. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/from_deps.py +0 -0
  80. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/notify.py +0 -0
  81. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/run/common.py +0 -0
  82. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/run/index_search.py +0 -0
  83. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/run/toolchain.py +0 -0
  84. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/transforms/task_context.py +0 -0
  85. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/__init__.py +0 -0
  86. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/archive.py +0 -0
  87. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/attributes.py +0 -0
  88. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/copy.py +0 -0
  89. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/dependencies.py +0 -0
  90. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/docker.py +0 -0
  91. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/hash.py +0 -0
  92. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/keyed_by.py +0 -0
  93. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/parameterization.py +0 -0
  94. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/path.py +0 -0
  95. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/set_name.py +0 -0
  96. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/shell.py +0 -0
  97. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/taskgraph.py +0 -0
  98. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/templates.py +0 -0
  99. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/time.py +0 -0
  100. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/treeherder.py +0 -0
  101. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/src/taskgraph/util/verify.py +0 -0
  102. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_actions_rebuild_cached_tasks.py +0 -0
  103. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_actions_registry.py +0 -0
  104. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_create.py +0 -0
  105. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_decision.py +0 -0
  106. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_docker.py +0 -0
  107. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_generator.py +0 -0
  108. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_graph.py +0 -0
  109. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_main.py +0 -0
  110. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_morph.py +0 -0
  111. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_optimize.py +0 -0
  112. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_parameters.py +0 -0
  113. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_scripts_run_task.py +0 -0
  114. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_target_tasks.py +0 -0
  115. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_taskgraph.py +0 -0
  116. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transform_chunking.py +0 -0
  117. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transform_docker_image.py +0 -0
  118. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transform_task_context.py +0 -0
  119. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_base.py +0 -0
  120. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_cached_tasks.py +0 -0
  121. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_fetch.py +0 -0
  122. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_from_deps.py +0 -0
  123. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_notify.py +0 -0
  124. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_run.py +0 -0
  125. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_transforms_run_toolchain.py +0 -0
  126. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_archive.py +0 -0
  127. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_attributes.py +0 -0
  128. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_cached_tasks.py +0 -0
  129. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_copy.py +0 -0
  130. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_dependencies.py +0 -0
  131. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_docker.py +0 -0
  132. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_parameterization.py +0 -0
  133. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_path.py +0 -0
  134. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_python_path.py +0 -0
  135. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_schema.py +0 -0
  136. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_taskcluster.py +0 -0
  137. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_templates.py +0 -0
  138. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_time.py +0 -0
  139. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_treeherder.py +0 -0
  140. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_vcs.py +0 -0
  141. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_verify.py +0 -0
  142. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_workertypes.py +0 -0
  143. {taskcluster-taskgraph-9.0.0 → taskcluster-taskgraph-9.2.0}/test/test_util_yaml.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taskcluster-taskgraph
3
- Version: 9.0.0
3
+ Version: 9.2.0
4
4
  Summary: Build taskcluster taskgraphs
5
5
  Home-page: https://github.com/taskcluster/taskgraph
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -0,0 +1,36 @@
1
+ [tool.black]
2
+ line-length = 88
3
+ extend-exclude = """(\
4
+ taskcluster/scripts/external_tools)\
5
+ """
6
+
7
+ [tool.pytest.ini_options]
8
+ xfail_strict = true
9
+
10
+ [tool.coverage.run]
11
+ branch = true
12
+ source = ["src/taskgraph/", "src/taskgraph/run-task/", "test"]
13
+
14
+ [tool.ruff]
15
+ target-version = "py38"
16
+
17
+ [tool.ruff.lint]
18
+ select = [
19
+ "E", "W", # pycodestyle
20
+ "F", # pyflakes
21
+ "I", # isort
22
+ "PLC", "PLE", # pylint
23
+ "UP", # pyupgrade
24
+ ]
25
+ ignore = [
26
+ "E402",
27
+ "E501", # let black handle line-length
28
+ "E741",
29
+ ]
30
+
31
+ [tool.ruff.lint.isort]
32
+ known-first-party = ["taskgraph"]
33
+
34
+ [tool.pyright]
35
+ include = ["src"]
36
+ reportIncompatibleMethodOverride = false
@@ -17,9 +17,9 @@ binaryornot==0.4.4 \
17
17
  --hash=sha256:359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061 \
18
18
  --hash=sha256:b8b71173c917bddcd2c16070412e369c3ed7f0528926f70cac18a6c97fd563e4
19
19
  # via cookiecutter
20
- certifi==2023.11.17 \
21
- --hash=sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1 \
22
- --hash=sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474
20
+ certifi==2024.6.2 \
21
+ --hash=sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516 \
22
+ --hash=sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56
23
23
  # via requests
24
24
  chardet==5.2.0 \
25
25
  --hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \
@@ -121,91 +121,91 @@ click==8.1.7 \
121
121
  --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
122
122
  --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
123
123
  # via cookiecutter
124
- cookiecutter==2.5.0 \
125
- --hash=sha256:8aa2f12ed11bc05628651e9dc4353a10571dd9908aaaaeec959a2b9ea465a5d2 \
126
- --hash=sha256:e61e9034748e3f41b8bd2c11f00d030784b48711c4d5c42363c50989a65331ec
124
+ cookiecutter==2.6.0 \
125
+ --hash=sha256:a54a8e37995e4ed963b3e82831072d1ad4b005af736bb17b99c2cbd9d41b6e2d \
126
+ --hash=sha256:db21f8169ea4f4fdc2408d48ca44859349de2647fbe494a9d6c3edfc0542c21c
127
127
  # via -r requirements/base.in
128
128
  giturlparse==0.12.0 \
129
129
  --hash=sha256:412b74f2855f1da2fefa89fd8dde62df48476077a72fc19b62039554d27360eb \
130
130
  --hash=sha256:c0fff7c21acc435491b1779566e038757a205c1ffdcb47e4f81ea52ad8c3859a
131
131
  # via mozilla-repo-urls
132
- idna==3.6 \
133
- --hash=sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca \
134
- --hash=sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f
132
+ idna==3.7 \
133
+ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \
134
+ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0
135
135
  # via requests
136
- jinja2==3.1.2 \
137
- --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \
138
- --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61
136
+ jinja2==3.1.4 \
137
+ --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \
138
+ --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d
139
139
  # via cookiecutter
140
- json-e==4.6.0 \
141
- --hash=sha256:2ec3796a6fb40097642a0cc17ba1a0c08b637a76d32f27633fa4cd9def1e77f8 \
142
- --hash=sha256:c5fd5c7d98b9394fbc9041c380134f4ed8b055c487f2607ee4f306383ab4d8b8
140
+ json-e==4.7.0 \
141
+ --hash=sha256:c12b00552111ab2c43e1a87111a7113a73aee903709df96d7a778f45dc0a7ea8 \
142
+ --hash=sha256:e5df7be84bf80d4e9bb8217580b50602f59fa7df6af0ba5c5473a7388afb85ae
143
143
  # via -r requirements/base.in
144
144
  markdown-it-py==3.0.0 \
145
145
  --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
146
146
  --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
147
147
  # via rich
148
- markupsafe==2.1.3 \
149
- --hash=sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e \
150
- --hash=sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e \
151
- --hash=sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431 \
152
- --hash=sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686 \
153
- --hash=sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c \
154
- --hash=sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559 \
155
- --hash=sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc \
156
- --hash=sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb \
157
- --hash=sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939 \
158
- --hash=sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c \
159
- --hash=sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0 \
160
- --hash=sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4 \
161
- --hash=sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9 \
162
- --hash=sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575 \
163
- --hash=sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba \
164
- --hash=sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d \
165
- --hash=sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd \
166
- --hash=sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3 \
167
- --hash=sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00 \
168
- --hash=sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155 \
169
- --hash=sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac \
170
- --hash=sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52 \
171
- --hash=sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f \
172
- --hash=sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8 \
173
- --hash=sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b \
174
- --hash=sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007 \
175
- --hash=sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24 \
176
- --hash=sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea \
177
- --hash=sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198 \
178
- --hash=sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0 \
179
- --hash=sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee \
180
- --hash=sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be \
181
- --hash=sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2 \
182
- --hash=sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1 \
183
- --hash=sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707 \
184
- --hash=sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6 \
185
- --hash=sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c \
186
- --hash=sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58 \
187
- --hash=sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823 \
188
- --hash=sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779 \
189
- --hash=sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636 \
190
- --hash=sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c \
191
- --hash=sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad \
192
- --hash=sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee \
193
- --hash=sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc \
194
- --hash=sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2 \
195
- --hash=sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48 \
196
- --hash=sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7 \
197
- --hash=sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e \
198
- --hash=sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b \
199
- --hash=sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa \
200
- --hash=sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5 \
201
- --hash=sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e \
202
- --hash=sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb \
203
- --hash=sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9 \
204
- --hash=sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57 \
205
- --hash=sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc \
206
- --hash=sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc \
207
- --hash=sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2 \
208
- --hash=sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11
148
+ markupsafe==2.1.5 \
149
+ --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \
150
+ --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \
151
+ --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \
152
+ --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \
153
+ --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \
154
+ --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \
155
+ --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \
156
+ --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \
157
+ --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \
158
+ --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \
159
+ --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \
160
+ --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \
161
+ --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \
162
+ --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \
163
+ --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \
164
+ --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \
165
+ --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \
166
+ --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \
167
+ --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \
168
+ --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \
169
+ --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \
170
+ --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \
171
+ --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \
172
+ --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \
173
+ --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \
174
+ --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \
175
+ --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \
176
+ --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \
177
+ --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \
178
+ --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \
179
+ --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \
180
+ --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \
181
+ --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \
182
+ --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \
183
+ --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \
184
+ --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \
185
+ --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \
186
+ --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \
187
+ --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \
188
+ --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \
189
+ --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \
190
+ --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \
191
+ --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \
192
+ --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \
193
+ --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \
194
+ --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \
195
+ --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \
196
+ --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \
197
+ --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \
198
+ --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \
199
+ --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \
200
+ --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \
201
+ --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \
202
+ --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \
203
+ --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \
204
+ --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \
205
+ --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \
206
+ --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \
207
+ --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \
208
+ --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68
209
209
  # via jinja2
210
210
  mdurl==0.1.2 \
211
211
  --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
@@ -215,17 +215,17 @@ mozilla-repo-urls==0.1.1 \
215
215
  --hash=sha256:30510d3519479aa70211145d0ac9cf6e2fadcb8d30fa3b196bb957bd773502ba \
216
216
  --hash=sha256:7364da790751db2a060eb45adbf1d7db89a145ed279ba235f3425db9dd255915
217
217
  # via -r requirements/base.in
218
- pygments==2.17.2 \
219
- --hash=sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c \
220
- --hash=sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367
218
+ pygments==2.18.0 \
219
+ --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \
220
+ --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a
221
221
  # via rich
222
- python-dateutil==2.8.2 \
223
- --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \
224
- --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9
222
+ python-dateutil==2.9.0.post0 \
223
+ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
224
+ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
225
225
  # via arrow
226
- python-slugify==8.0.1 \
227
- --hash=sha256:70ca6ea68fe63ecc8fa4fcf00ae651fc8a5d02d93dcd12ae6d4fc7ca46c4d395 \
228
- --hash=sha256:ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27
226
+ python-slugify==8.0.4 \
227
+ --hash=sha256:276540b79961052b66b7d116620b36518847f52d5fd9e3a70164fc8c50faa6b8 \
228
+ --hash=sha256:59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856
229
229
  # via cookiecutter
230
230
  pyyaml==6.0.1 \
231
231
  --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \
@@ -257,6 +257,7 @@ pyyaml==6.0.1 \
257
257
  --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
258
258
  --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
259
259
  --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
260
+ --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
260
261
  --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
261
262
  --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
262
263
  --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
@@ -285,15 +286,15 @@ redo==2.0.4 \
285
286
  --hash=sha256:81066955041c853b0e6491eb65a0877dce45131c4cfa3d42d923fc2aa8f7a043 \
286
287
  --hash=sha256:c76e4c23ab2f8840261736a851323cd98493710e7a9d36a1058535dca501f293
287
288
  # via -r requirements/base.in
288
- requests==2.31.0 \
289
- --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
290
- --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
289
+ requests==2.32.3 \
290
+ --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \
291
+ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
291
292
  # via
292
293
  # -r requirements/base.in
293
294
  # cookiecutter
294
- rich==13.7.0 \
295
- --hash=sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa \
296
- --hash=sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235
295
+ rich==13.7.1 \
296
+ --hash=sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222 \
297
+ --hash=sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432
297
298
  # via cookiecutter
298
299
  six==1.16.0 \
299
300
  --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
@@ -312,19 +313,19 @@ text-unidecode==1.3 \
312
313
  --hash=sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8 \
313
314
  --hash=sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
314
315
  # via python-slugify
315
- types-python-dateutil==2.8.19.14 \
316
- --hash=sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b \
317
- --hash=sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9
316
+ types-python-dateutil==2.9.0.20240316 \
317
+ --hash=sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202 \
318
+ --hash=sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b
318
319
  # via arrow
319
- typing-extensions==4.9.0 \
320
- --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \
321
- --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd
320
+ typing-extensions==4.12.2 \
321
+ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
322
+ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
322
323
  # via rich
323
- urllib3==2.1.0 \
324
- --hash=sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3 \
325
- --hash=sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54
324
+ urllib3==2.2.1 \
325
+ --hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
326
+ --hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
326
327
  # via requests
327
- voluptuous==0.14.1 \
328
- --hash=sha256:7b6e5f7553ce02461cce17fedb0e3603195496eb260ece9aca86cc4cc6625218 \
329
- --hash=sha256:ab202b5164b4bbd2c9bf2d4f264efef6f0f30fc0f570be27f1332be4514eefe0
328
+ voluptuous==0.14.2 \
329
+ --hash=sha256:533e36175967a310f1b73170d091232bf881403e4ebe52a9b4ade8404d151f5d \
330
+ --hash=sha256:efc1dadc9ae32a30cc622602c1400a17b7bf8ee2770d64f70418144860739c3b
330
331
  # via -r requirements/base.in
@@ -0,0 +1,36 @@
1
+ # SHA1:afc4a9b5d899d90f52cc352461776ac6c7363a37
2
+ #
3
+ # This file is autogenerated by pip-compile-multi
4
+ # To update, run:
5
+ #
6
+ # pip-compile-multi
7
+ #
8
+ -r test.txt
9
+ cfgv==3.4.0 \
10
+ --hash=sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9 \
11
+ --hash=sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560
12
+ # via pre-commit
13
+ distlib==0.3.8 \
14
+ --hash=sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784 \
15
+ --hash=sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64
16
+ # via virtualenv
17
+ filelock==3.14.0 \
18
+ --hash=sha256:43339835842f110ca7ae60f1e1c160714c5a6afd15a2873419ab185334975c0f \
19
+ --hash=sha256:6ea72da3be9b8c82afd3edcf99f2fffbb5076335a5ae4d03248bb5b6c3eae78a
20
+ # via virtualenv
21
+ identify==2.5.36 \
22
+ --hash=sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa \
23
+ --hash=sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d
24
+ # via pre-commit
25
+ platformdirs==4.2.2 \
26
+ --hash=sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee \
27
+ --hash=sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3
28
+ # via virtualenv
29
+ pre-commit==3.5.0 \
30
+ --hash=sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32 \
31
+ --hash=sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660
32
+ # via -r requirements/dev.in
33
+ virtualenv==20.26.2 \
34
+ --hash=sha256:82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c \
35
+ --hash=sha256:a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b
36
+ # via pre-commit
@@ -5,4 +5,4 @@ pyright
5
5
  pytest
6
6
  pytest-mock
7
7
  responses
8
- tox
8
+ zstandard
@@ -0,0 +1,156 @@
1
+ # SHA1:b7ef6de31770eabde8905b7448eb9bda82e7b669
2
+ #
3
+ # This file is autogenerated by pip-compile-multi
4
+ # To update, run:
5
+ #
6
+ # pip-compile-multi
7
+ #
8
+ -r base.txt
9
+ coverage==7.5.3 \
10
+ --hash=sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523 \
11
+ --hash=sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f \
12
+ --hash=sha256:05ac5f60faa0c704c0f7e6a5cbfd6f02101ed05e0aee4d2822637a9e672c998d \
13
+ --hash=sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb \
14
+ --hash=sha256:1d2a830ade66d3563bb61d1e3c77c8def97b30ed91e166c67d0632c018f380f0 \
15
+ --hash=sha256:239a4e75e09c2b12ea478d28815acf83334d32e722e7433471fbf641c606344c \
16
+ --hash=sha256:244f509f126dc71369393ce5fea17c0592c40ee44e607b6d855e9c4ac57aac98 \
17
+ --hash=sha256:25a5caf742c6195e08002d3b6c2dd6947e50efc5fc2c2205f61ecb47592d2d83 \
18
+ --hash=sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8 \
19
+ --hash=sha256:2e079c9ec772fedbade9d7ebc36202a1d9ef7291bc9b3a024ca395c4d52853d7 \
20
+ --hash=sha256:33ca90a0eb29225f195e30684ba4a6db05dbef03c2ccd50b9077714c48153cac \
21
+ --hash=sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84 \
22
+ --hash=sha256:341dd8f61c26337c37988345ca5c8ccabeff33093a26953a1ac72e7d0103c4fb \
23
+ --hash=sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3 \
24
+ --hash=sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884 \
25
+ --hash=sha256:38a3b98dae8a7c9057bd91fbf3415c05e700a5114c5f1b5b0ea5f8f429ba6614 \
26
+ --hash=sha256:3d5a67f0da401e105753d474369ab034c7bae51a4c31c77d94030d59e41df5bd \
27
+ --hash=sha256:50084d3516aa263791198913a17354bd1dc627d3c1639209640b9cac3fef5807 \
28
+ --hash=sha256:55f689f846661e3f26efa535071775d0483388a1ccfab899df72924805e9e7cd \
29
+ --hash=sha256:5bc5a8c87714b0c67cfeb4c7caa82b2d71e8864d1a46aa990b5588fa953673b8 \
30
+ --hash=sha256:62bda40da1e68898186f274f832ef3e759ce929da9a9fd9fcf265956de269dbc \
31
+ --hash=sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db \
32
+ --hash=sha256:75e3f4e86804023e991096b29e147e635f5e2568f77883a1e6eed74512659ab0 \
33
+ --hash=sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08 \
34
+ --hash=sha256:7cec2af81f9e7569280822be68bd57e51b86d42e59ea30d10ebdbb22d2cb7232 \
35
+ --hash=sha256:8383a6c8cefba1b7cecc0149415046b6fc38836295bc4c84e820872eb5478b3d \
36
+ --hash=sha256:8c836309931839cca658a78a888dab9676b5c988d0dd34ca247f5f3e679f4e7a \
37
+ --hash=sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1 \
38
+ --hash=sha256:923b7b1c717bd0f0f92d862d1ff51d9b2b55dbbd133e05680204465f454bb286 \
39
+ --hash=sha256:990fb20b32990b2ce2c5f974c3e738c9358b2735bc05075d50a6f36721b8f303 \
40
+ --hash=sha256:9aad68c3f2566dfae84bf46295a79e79d904e1c21ccfc66de88cd446f8686341 \
41
+ --hash=sha256:a5812840d1d00eafae6585aba38021f90a705a25b8216ec7f66aebe5b619fb84 \
42
+ --hash=sha256:a6519d917abb15e12380406d721e37613e2a67d166f9fb7e5a8ce0375744cd45 \
43
+ --hash=sha256:ab0b028165eea880af12f66086694768f2c3139b2c31ad5e032c8edbafca6ffc \
44
+ --hash=sha256:aea7da970f1feccf48be7335f8b2ca64baf9b589d79e05b9397a06696ce1a1ec \
45
+ --hash=sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd \
46
+ --hash=sha256:b368e1aee1b9b75757942d44d7598dcd22a9dbb126affcbba82d15917f0cc155 \
47
+ --hash=sha256:bde997cac85fcac227b27d4fb2c7608a2c5f6558469b0eb704c5726ae49e1c52 \
48
+ --hash=sha256:c4c2872b3c91f9baa836147ca33650dc5c172e9273c808c3c3199c75490e709d \
49
+ --hash=sha256:c59d2ad092dc0551d9f79d9d44d005c945ba95832a6798f98f9216ede3d5f485 \
50
+ --hash=sha256:d1da0a2e3b37b745a2b2a678a4c796462cf753aebf94edcc87dcc6b8641eae31 \
51
+ --hash=sha256:d8b7339180d00de83e930358223c617cc343dd08e1aa5ec7b06c3a121aec4e1d \
52
+ --hash=sha256:dd4b3355b01273a56b20c219e74e7549e14370b31a4ffe42706a8cda91f19f6d \
53
+ --hash=sha256:e08c470c2eb01977d221fd87495b44867a56d4d594f43739a8028f8646a51e0d \
54
+ --hash=sha256:f5102a92855d518b0996eb197772f5ac2a527c0ec617124ad5242a3af5e25f85 \
55
+ --hash=sha256:f542287b1489c7a860d43a7d8883e27ca62ab84ca53c965d11dac1d3a1fab7ce \
56
+ --hash=sha256:f78300789a708ac1f17e134593f577407d52d0417305435b134805c4fb135adb \
57
+ --hash=sha256:f81bc26d609bf0fbc622c7122ba6307993c83c795d2d6f6f6fd8c000a770d974 \
58
+ --hash=sha256:f836c174c3a7f639bded48ec913f348c4761cbf49de4a20a956d3431a7c9cb24 \
59
+ --hash=sha256:fa21a04112c59ad54f69d80e376f7f9d0f5f9123ab87ecd18fbb9ec3a2beed56 \
60
+ --hash=sha256:fcf7d1d6f5da887ca04302db8e0e0cf56ce9a5e05f202720e49b3e8157ddb9a9 \
61
+ --hash=sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35
62
+ # via -r requirements/test.in
63
+ exceptiongroup==1.2.1 \
64
+ --hash=sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad \
65
+ --hash=sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16
66
+ # via pytest
67
+ iniconfig==2.0.0 \
68
+ --hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
69
+ --hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
70
+ # via pytest
71
+ mock==5.1.0 \
72
+ --hash=sha256:18c694e5ae8a208cdb3d2c20a993ca1a7b0efa258c247a1e565150f477f83744 \
73
+ --hash=sha256:5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d
74
+ # via -r requirements/test.in
75
+ nodeenv==1.9.1 \
76
+ --hash=sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f \
77
+ --hash=sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9
78
+ # via pyright
79
+ packaging==24.1 \
80
+ --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
81
+ --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
82
+ # via pytest
83
+ pluggy==1.5.0 \
84
+ --hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
85
+ --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
86
+ # via pytest
87
+ pyright==1.1.367 \
88
+ --hash=sha256:89de6502ae02f1552d0c4df4b46867887a419849f379db617695ef9308cf01eb \
89
+ --hash=sha256:b1e5522ceb246ee6bc293a43d6d0162719d6467c1f1e9b81cee741aa11cdacbd
90
+ # via -r requirements/test.in
91
+ pytest==8.2.2 \
92
+ --hash=sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343 \
93
+ --hash=sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977
94
+ # via
95
+ # -r requirements/test.in
96
+ # pytest-mock
97
+ pytest-mock==3.14.0 \
98
+ --hash=sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f \
99
+ --hash=sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0
100
+ # via -r requirements/test.in
101
+ responses==0.25.2 \
102
+ --hash=sha256:77a61ad7e6016ed2ac00739b7efa5f35c42351d5b9b5d26bb1be87f197632487 \
103
+ --hash=sha256:b59707ea25de536d324670791ab073fafd41f3a351cec9c51cb6147089a9a30a
104
+ # via -r requirements/test.in
105
+ tomli==2.0.1 \
106
+ --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
107
+ --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
108
+ # via pytest
109
+ zstandard==0.22.0 \
110
+ --hash=sha256:11f0d1aab9516a497137b41e3d3ed4bbf7b2ee2abc79e5c8b010ad286d7464bd \
111
+ --hash=sha256:1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2 \
112
+ --hash=sha256:1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356 \
113
+ --hash=sha256:1d43501f5f31e22baf822720d82b5547f8a08f5386a883b32584a185675c8fbf \
114
+ --hash=sha256:23d2b3c2b8e7e5a6cb7922f7c27d73a9a615f0a5ab5d0e03dd533c477de23004 \
115
+ --hash=sha256:2612e9bb4977381184bb2463150336d0f7e014d6bb5d4a370f9a372d21916f69 \
116
+ --hash=sha256:275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019 \
117
+ --hash=sha256:2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a \
118
+ --hash=sha256:2b11ea433db22e720758cba584c9d661077121fcf60ab43351950ded20283440 \
119
+ --hash=sha256:2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b \
120
+ --hash=sha256:33591d59f4956c9812f8063eff2e2c0065bc02050837f152574069f5f9f17775 \
121
+ --hash=sha256:36a47636c3de227cd765e25a21dc5dace00539b82ddd99ee36abae38178eff9e \
122
+ --hash=sha256:39b2853efc9403927f9065cc48c9980649462acbdf81cd4f0cb773af2fd734bc \
123
+ --hash=sha256:3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d \
124
+ --hash=sha256:445b47bc32de69d990ad0f34da0e20f535914623d1e506e74d6bc5c9dc40bb09 \
125
+ --hash=sha256:466e6ad8caefb589ed281c076deb6f0cd330e8bc13c5035854ffb9c2014b118c \
126
+ --hash=sha256:48f260e4c7294ef275744210a4010f116048e0c95857befb7462e033f09442fe \
127
+ --hash=sha256:4ac59d5d6910b220141c1737b79d4a5aa9e57466e7469a012ed42ce2d3995e88 \
128
+ --hash=sha256:53866a9d8ab363271c9e80c7c2e9441814961d47f88c9bc3b248142c32141d94 \
129
+ --hash=sha256:589402548251056878d2e7c8859286eb91bd841af117dbe4ab000e6450987e08 \
130
+ --hash=sha256:68953dc84b244b053c0d5f137a21ae8287ecf51b20872eccf8eaac0302d3e3b0 \
131
+ --hash=sha256:6c25b8eb733d4e741246151d895dd0308137532737f337411160ff69ca24f93a \
132
+ --hash=sha256:7034d381789f45576ec3f1fa0e15d741828146439228dc3f7c59856c5bcd3292 \
133
+ --hash=sha256:73a1d6bd01961e9fd447162e137ed949c01bdb830dfca487c4a14e9742dccc93 \
134
+ --hash=sha256:8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70 \
135
+ --hash=sha256:888196c9c8893a1e8ff5e89b8f894e7f4f0e64a5af4d8f3c410f0319128bb2f8 \
136
+ --hash=sha256:88c5b4b47a8a138338a07fc94e2ba3b1535f69247670abfe422de4e0b344aae2 \
137
+ --hash=sha256:8a1b2effa96a5f019e72874969394edd393e2fbd6414a8208fea363a22803b45 \
138
+ --hash=sha256:93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202 \
139
+ --hash=sha256:9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3 \
140
+ --hash=sha256:959665072bd60f45c5b6b5d711f15bdefc9849dd5da9fb6c873e35f5d34d8cfb \
141
+ --hash=sha256:a1d67d0d53d2a138f9e29d8acdabe11310c185e36f0a848efa104d4e40b808e4 \
142
+ --hash=sha256:a493d470183ee620a3df1e6e55b3e4de8143c0ba1b16f3ded83208ea8ddfd91d \
143
+ --hash=sha256:a7ccf5825fd71d4542c8ab28d4d482aace885f5ebe4b40faaa290eed8e095a4c \
144
+ --hash=sha256:a88b7df61a292603e7cd662d92565d915796b094ffb3d206579aaebac6b85d5f \
145
+ --hash=sha256:a97079b955b00b732c6f280d5023e0eefe359045e8b83b08cf0333af9ec78f26 \
146
+ --hash=sha256:d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303 \
147
+ --hash=sha256:d75f693bb4e92c335e0645e8845e553cd09dc91616412d1d4650da835b5449df \
148
+ --hash=sha256:d8593f8464fb64d58e8cb0b905b272d40184eac9a18d83cf8c10749c3eafcd7e \
149
+ --hash=sha256:d8fff0f0c1d8bc5d866762ae95bd99d53282337af1be9dc0d88506b340e74b73 \
150
+ --hash=sha256:de20a212ef3d00d609d0b22eb7cc798d5a69035e81839f549b538eff4105d01c \
151
+ --hash=sha256:e9e9d4e2e336c529d4c435baad846a181e39a982f823f7e4495ec0b0ec8538d2 \
152
+ --hash=sha256:f058a77ef0ece4e210bb0450e68408d4223f728b109764676e1a13537d056bb0 \
153
+ --hash=sha256:f1a4b358947a65b94e2501ce3e078bbc929b039ede4679ddb0460829b12f7375 \
154
+ --hash=sha256:f9b2cde1cd1b2a10246dbc143ba49d942d14fb3d2b4bccf4618d475c65464912 \
155
+ --hash=sha256:fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e
156
+ # via -r requirements/test.in
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taskcluster-taskgraph
3
- Version: 9.0.0
3
+ Version: 9.2.0
4
4
  Summary: Build taskcluster taskgraphs
5
5
  Home-page: https://github.com/taskcluster/taskgraph
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -2,7 +2,7 @@
2
2
  # License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
4
 
5
- __version__ = "9.0.0"
5
+ __version__ = "9.2.0"
6
6
 
7
7
  # Maximum number of dependencies a single task can have
8
8
  # https://docs.taskcluster.net/reference/platform/taskcluster-queue/references/api#createTask
@@ -29,7 +29,7 @@ def cancel_action(parameters, graph_config, input, task_group_id, task_id):
29
29
  try:
30
30
  cancel_task(task_id, use_proxy=True)
31
31
  except requests.HTTPError as e:
32
- if e.response.status_code == 409:
32
+ if e.response.status_code == 409: # type: ignore
33
33
  # A 409 response indicates that this task is past its deadline. It
34
34
  # cannot be cancelled at this time, but it's also not running
35
35
  # anymore, so we can ignore this error.
@@ -38,7 +38,7 @@ def cancel_all_action(parameters, graph_config, input, task_group_id, task_id):
38
38
  try:
39
39
  cancel_task(task_id, use_proxy=True)
40
40
  except requests.HTTPError as e:
41
- if e.response.status_code == 409:
41
+ if e.response.status_code == 409: # type: ignore
42
42
  # A 409 response indicates that this task is past its deadline. It
43
43
  # cannot be cancelled at this time, but it's also not running
44
44
  # anymore, so we can ignore this error.
@@ -22,7 +22,7 @@ def rebuild_cached_tasks_action(
22
22
  )
23
23
  cached_tasks = [
24
24
  label
25
- for label, task in full_task_graph.tasks.items()
25
+ for label, task in full_task_graph.tasks.items() # type: ignore
26
26
  if task.attributes.get("cached_task", False)
27
27
  ]
28
28
  if cached_tasks:
@@ -60,7 +60,7 @@ def fetch_graph_and_labels(parameters, graph_config, task_group_id=None):
60
60
  run_label_to_id = get_artifact(task_id, "public/label-to-taskid.json")
61
61
  label_to_taskid.update(run_label_to_id)
62
62
  except HTTPError as e:
63
- if e.response.status_code != 404:
63
+ if e.response.status_code != 404: # type: ignore
64
64
  raise
65
65
  logger.debug(f"No label-to-taskid.json found for {task_id}: {e}")
66
66
 
@@ -79,7 +79,7 @@ def fetch_graph_and_labels(parameters, graph_config, task_group_id=None):
79
79
  run_label_to_id = get_artifact(task_id, "public/label-to-taskid.json")
80
80
  label_to_taskid.update(run_label_to_id)
81
81
  except HTTPError as e:
82
- if e.response.status_code != 404:
82
+ if e.response.status_code != 404: # type: ignore
83
83
  raise
84
84
  logger.debug(f"No label-to-taskid.json found for {task_id}: {e}")
85
85
 
@@ -160,7 +160,7 @@ def create_tasks(
160
160
 
161
161
  target_graph = full_task_graph.graph.transitive_closure(to_run)
162
162
  target_task_graph = TaskGraph(
163
- {l: modifier(full_task_graph[l]) for l in target_graph.nodes}, target_graph
163
+ {l: modifier(full_task_graph[l]) for l in target_graph.nodes}, target_graph # type: ignore
164
164
  )
165
165
  target_task_graph.for_each_task(update_parent)
166
166
  if decision_task_id and decision_task_id != os.environ.get("TASK_ID"):
@@ -74,8 +74,28 @@ def taskgraph_decision(options, parameters=None):
74
74
  * generating a set of artifacts to memorialize the graph
75
75
  * calling TaskCluster APIs to create the graph
76
76
  """
77
+ level = logging.INFO
77
78
  if options.get("verbose"):
78
- logging.root.setLevel(logging.DEBUG)
79
+ level = logging.DEBUG
80
+
81
+ logging.root.setLevel(level)
82
+ # Handlers must have an explicit level set for them to properly filter
83
+ # messages from child loggers (such as the optimization log a few lines
84
+ # down).
85
+ for h in logging.root.handlers:
86
+ h.setLevel(level)
87
+
88
+ if not os.path.isdir(ARTIFACTS_DIR):
89
+ os.mkdir(ARTIFACTS_DIR)
90
+
91
+ # optimizations are difficult to debug after the fact, so we always
92
+ # log them at DEBUG level, and write the log as a separate artifact
93
+ opt_log = logging.getLogger("optimization")
94
+ opt_log.setLevel(logging.DEBUG)
95
+ opt_handler = logging.FileHandler(ARTIFACTS_DIR / "optimizations.log", mode="w")
96
+ if logging.root.handlers:
97
+ opt_handler.setFormatter(logging.root.handlers[0].formatter)
98
+ opt_log.addHandler(opt_handler)
79
99
 
80
100
  parameters = parameters or (
81
101
  lambda graph_config: get_decision_parameters(graph_config, options)
@@ -359,7 +379,7 @@ def write_artifact(filename, data):
359
379
  import gzip
360
380
 
361
381
  with gzip.open(path, "wb") as f:
362
- f.write(json.dumps(data))
382
+ f.write(json.dumps(data)) # type: ignore
363
383
  else:
364
384
  raise TypeError(f"Don't know how to write to {filename}")
365
385