scientific-computing-system 2.2.14__tar.gz → 2.2.17__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 (435) hide show
  1. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/bot-reviewer.yml +0 -1
  2. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/changelog.yml +1 -2
  3. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/codeql.yml +6 -4
  4. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/dependency-review.yml +3 -1
  5. scientific_computing_system-2.2.17/.github/workflows/fuzz.yml +38 -0
  6. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/npm-publish.yml +46 -4
  7. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/pypi-release-policy.yml +41 -1
  8. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/release.yml +21 -2
  9. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/scorecard.yml +1 -1
  10. scientific_computing_system-2.2.17/.github/workflows/sign-release.yml +170 -0
  11. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/CHANGELOG.md +18 -0
  12. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/CITATION.cff +2 -2
  13. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/PKG-INFO +8 -8
  14. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/README.md +1 -1
  15. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/codemeta.json +1 -1
  16. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/package.json +1 -1
  17. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/pyproject.toml +7 -7
  18. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/requirements-dev.lock +10 -3
  19. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/_version.py +2 -2
  20. scientific_computing_system-2.2.17/tests/fuzz/fuzz_bpe_merge.py +27 -0
  21. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/benchmarks.yml +0 -0
  22. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/cli-package-smoke.yml +0 -0
  23. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/pr-automation.yml +0 -0
  24. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.github/workflows/tests.yml +0 -0
  25. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/.gitignore +0 -0
  26. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/CONTRIBUTING.md +0 -0
  27. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/LICENSE +0 -0
  28. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/SECURITY.md +0 -0
  29. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/benchmarks/results.json +0 -0
  30. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/benchmarks/robust_runner.py +0 -0
  31. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/benchmarks/run_benchmarks.py +0 -0
  32. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/bin/scs.js +0 -0
  33. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/dashboard/app.py +0 -0
  34. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/ARCHITECTURE.md +0 -0
  35. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_HUBBLE.md +0 -0
  36. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_QUANTUM_ML.md +0 -0
  37. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/api.md +0 -0
  38. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/assets/icon.svg +0 -0
  39. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/assets/logo.svg +0 -0
  40. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/benchmarks.md +0 -0
  41. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/checks/verify_provenance_claims.py +0 -0
  42. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/cookbook.md +0 -0
  43. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/getting-started.md +0 -0
  44. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/index.md +0 -0
  45. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/maintenance.md +0 -0
  46. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/ml_reference.md +0 -0
  47. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/related.md +0 -0
  48. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/research-workflows.md +0 -0
  49. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/stylesheets/extra.css +0 -0
  50. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tour_of_numerical_methods.md +0 -0
  51. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/core_demo.md +0 -0
  52. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/data_analysis_demo.md +0 -0
  53. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/diffeq_demo.md +0 -0
  54. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/fft2_demo.md +0 -0
  55. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/graph_demo.md +0 -0
  56. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_demo.md +0 -0
  57. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_tests_demo.md +0 -0
  58. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_with_stats_demo.md +0 -0
  59. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/knowledge_demo.md +0 -0
  60. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/linalg_demo.md +0 -0
  61. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/math_utils_demo.md +0 -0
  62. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/ml_advanced_demo.md +0 -0
  63. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/ml_and_viz_demo.md +0 -0
  64. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/ml_demo.md +0 -0
  65. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/modeling_demo.md +0 -0
  66. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/montecarlo_demo.md +0 -0
  67. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_attention_demo.md +0 -0
  68. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_bpe_demo.md +0 -0
  69. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_mini_gpt_demo.md +0 -0
  70. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_viz.md +0 -0
  71. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/numerical_integration_demo.md +0 -0
  72. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/optimization_demo.md +0 -0
  73. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/pandas_io_demo.md +0 -0
  74. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/pca_demo.md +0 -0
  75. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/probability_demo.md +0 -0
  76. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/quantum_demo.md +0 -0
  77. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/quick_start.md +0 -0
  78. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/scientific_demo.md +0 -0
  79. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/signals_demo.md +0 -0
  80. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/stats_demo.md +0 -0
  81. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/stiff_ode_demo.md +0 -0
  82. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/tutorials/time_series_demo.md +0 -0
  83. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/docs/why-pure-python.md +0 -0
  84. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/core_demo.py +0 -0
  85. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/data_analysis_demo.py +0 -0
  86. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/diffeq_demo.py +0 -0
  87. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/discovery_pipeline_demo.py +0 -0
  88. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/ensemble_showcase.py +0 -0
  89. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/fft2_demo.py +0 -0
  90. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/graph_demo.py +0 -0
  91. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/hypothesis_custom_generator.py +0 -0
  92. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/hypothesis_demo.py +0 -0
  93. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/hypothesis_tests_demo.py +0 -0
  94. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/hypothesis_with_stats_demo.py +0 -0
  95. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/interpolate_demo.py +0 -0
  96. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/knowledge_demo.py +0 -0
  97. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/linalg_demo.py +0 -0
  98. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/math_utils_demo.py +0 -0
  99. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/ml_and_viz_demo.py +0 -0
  100. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/modeling_demo.py +0 -0
  101. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/montecarlo_demo.py +0 -0
  102. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/nlp_attention_demo.py +0 -0
  103. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/nlp_bpe_demo.py +0 -0
  104. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/nlp_mini_gpt_demo.py +0 -0
  105. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/nlp_viz_demo.py +0 -0
  106. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/numerical_integration_demo.py +0 -0
  107. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/optimization_demo.py +0 -0
  108. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/pca_demo.py +0 -0
  109. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/pde_demo.py +0 -0
  110. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/plot_demo.py +0 -0
  111. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/plotting_notebook.ipynb +0 -0
  112. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/probability_demo.py +0 -0
  113. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/quantum_demo.py +0 -0
  114. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/scientific_demo.py +0 -0
  115. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/signals_demo.py +0 -0
  116. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/stats_demo.py +0 -0
  117. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/examples/tour_of_numerical_methods.ipynb +0 -0
  118. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/index.js +0 -0
  119. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/mkdocs.yml +0 -0
  120. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/npm.test.js +0 -0
  121. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/paper.bib +0 -0
  122. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/paper.md +0 -0
  123. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/requirements-build.lock +0 -0
  124. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/requirements.lock +0 -0
  125. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/check_release_toolchain.py +0 -0
  126. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/check_version_discipline.py +0 -0
  127. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/check_version_lockstep.py +0 -0
  128. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/publish.py +0 -0
  129. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/verify_cli_install.py +0 -0
  130. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/verify_cookbook.py +0 -0
  131. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/verify_ml_reference.py +0 -0
  132. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/scripts/verify_release_integrity.py +0 -0
  133. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/__init__.py +0 -0
  134. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/__main__.py +0 -0
  135. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/_paths.py +0 -0
  136. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/bayes/__init__.py +0 -0
  137. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/bayes/conjugate.py +0 -0
  138. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/causal.py +0 -0
  139. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/__init__.py +0 -0
  140. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/__main__.py +0 -0
  141. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/_exit_codes.py +0 -0
  142. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/_handlers.py +0 -0
  143. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/_parser.py +0 -0
  144. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/_style.py +0 -0
  145. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/cli/_system_info.py +0 -0
  146. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/core/__init__.py +0 -0
  147. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/core/_numeric.py +0 -0
  148. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/core/models.py +0 -0
  149. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_analysis/__init__.py +0 -0
  150. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_analysis/dataset.py +0 -0
  151. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_analysis/loader.py +0 -0
  152. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_analysis/pandas_io.py +0 -0
  153. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_analysis/transform.py +0 -0
  154. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_analysis/viz.py +0 -0
  155. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_io/__init__.py +0 -0
  156. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_io/scientific.py +0 -0
  157. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/data_io/streaming.py +0 -0
  158. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/diffeq/__init__.py +0 -0
  159. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/diffeq/_implicit.py +0 -0
  160. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/diffeq/solvers.py +0 -0
  161. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/diffeq/symplectic.py +0 -0
  162. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/fractals/__init__.py +0 -0
  163. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/fractals/sets.py +0 -0
  164. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/genetics/__init__.py +0 -0
  165. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/genetics/sequence.py +0 -0
  166. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/graph/__init__.py +0 -0
  167. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/graph/algorithms.py +0 -0
  168. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/hypothesis/__init__.py +0 -0
  169. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/hypothesis/evaluator.py +0 -0
  170. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/hypothesis/generator.py +0 -0
  171. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/hypothesis/mining.py +0 -0
  172. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/infotheory/__init__.py +0 -0
  173. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/infotheory/measures.py +0 -0
  174. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/interpolate/__init__.py +0 -0
  175. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/knowledge/__init__.py +0 -0
  176. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/knowledge/graph.py +0 -0
  177. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/knowledge/notes.py +0 -0
  178. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/knowledge/retrieval.py +0 -0
  179. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/math_utils/__init__.py +0 -0
  180. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/math_utils/calculus.py +0 -0
  181. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/math_utils/linalg.py +0 -0
  182. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/math_utils/special.py +0 -0
  183. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/math_utils/svd.py +0 -0
  184. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/__init__.py +0 -0
  185. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/boosting.py +0 -0
  186. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/clustering.py +0 -0
  187. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/decomposition.py +0 -0
  188. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/ensemble.py +0 -0
  189. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/linear_models.py +0 -0
  190. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/metrics.py +0 -0
  191. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/model_selection.py +0 -0
  192. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/naive_bayes.py +0 -0
  193. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/neighbors.py +0 -0
  194. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/neural.py +0 -0
  195. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/preprocessing.py +0 -0
  196. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/tree.py +0 -0
  197. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/ml/voting.py +0 -0
  198. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/__init__.py +0 -0
  199. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/_base.py +0 -0
  200. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/_nodes.py +0 -0
  201. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/expression.py +0 -0
  202. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/fitting.py +0 -0
  203. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/model.py +0 -0
  204. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/modeling/solver.py +0 -0
  205. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/montecarlo/__init__.py +0 -0
  206. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/montecarlo/markov.py +0 -0
  207. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/montecarlo/methods.py +0 -0
  208. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/__init__.py +0 -0
  209. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/attention.py +0 -0
  210. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/__init__.py +0 -0
  211. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/_grad.py +0 -0
  212. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/ops.py +0 -0
  213. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/tensor.py +0 -0
  214. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/bpe.py +0 -0
  215. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/data.py +0 -0
  216. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/embed.py +0 -0
  217. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/layers.py +0 -0
  218. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/model.py +0 -0
  219. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/optim.py +0 -0
  220. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/training.py +0 -0
  221. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/nlp/viz.py +0 -0
  222. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/numerical_integration/__init__.py +0 -0
  223. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/numerical_integration/quadrature.py +0 -0
  224. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/optimization/__init__.py +0 -0
  225. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/optimization/_metaheuristics.py +0 -0
  226. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/optimization/constrained.py +0 -0
  227. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/optimization/minimize.py +0 -0
  228. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/pde/__init__.py +0 -0
  229. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/plot/__init__.py +0 -0
  230. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/plot/_backend.py +0 -0
  231. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/plot/charts.py +0 -0
  232. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/probability/__init__.py +0 -0
  233. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/probability/_advanced.py +0 -0
  234. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/probability/distributions.py +0 -0
  235. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/probability/extra_distributions.py +0 -0
  236. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/provenance/__init__.py +0 -0
  237. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/provenance/manifest.py +0 -0
  238. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/py.typed +0 -0
  239. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/quantum/__init__.py +0 -0
  240. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/quantum/circuit.py +0 -0
  241. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/quantum/multi_qubit.py +0 -0
  242. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/quantum/simulator.py +0 -0
  243. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/scientific/__init__.py +0 -0
  244. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/scientific/constants.py +0 -0
  245. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/scientific/formulas.py +0 -0
  246. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/sensitivity.py +0 -0
  247. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/signals/__init__.py +0 -0
  248. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/signals/filters.py +0 -0
  249. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/signals/processing.py +0 -0
  250. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/signals/stft.py +0 -0
  251. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/signals/wavelet.py +0 -0
  252. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/__init__.py +0 -0
  253. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/_distributions.py +0 -0
  254. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/bootstrap.py +0 -0
  255. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/descriptive.py +0 -0
  256. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/hypothesis_tests.py +0 -0
  257. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/multiple_testing.py +0 -0
  258. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/nonparametric.py +0 -0
  259. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/power.py +0 -0
  260. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/regression.py +0 -0
  261. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/stats/time_series.py +0 -0
  262. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/tools/__init__.py +0 -0
  263. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/tools/adapters.py +0 -0
  264. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/tools/registry.py +0 -0
  265. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/uncertainty/__init__.py +0 -0
  266. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/uncertainty/propagation.py +0 -0
  267. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/units/__init__.py +0 -0
  268. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/units/core.py +0 -0
  269. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/validation/__init__.py +0 -0
  270. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/validation/adequacy.py +0 -0
  271. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/validation/checks.py +0 -0
  272. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/validation/drift.py +0 -0
  273. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/validation/report.py +0 -0
  274. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/wavelets/__init__.py +0 -0
  275. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/wavelets/haar.py +0 -0
  276. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/__init__.py +0 -0
  277. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/engine.py +0 -0
  278. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/gates.py +0 -0
  279. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/orchestrator.py +0 -0
  280. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/selection.py +0 -0
  281. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/tooling.py +0 -0
  282. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/src/cds/workflow/types.py +0 -0
  283. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/__init__.py +0 -0
  284. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/conftest.py +0 -0
  285. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_advanced_fitting.py +0 -0
  286. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_completion_coverage.py +0 -0
  287. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_guard_coverage.py +0 -0
  288. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening.py +0 -0
  289. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c1.py +0 -0
  290. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c2.py +0 -0
  291. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c3.py +0 -0
  292. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c4.py +0 -0
  293. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_coverage.py +0 -0
  294. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_h1.py +0 -0
  295. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_bayes_v2.py +0 -0
  296. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_benchmarks.py +0 -0
  297. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_bootstrap.py +0 -0
  298. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_causal.py +0 -0
  299. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_cli.py +0 -0
  300. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_cli_color.py +0 -0
  301. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_cli_exit_codes.py +0 -0
  302. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_cli_extended.py +0 -0
  303. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_cli_system_info.py +0 -0
  304. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_codemeta_version_lockstep.py +0 -0
  305. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_constrained_opt.py +0 -0
  306. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_core.py +0 -0
  307. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_data_analysis.py +0 -0
  308. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_data_analysis_lazy_bridge.py +0 -0
  309. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_data_analysis_pandas_io.py +0 -0
  310. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_data_io.py +0 -0
  311. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_data_io_optional_backends.py +0 -0
  312. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_data_io_scientific.py +0 -0
  313. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_dataset.py +0 -0
  314. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_dev_numpy_pin_contract.py +0 -0
  315. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_diffeq.py +0 -0
  316. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_diffeq_implicit.py +0 -0
  317. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_domain_validation.py +0 -0
  318. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_edge_misc_numerical.py +0 -0
  319. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_edge_ml_quantum_linalg.py +0 -0
  320. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_edge_nlp.py +0 -0
  321. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_edge_quantum_evaluator_cli.py +0 -0
  322. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_edge_stats_optimization_signals.py +0 -0
  323. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_extra_distributions.py +0 -0
  324. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_fft2.py +0 -0
  325. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_fitting_bootstrap.py +0 -0
  326. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_fractals.py +0 -0
  327. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_genetics.py +0 -0
  328. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_graph.py +0 -0
  329. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_hardening_20261023.py +0 -0
  330. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_hardening_privacy_provenance.py +0 -0
  331. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_hypothesis.py +0 -0
  332. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_hypothesis_engine.py +0 -0
  333. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_hypothesis_mining.py +0 -0
  334. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_hypothesis_tests.py +0 -0
  335. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_infotheory.py +0 -0
  336. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_interpolate.py +0 -0
  337. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_knowledge.py +0 -0
  338. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_layering.py +0 -0
  339. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_linalg_extended.py +0 -0
  340. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_linalg_qr_cholesky.py +0 -0
  341. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_markov.py +0 -0
  342. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_math_utils.py +0 -0
  343. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_boosting.py +0 -0
  344. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_clustering.py +0 -0
  345. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_ensemble.py +0 -0
  346. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_knn.py +0 -0
  347. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_linreg.py +0 -0
  348. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_logreg.py +0 -0
  349. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_metrics.py +0 -0
  350. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_model_selection.py +0 -0
  351. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_naive_bayes.py +0 -0
  352. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_pca.py +0 -0
  353. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_preprocessing.py +0 -0
  354. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_tree.py +0 -0
  355. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_viz.py +0 -0
  356. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_ml_voting.py +0 -0
  357. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_modeling.py +0 -0
  358. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_modeling_fit_validation.py +0 -0
  359. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_montecarlo.py +0 -0
  360. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_multi_qubit.py +0 -0
  361. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_attention.py +0 -0
  362. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_autograd.py +0 -0
  363. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_bpe.py +0 -0
  364. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_embed.py +0 -0
  365. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_layers.py +0 -0
  366. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_model.py +0 -0
  367. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_training.py +0 -0
  368. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_nlp_viz.py +0 -0
  369. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_numerical_integration.py +0 -0
  370. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_numerical_invariants.py +0 -0
  371. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_numerical_oracles.py +0 -0
  372. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_optimization.py +0 -0
  373. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_optimization_metaheuristics.py +0 -0
  374. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_path_confinement.py +0 -0
  375. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_pde.py +0 -0
  376. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_plot_charts.py +0 -0
  377. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_plot_lazy.py +0 -0
  378. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_power.py +0 -0
  379. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_probability.py +0 -0
  380. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_probability_advanced.py +0 -0
  381. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_property_invariants.py +0 -0
  382. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_protocol_placeholders.py +0 -0
  383. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_provenance.py +0 -0
  384. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_provenance_audit_hardening.py +0 -0
  385. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_provenance_claims.py +0 -0
  386. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_public_api.py +0 -0
  387. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_quantum.py +0 -0
  388. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_readme_badges.py +0 -0
  389. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_readme_surface.py +0 -0
  390. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_release_contract.py +0 -0
  391. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_release_toolchain.py +0 -0
  392. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_retrieval.py +0 -0
  393. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_runtime_dependency_graph.py +0 -0
  394. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_scientific.py +0 -0
  395. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_seed_hygiene.py +0 -0
  396. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_selection_audit_hardening.py +0 -0
  397. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_sensitivity.py +0 -0
  398. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_sensitivity_global.py +0 -0
  399. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_signals.py +0 -0
  400. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_signals_filters.py +0 -0
  401. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_special_invariants.py +0 -0
  402. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_special_numerics.py +0 -0
  403. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_statistical_audit.py +0 -0
  404. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_stats.py +0 -0
  405. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_stats_audit_coverage.py +0 -0
  406. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_stats_multiple_testing.py +0 -0
  407. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_stats_nonparametric.py +0 -0
  408. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_stats_time_series.py +0 -0
  409. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_stft.py +0 -0
  410. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_streaming_analytics.py +0 -0
  411. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_svd.py +0 -0
  412. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_symplectic.py +0 -0
  413. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_tool_adapters.py +0 -0
  414. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_tools_registry.py +0 -0
  415. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_uncertainty.py +0 -0
  416. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_units.py +0 -0
  417. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation.py +0 -0
  418. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_adequacy.py +0 -0
  419. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_advanced.py +0 -0
  420. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_bounds_nonfinite_regression.py +0 -0
  421. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_derived_moments_overflow.py +0 -0
  422. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_derived_tolerance_overflow.py +0 -0
  423. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_drift.py +0 -0
  424. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_nonfinite_thresholds_regression.py +0 -0
  425. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_validation_ood_stable_and_coverage.py +0 -0
  426. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_verify_release_integrity.py +0 -0
  427. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_wavelet.py +0 -0
  428. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_wavelets_v2.py +0 -0
  429. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow.py +0 -0
  430. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow_gates.py +0 -0
  431. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow_orchestrator.py +0 -0
  432. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow_orchestrator_blocked_review.py +0 -0
  433. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow_selection.py +0 -0
  434. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow_selection_coverage.py +0 -0
  435. {scientific_computing_system-2.2.14 → scientific_computing_system-2.2.17}/tests/test_workflow_tooling.py +0 -0
@@ -9,7 +9,6 @@ env:
9
9
 
10
10
  permissions:
11
11
  contents: read
12
- pull-requests: write
13
12
 
14
13
  jobs:
15
14
  approve:
@@ -29,8 +29,7 @@ on:
29
29
  type: string
30
30
 
31
31
  permissions:
32
- contents: write
33
- pull-requests: write
32
+ contents: read
34
33
 
35
34
  # Serialize dispatches: two concurrent runs would both regenerate CHANGELOG.md
36
35
  # and force-push the single shared branch, racing each other. The fixed
@@ -26,13 +26,15 @@ concurrency:
26
26
 
27
27
  permissions:
28
28
  contents: read
29
- security-events: write
30
29
 
31
30
  jobs:
32
31
  analyze:
33
32
  name: Analyze (${{ matrix.language }})
34
33
  runs-on: ubuntu-latest
35
34
  timeout-minutes: 30
35
+ permissions:
36
+ contents: read
37
+ security-events: write
36
38
  strategy:
37
39
  fail-fast: false
38
40
  matrix:
@@ -43,13 +45,13 @@ jobs:
43
45
  with:
44
46
  persist-credentials: false
45
47
  - name: Initialize CodeQL
46
- uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4
48
+ uses: github/codeql-action/init@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
47
49
  with:
48
50
  languages: ${{ matrix.language }}
49
51
  queries: security-and-quality
50
52
  - name: Autobuild
51
- uses: github/codeql-action/autobuild@24c54180a607b1449ed407dd24f251e4e9147c8d # v4
53
+ uses: github/codeql-action/autobuild@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
52
54
  - name: Perform CodeQL Analysis
53
- uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4
55
+ uses: github/codeql-action/analyze@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
54
56
  with:
55
57
  category: "/language:${{ matrix.language }}"
@@ -6,11 +6,13 @@ on:
6
6
 
7
7
  permissions:
8
8
  contents: read
9
- pull-requests: write
10
9
 
11
10
  jobs:
12
11
  dependency-review:
13
12
  runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: read
15
+ pull-requests: write
14
16
  steps:
15
17
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
16
18
  - uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
@@ -0,0 +1,38 @@
1
+ name: Fuzz
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ paths:
8
+ - "src/cds/**"
9
+ - "tests/fuzz/**"
10
+ - "pyproject.toml"
11
+ - ".github/workflows/fuzz.yml"
12
+ workflow_dispatch:
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ concurrency:
18
+ group: fuzz-scientific-computing-system
19
+ cancel-in-progress: true
20
+
21
+ jobs:
22
+ fuzz:
23
+ name: Atheris
24
+ runs-on: ubuntu-latest
25
+ timeout-minutes: 15
26
+ permissions:
27
+ contents: read
28
+ steps:
29
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
30
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
31
+ with:
32
+ python-version: "3.12"
33
+ - name: Install Atheris
34
+ run: python -m pip install atheris==3.1.0
35
+ - name: Install scientific-computing-system
36
+ run: python -m pip install -e .
37
+ - name: Fuzz the BPE merge validator
38
+ run: python tests/fuzz/fuzz_bpe_merge.py -max_total_time=60 -rss_limit_mb=2048 -print_final_stats=1
@@ -99,18 +99,60 @@ jobs:
99
99
  actions: read
100
100
  outputs:
101
101
  published: ${{ steps.check.outputs.published }}
102
+ head_sha: ${{ steps.check.outputs.head_sha }}
102
103
  steps:
103
104
  - name: Check the triggering Release run published
104
105
  id: check
106
+ shell: bash
105
107
  env:
106
108
  GH_TOKEN: ${{ github.token }}
107
109
  RUN_ID: ${{ github.event.workflow_run.id }}
108
110
  run: |
109
111
  set -euo pipefail
110
- conclusion="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}/jobs?per_page=100" \
112
+ # The trigger is the Release workflow, which normally is itself a
113
+ # workflow_run consumer: its event is `workflow_run`. The Release
114
+ # recovery path is dispatched manually and never publishes to PyPI,
115
+ # so a `workflow_dispatch` run is accepted too; its publish job is
116
+ # declared workflow_run-only, so it cannot set published=true.
117
+ # Release already verified its upstream CI run through the Actions
118
+ # API, so trust the head SHA only after proving the run belongs to
119
+ # this repository's release.yml on the default branch.
120
+ data="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}" \
121
+ --jq '[.head_sha, .event, .head_branch, .conclusion, .repository.full_name, .path] | @tsv')"
122
+ IFS=$'\t' read -r sha event branch conclusion repo path <<<"${data}"
123
+ echo "head_sha=${sha}" >> "$GITHUB_OUTPUT"
124
+ case "${event}" in
125
+ workflow_run|workflow_dispatch) ;;
126
+ *)
127
+ echo "::error::Run ${RUN_ID} has unsupported event ${event}."
128
+ exit 1
129
+ ;;
130
+ esac
131
+ if [ "${path}" != ".github/workflows/release.yml" ] || \
132
+ [ "${branch}" != "main" ] || \
133
+ [ "${repo}" != "${GITHUB_REPOSITORY}" ]; then
134
+ echo "::error::Run ${RUN_ID} is not a Release run on ${GITHUB_REPOSITORY} main."
135
+ exit 1
136
+ fi
137
+ # A Release run whose jobs all skip (the version is already released)
138
+ # concludes `skipped`. That is an ordinary push, not a release, so the
139
+ # npm job must skip too. A failed or cancelled release stays loud.
140
+ case "${conclusion}" in
141
+ success|skipped) ;;
142
+ *)
143
+ echo "::error::Release run ${RUN_ID} concluded ${conclusion}."
144
+ exit 1
145
+ ;;
146
+ esac
147
+ if [ "${conclusion}" != "success" ]; then
148
+ echo "Release run was ${conclusion}; no release was published."
149
+ echo "published=false" >> "$GITHUB_OUTPUT"
150
+ exit 0
151
+ fi
152
+ publish_conclusion="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}/jobs?per_page=100" \
111
153
  --jq '[.jobs[] | select(.name == "Build + verify + publish to PyPI + metadata-only GitHub Release") | .conclusion] | first // "missing"')"
112
- echo "Release publish job: ${conclusion}"
113
- if [ "${conclusion}" = "success" ]; then
154
+ echo "Release publish job: ${publish_conclusion}"
155
+ if [ "${publish_conclusion}" = "success" ]; then
114
156
  echo "published=true" >> "$GITHUB_OUTPUT"
115
157
  else
116
158
  echo "published=false" >> "$GITHUB_OUTPUT"
@@ -140,7 +182,7 @@ jobs:
140
182
  persist-credentials: false
141
183
  # Release-triggered runs must publish the exact commit that was released,
142
184
  # not whatever main points at when the follow-up workflow starts.
143
- ref: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.ref }}
185
+ ref: ${{ github.event_name == 'workflow_run' && needs.release_gate.outputs.head_sha || github.ref }}
144
186
 
145
187
  # GATE: bind each trigger to the version it is allowed to publish.
146
188
  #
@@ -37,11 +37,51 @@ jobs:
37
37
  timeout-minutes: 15
38
38
  permissions:
39
39
  contents: write
40
+ actions: read
40
41
  steps:
42
+ - name: Resolve the source commit
43
+ id: target
44
+ shell: bash
45
+ env:
46
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47
+ EVENT_NAME: ${{ github.event_name }}
48
+ RUN_ID: ${{ github.event.workflow_run.id }}
49
+ run: |
50
+ set -euo pipefail
51
+ if [ "${EVENT_NAME}" = "workflow_run" ]; then
52
+ # This workflow triggers on the Release workflow, which normally is
53
+ # itself a workflow_run consumer, so the triggering run's event is
54
+ # `workflow_run`. The Release recovery path is dispatched manually
55
+ # and never publishes to PyPI, so a `workflow_dispatch` run is
56
+ # accepted too. The Release gate already verified its own upstream
57
+ # CI run through the Actions API; here we only need to prove the
58
+ # trigger came from this repository's Release workflow on the
59
+ # default branch before trusting its head SHA.
60
+ data="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}" \
61
+ --jq '[.head_sha, .event, .head_branch, .conclusion, .repository.full_name, .path] | @tsv')"
62
+ IFS=$'\t' read -r sha event branch conclusion repo path <<<"${data}"
63
+ case "${event}" in
64
+ workflow_run|workflow_dispatch) ;;
65
+ *)
66
+ echo "::error::Run ${RUN_ID} has unsupported event ${event}."
67
+ exit 1
68
+ ;;
69
+ esac
70
+ if [ "${path}" != ".github/workflows/release.yml" ] || \
71
+ [ "${branch}" != "main" ] || \
72
+ [ "${conclusion}" != "success" ] || [ "${repo}" != "${GITHUB_REPOSITORY}" ]; then
73
+ echo "::error::Run ${RUN_ID} is not a successful Release run on ${GITHUB_REPOSITORY} main."
74
+ exit 1
75
+ fi
76
+ else
77
+ sha="${GITHUB_SHA}"
78
+ fi
79
+ echo "sha=${sha}" >> "$GITHUB_OUTPUT"
80
+
41
81
  - name: Check out released source
42
82
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
43
83
  with:
44
- ref: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.sha }}
84
+ ref: ${{ steps.target.outputs.sha }}
45
85
 
46
86
  - name: Set up Python
47
87
  uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
@@ -50,13 +50,32 @@ jobs:
50
50
  timeout-minutes: 15
51
51
  permissions:
52
52
  contents: read
53
+ actions: read
53
54
  outputs:
54
55
  release_sha: ${{ steps.candidate.outputs.release_sha }}
55
56
  should_release: ${{ steps.candidate.outputs.should_release }}
56
57
  steps:
58
+ - name: Resolve and verify the triggering CI run
59
+ id: target
60
+ shell: bash
61
+ env:
62
+ GH_TOKEN: ${{ github.token }}
63
+ RUN_ID: ${{ github.event.workflow_run.id }}
64
+ run: |
65
+ set -euo pipefail
66
+ data="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}" \
67
+ --jq '[.head_sha, .event, .head_branch, .conclusion, .repository.full_name] | @tsv')"
68
+ IFS=$'\t' read -r sha event branch conclusion repo <<<"${data}"
69
+ if [ "${event}" != "push" ] || [ "${branch}" != "main" ] || \
70
+ [ "${conclusion}" != "success" ] || [ "${repo}" != "${GITHUB_REPOSITORY}" ]; then
71
+ echo "::error::Run ${RUN_ID} is not a successful push on ${GITHUB_REPOSITORY} main."
72
+ exit 1
73
+ fi
74
+ echo "sha=${sha}" >> "$GITHUB_OUTPUT"
75
+
57
76
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
58
77
  with:
59
- ref: ${{ github.event.workflow_run.head_sha }}
78
+ ref: ${{ steps.target.outputs.sha }}
60
79
  fetch-depth: 2
61
80
 
62
81
  - name: Bind release to the exact CI-tested commit
@@ -401,7 +420,7 @@ jobs:
401
420
 
402
421
  - name: Publish to PyPI (Trusted Publishing)
403
422
  if: steps.pypi_state.outputs.already_published != 'true'
404
- uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1
423
+ uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # release/v1
405
424
 
406
425
  - name: Create or verify release tag after successful PyPI state
407
426
  # The tag is created only after PyPI accepted the upload. An existing tag
@@ -32,6 +32,6 @@ jobs:
32
32
  name: scorecard-sarif
33
33
  path: results.sarif
34
34
  retention-days: 5
35
- - uses: github/codeql-action/upload-sarif@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
35
+ - uses: github/codeql-action/upload-sarif@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0
36
36
  with:
37
37
  sarif_file: results.sarif
@@ -0,0 +1,170 @@
1
+ name: Sign release
2
+
3
+ # Attach a signed source archive plus a cosign keyless signature bundle to the
4
+ # GitHub Release that the publish workflows already created. OpenSSF Scorecard's
5
+ # Signed-Releases check looks for a release asset whose name ends in
6
+ # `.sigstore`, and this workflow is the only producer of one.
7
+ #
8
+ # Security: the workflow_run payload is untrusted input. The run is re-read from
9
+ # the Actions API, validated against this repository, the allowed event types
10
+ # and the exact release workflow paths, and only then is its head_sha checked
11
+ # out. The checkout never consumes a raw event expression.
12
+ on:
13
+ workflow_run:
14
+ workflows: ["Release"]
15
+ types: [completed]
16
+ workflow_dispatch:
17
+ inputs:
18
+ tag:
19
+ description: "Existing release tag to sign (e.g. v1.2.3)"
20
+ required: false
21
+
22
+ permissions:
23
+ contents: read
24
+
25
+ concurrency:
26
+ group: sign-release-${{ github.event.workflow_run.head_sha || github.ref }}
27
+ cancel-in-progress: false
28
+
29
+ jobs:
30
+ sign:
31
+ runs-on: ubuntu-latest
32
+ if: >
33
+ github.event_name == 'workflow_dispatch' ||
34
+ (github.event.workflow_run.conclusion == 'success' &&
35
+ github.event.workflow_run.head_repository.full_name == github.repository)
36
+ permissions:
37
+ contents: write
38
+ id-token: write
39
+ env:
40
+ GH_TOKEN: ${{ github.token }}
41
+ steps:
42
+ - name: Resolve the trusted release commit
43
+ id: resolve
44
+ shell: bash
45
+ env:
46
+ RUN_ID: ${{ github.event.workflow_run.id }}
47
+ run: |
48
+ set -euo pipefail
49
+ if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
50
+ echo "sha=${{ github.sha }}" >> "$GITHUB_OUTPUT"
51
+ exit 0
52
+ fi
53
+ data="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}" \
54
+ --jq '[.head_sha, .event, .conclusion, .repository.full_name, .path] | @tsv')"
55
+ IFS=$'\t' read -r sha event conclusion repo path <<<"${data}"
56
+ # The Release workflow here is itself a workflow_run consumer that
57
+ # waits for CI, so the run this workflow follows has event
58
+ # `workflow_run`. All of these are accepted; the path, repository and
59
+ # conclusion checks below still have to pass.
60
+ case "${event}" in
61
+ push|release|workflow_run|workflow_dispatch) ;;
62
+ *) echo "::error::Run ${RUN_ID} has unsupported event ${event}."; exit 1 ;;
63
+ esac
64
+ case "${path}" in
65
+ .github/workflows/release.yml) ;;
66
+ *) echo "::error::Run ${RUN_ID} is not a release workflow (${path})."; exit 1 ;;
67
+ esac
68
+ if [[ "${conclusion}" != "success" || "${repo}" != "${GITHUB_REPOSITORY}" ]]; then
69
+ echo "::error::Run ${RUN_ID} is not a successful release run on ${GITHUB_REPOSITORY}."
70
+ exit 1
71
+ fi
72
+ echo "sha=${sha}" >> "$GITHUB_OUTPUT"
73
+
74
+ - name: Check out the released commit
75
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
76
+ with:
77
+ fetch-depth: 0
78
+ ref: ${{ steps.resolve.outputs.sha }}
79
+
80
+ - name: Resolve the release tag
81
+ id: tag
82
+ shell: bash
83
+ env:
84
+ EVENT_NAME: ${{ github.event_name }}
85
+ INPUT_TAG: ${{ inputs.tag }}
86
+ HEAD_SHA: ${{ steps.resolve.outputs.sha }}
87
+ run: |
88
+ set -euo pipefail
89
+ if [[ "$EVENT_NAME" == "workflow_dispatch" && -n "$INPUT_TAG" ]]; then
90
+ TAG="$INPUT_TAG"
91
+ else
92
+ git fetch --tags --force origin
93
+ refs="$(git for-each-ref --format='%(refname:short) %(objectname) %(*objectname)' refs/tags)"
94
+ TAG="$(printf '%s\n' "$refs" | awk -v sha="$HEAD_SHA" '$2==sha || $3==sha {print $1; exit}')"
95
+ fi
96
+ if [[ -z "$TAG" ]]; then
97
+ echo "::notice::No tag points at ${HEAD_SHA}; nothing to sign."
98
+ exit 0
99
+ fi
100
+ echo "tag=$TAG" >> "$GITHUB_OUTPUT"
101
+ echo "Resolved tag: $TAG"
102
+
103
+ - name: Check the GitHub Release exists
104
+ id: release
105
+ if: steps.tag.outputs.tag != ''
106
+ shell: bash
107
+ env:
108
+ TAG: ${{ steps.tag.outputs.tag }}
109
+ run: |
110
+ set -euo pipefail
111
+ if gh release view "$TAG" >/dev/null 2>&1; then
112
+ echo "exists=true" >> "$GITHUB_OUTPUT"
113
+ else
114
+ echo "exists=false" >> "$GITHUB_OUTPUT"
115
+ echo "::notice::GitHub Release $TAG does not exist; nothing to sign."
116
+ fi
117
+
118
+ - name: Check the release is not signed yet
119
+ id: signature
120
+ if: steps.release.outputs.exists == 'true'
121
+ shell: bash
122
+ env:
123
+ TAG: ${{ steps.tag.outputs.tag }}
124
+ run: |
125
+ set -euo pipefail
126
+ names="$(gh release view "$TAG" --json assets --jq '.assets[].name')"
127
+ if grep -q '\.sigstore$' <<<"$names"; then
128
+ echo "signed=true" >> "$GITHUB_OUTPUT"
129
+ echo "::notice::Release $TAG already has a .sigstore asset; skipping."
130
+ else
131
+ echo "signed=false" >> "$GITHUB_OUTPUT"
132
+ fi
133
+
134
+ - name: Build the source archive
135
+ id: archive
136
+ if: steps.signature.outputs.signed == 'false'
137
+ shell: bash
138
+ env:
139
+ TAG: ${{ steps.tag.outputs.tag }}
140
+ run: |
141
+ set -euo pipefail
142
+ git fetch --tags --force origin
143
+ repo="${GITHUB_REPOSITORY##*/}"
144
+ asset="${repo}-${TAG}.tar.gz"
145
+ git archive --format=tar.gz --prefix="${repo}-${TAG}/" -o "$asset" "$TAG"
146
+ echo "asset=$asset" >> "$GITHUB_OUTPUT"
147
+ echo "Built $asset from $TAG"
148
+
149
+ - name: Install cosign
150
+ if: steps.signature.outputs.signed == 'false'
151
+ uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
152
+
153
+ - name: Sign the archive with a keyless identity
154
+ if: steps.signature.outputs.signed == 'false'
155
+ shell: bash
156
+ env:
157
+ ASSET: ${{ steps.archive.outputs.asset }}
158
+ run: |
159
+ set -euo pipefail
160
+ cosign sign-blob --yes --bundle "${ASSET}.sigstore" "$ASSET"
161
+
162
+ - name: Upload the archive and the signature bundle
163
+ if: steps.signature.outputs.signed == 'false'
164
+ shell: bash
165
+ env:
166
+ TAG: ${{ steps.tag.outputs.tag }}
167
+ ASSET: ${{ steps.archive.outputs.asset }}
168
+ run: |
169
+ set -euo pipefail
170
+ gh release upload "$TAG" "$ASSET" "${ASSET}.sigstore" --clobber
@@ -19,6 +19,24 @@ a git tag in this repository or on `origin` (checked with `git ls-remote --tags`
19
19
  Any retroactive `v2.2.6` or `v2.2.7` tag should point at those commits. This note records
20
20
  what the history supports; it does not claim that a tag exists.
21
21
 
22
+ ## [v2.2.17] - 2026-10-24
23
+
24
+ ### Dependency hygiene
25
+
26
+ - Update the locked `ruff` development pin from 0.15.17 to 0.17.1 (Dependabot routine update), in both `pyproject.toml` and `requirements-dev.lock`.
27
+ - Refresh `requirements-dev.lock` to `filelock==4.2.4` on Python 3.11+, clearing CVE-2026-112940 reported by the `pip-audit` lock gate. No fixed release supports Python 3.10, so the dev-only 3.10 pin stays at 3.29.4 (marker split).
28
+ - Refresh `requirements-dev.lock` to `virtualenv==21.14.13`, clearing CVE-2026-113713 and CVE-2026-115586 reported by the `pip-audit` lock gate.
29
+ - Bump synchronized package metadata to 2.2.17 as required by the version-discipline gate for the `[project]` dev-extra change.
30
+
31
+ > 2.2.16 was staged on `main` but never published: its CI run failed on advisories disclosed after the bump, so these changes ship in 2.2.17.
32
+
33
+ ## [v2.2.15] - 2026-10-23
34
+
35
+ ### Dependency security floors
36
+
37
+ - Raise the test and documentation dependency floors to versions that carry security fixes: `pytest>=9.0.3` (PYSEC-2026-1845) and `mkdocs-material>=9.7.7` (PYSEC-2026-3864). The locked development environment already resolved these versions; the manifests now state the same minimum.
38
+ - Bump synchronized package metadata to 2.2.15 as required by the version-discipline gate for the `[project]` dependency change.
39
+
22
40
  ## [v2.2.14] - 2026-10-23
23
41
 
24
42
  ### Input validation and supply-chain transparency
@@ -5,7 +5,7 @@ title: "scientific-computing-system"
5
5
  # Keep `version` in lockstep with pyproject.toml [project].version and
6
6
  # src/cds/_version.py. scripts/check_version_discipline.py and
7
7
  # scripts/check_version_lockstep.py enforce this.
8
- version: 2.2.14
8
+ version: 2.2.17
9
9
  authors:
10
10
  - name: "Furox-Art"
11
11
  email: "furkanarkn1451@gmail.com"
@@ -50,5 +50,5 @@ preferred-citation:
50
50
  authors:
51
51
  - name: "Furox-Art"
52
52
  year: 2026
53
- version: 2.2.14
53
+ version: 2.2.17
54
54
  url: "https://github.com/Furox-Art/scientific-computing-system"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: scientific-computing-system
3
- Version: 2.2.14
3
+ Version: 2.2.17
4
4
  Summary: A pure-Python computational science platform for numerical methods, modeling, validation, uncertainty, scientific workflows, dimensional analysis, and optional research-data backends. Zero runtime dependencies.
5
5
  Project-URL: Homepage, https://github.com/Furox-Art/scientific-computing-system
6
6
  Project-URL: Repository, https://github.com/Furox-Art/scientific-computing-system
@@ -34,7 +34,7 @@ Requires-Dist: h5py>=3.10; extra == 'all'
34
34
  Requires-Dist: hypothesis>=6.100; extra == 'all'
35
35
  Requires-Dist: ipykernel; extra == 'all'
36
36
  Requires-Dist: matplotlib>=3.8.0; extra == 'all'
37
- Requires-Dist: mkdocs-material>=9.0.0; extra == 'all'
37
+ Requires-Dist: mkdocs-material>=9.7.7; extra == 'all'
38
38
  Requires-Dist: mkdocs>=1.5.0; extra == 'all'
39
39
  Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'all'
40
40
  Requires-Dist: mypy>=1.10; extra == 'all'
@@ -44,8 +44,8 @@ Requires-Dist: numpy>=1.26; extra == 'all'
44
44
  Requires-Dist: pandas>=2.0; extra == 'all'
45
45
  Requires-Dist: pre-commit; extra == 'all'
46
46
  Requires-Dist: pytest-cov; extra == 'all'
47
- Requires-Dist: pytest>=8.0; extra == 'all'
48
- Requires-Dist: ruff==0.15.17; extra == 'all'
47
+ Requires-Dist: pytest>=9.0.3; extra == 'all'
48
+ Requires-Dist: ruff==0.17.1; extra == 'all'
49
49
  Requires-Dist: scikit-learn>=1.4; extra == 'all'
50
50
  Requires-Dist: scipy>=1.11; extra == 'all'
51
51
  Requires-Dist: statsmodels>=0.14; extra == 'all'
@@ -63,9 +63,9 @@ Requires-Dist: notebook; extra == 'dev'
63
63
  Requires-Dist: numpy<2.5,>=2.0; extra == 'dev'
64
64
  Requires-Dist: pandas-stubs>=2.0; extra == 'dev'
65
65
  Requires-Dist: pre-commit; extra == 'dev'
66
- Requires-Dist: ruff==0.15.17; extra == 'dev'
66
+ Requires-Dist: ruff==0.17.1; extra == 'dev'
67
67
  Provides-Extra: docs
68
- Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
68
+ Requires-Dist: mkdocs-material>=9.7.7; extra == 'docs'
69
69
  Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
70
70
  Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'docs'
71
71
  Provides-Extra: io
@@ -91,7 +91,7 @@ Requires-Dist: sympy>=1.12; extra == 'scientific'
91
91
  Requires-Dist: z3-solver>=4.12.2; extra == 'scientific'
92
92
  Provides-Extra: test
93
93
  Requires-Dist: pytest-cov; extra == 'test'
94
- Requires-Dist: pytest>=8.0; extra == 'test'
94
+ Requires-Dist: pytest>=9.0.3; extra == 'test'
95
95
  Description-Content-Type: text/markdown
96
96
 
97
97
  <p align="center">
@@ -277,7 +277,7 @@ The package installs a `cds` command with 13 subcommands:
277
277
 
278
278
  ```console
279
279
  $ cds --version
280
- System version 2.2.14
280
+ System version 2.2.17
281
281
  $ cds constants # physical constants table
282
282
  ```
283
283
 
@@ -181,7 +181,7 @@ The package installs a `cds` command with 13 subcommands:
181
181
 
182
182
  ```console
183
183
  $ cds --version
184
- System version 2.2.14
184
+ System version 2.2.17
185
185
  $ cds constants # physical constants table
186
186
  ```
187
187
 
@@ -2,7 +2,7 @@
2
2
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
3
3
  "@type": "SoftwareSourceCode",
4
4
  "name": "scientific-computing-system",
5
- "version": "2.2.14",
5
+ "version": "2.2.17",
6
6
  "description": "Pure-Python computational science platform for numerical methods, modeling, validation, uncertainty, and scientific workflows. Zero runtime dependencies. This is the front door; scientific-computing-system-2.0 is the NumPy build of the same work.",
7
7
  "license": "https://spdx.org/licenses/MIT",
8
8
  "codeRepository": "https://github.com/Furox-Art/scientific-computing-system",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scientific-computing-system",
3
- "version": "2.2.14",
3
+ "version": "2.2.17",
4
4
  "description": "Scientific Computing System launcher - a thin Node wrapper that forwards to the pure-Python `cds` CLI. This npm package ships NO Python code: it requires the Python distribution to be installed (`pip install scientific-computing-system`), otherwise `scs` exits non-zero with an actionable message.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -2,7 +2,7 @@
2
2
  # Distribution name. Formerly published as "cognitive-discovery-system";
3
3
  # the import name stays `cds`. Keep the old PyPI project alive as an alias.
4
4
  name = "scientific-computing-system"
5
- version = "2.2.14"
5
+ version = "2.2.17"
6
6
  description = "A pure-Python computational science platform for numerical methods, modeling, validation, uncertainty, scientific workflows, dimensional analysis, and optional research-data backends. Zero runtime dependencies."
7
7
  readme = "README.md"
8
8
  license = "MIT"
@@ -38,16 +38,16 @@ dependencies = []
38
38
  all = [
39
39
  "streamlit>=1.30.0",
40
40
  "matplotlib>=3.8.0",
41
- "pytest>=8.0",
41
+ "pytest>=9.0.3",
42
42
  "pytest-cov",
43
- "ruff==0.15.17",
43
+ "ruff==0.17.1",
44
44
  "mypy>=1.10",
45
45
  "pre-commit",
46
46
  "build",
47
47
  "ipykernel",
48
48
  "notebook",
49
49
  "mkdocs>=1.5.0",
50
- "mkdocs-material>=9.0.0",
50
+ "mkdocs-material>=9.7.7",
51
51
  "mkdocstrings[python]>=0.24.0",
52
52
  "hypothesis>=6.100",
53
53
  "pandas>=2.0",
@@ -93,7 +93,7 @@ plot = [
93
93
  "matplotlib>=3.8.0",
94
94
  ]
95
95
  test = [
96
- "pytest>=8.0",
96
+ "pytest>=9.0.3",
97
97
  "pytest-cov",
98
98
  ]
99
99
  # Property-based testing. Used only by tests/test_property_invariants.py and
@@ -105,7 +105,7 @@ property = [
105
105
  "hypothesis>=6.100",
106
106
  ]
107
107
  dev = [
108
- "ruff==0.15.17",
108
+ "ruff==0.17.1",
109
109
  "mypy>=1.10",
110
110
  "pre-commit",
111
111
  "build",
@@ -127,7 +127,7 @@ dev = [
127
127
  ]
128
128
  docs = [
129
129
  "mkdocs>=1.5.0",
130
- "mkdocs-material>=9.0.0",
130
+ "mkdocs-material>=9.7.7",
131
131
  "mkdocstrings[python]>=0.24.0",
132
132
  ]
133
133
  # Promo/asset build tooling. Used only by scripts/build_gif.py,