scientific-computing-system 2.2.15__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.15 → scientific_computing_system-2.2.17}/.github/workflows/codeql.yml +3 -3
  2. scientific_computing_system-2.2.17/.github/workflows/fuzz.yml +38 -0
  3. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/npm-publish.yml +36 -5
  4. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/pypi-release-policy.yml +20 -4
  5. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/release.yml +1 -1
  6. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/scorecard.yml +1 -1
  7. scientific_computing_system-2.2.17/.github/workflows/sign-release.yml +170 -0
  8. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/CHANGELOG.md +11 -0
  9. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/CITATION.cff +2 -2
  10. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/PKG-INFO +4 -4
  11. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/README.md +1 -1
  12. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/codemeta.json +1 -1
  13. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/package.json +1 -1
  14. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/pyproject.toml +3 -3
  15. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements-dev.lock +10 -3
  16. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/_version.py +2 -2
  17. scientific_computing_system-2.2.17/tests/fuzz/fuzz_bpe_merge.py +27 -0
  18. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/benchmarks.yml +0 -0
  19. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/bot-reviewer.yml +0 -0
  20. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/changelog.yml +0 -0
  21. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/cli-package-smoke.yml +0 -0
  22. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/dependency-review.yml +0 -0
  23. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/pr-automation.yml +0 -0
  24. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/tests.yml +0 -0
  25. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.gitignore +0 -0
  26. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/CONTRIBUTING.md +0 -0
  27. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/LICENSE +0 -0
  28. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/SECURITY.md +0 -0
  29. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/results.json +0 -0
  30. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/robust_runner.py +0 -0
  31. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/run_benchmarks.py +0 -0
  32. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/bin/scs.js +0 -0
  33. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/dashboard/app.py +0 -0
  34. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/ARCHITECTURE.md +0 -0
  35. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_HUBBLE.md +0 -0
  36. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_QUANTUM_ML.md +0 -0
  37. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/api.md +0 -0
  38. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/assets/icon.svg +0 -0
  39. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/assets/logo.svg +0 -0
  40. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/benchmarks.md +0 -0
  41. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/checks/verify_provenance_claims.py +0 -0
  42. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/cookbook.md +0 -0
  43. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/getting-started.md +0 -0
  44. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/index.md +0 -0
  45. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/maintenance.md +0 -0
  46. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/ml_reference.md +0 -0
  47. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/related.md +0 -0
  48. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/research-workflows.md +0 -0
  49. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/stylesheets/extra.css +0 -0
  50. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tour_of_numerical_methods.md +0 -0
  51. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/core_demo.md +0 -0
  52. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/data_analysis_demo.md +0 -0
  53. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/diffeq_demo.md +0 -0
  54. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/fft2_demo.md +0 -0
  55. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/graph_demo.md +0 -0
  56. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_demo.md +0 -0
  57. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_tests_demo.md +0 -0
  58. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_with_stats_demo.md +0 -0
  59. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/knowledge_demo.md +0 -0
  60. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/linalg_demo.md +0 -0
  61. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/math_utils_demo.md +0 -0
  62. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/ml_advanced_demo.md +0 -0
  63. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/ml_and_viz_demo.md +0 -0
  64. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/ml_demo.md +0 -0
  65. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/modeling_demo.md +0 -0
  66. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/montecarlo_demo.md +0 -0
  67. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_attention_demo.md +0 -0
  68. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_bpe_demo.md +0 -0
  69. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_mini_gpt_demo.md +0 -0
  70. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_viz.md +0 -0
  71. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/numerical_integration_demo.md +0 -0
  72. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/optimization_demo.md +0 -0
  73. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/pandas_io_demo.md +0 -0
  74. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/pca_demo.md +0 -0
  75. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/probability_demo.md +0 -0
  76. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/quantum_demo.md +0 -0
  77. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/quick_start.md +0 -0
  78. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/scientific_demo.md +0 -0
  79. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/signals_demo.md +0 -0
  80. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/stats_demo.md +0 -0
  81. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/stiff_ode_demo.md +0 -0
  82. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/time_series_demo.md +0 -0
  83. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/why-pure-python.md +0 -0
  84. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/core_demo.py +0 -0
  85. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/data_analysis_demo.py +0 -0
  86. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/diffeq_demo.py +0 -0
  87. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/discovery_pipeline_demo.py +0 -0
  88. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/ensemble_showcase.py +0 -0
  89. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/fft2_demo.py +0 -0
  90. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/graph_demo.py +0 -0
  91. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_custom_generator.py +0 -0
  92. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_demo.py +0 -0
  93. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_tests_demo.py +0 -0
  94. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_with_stats_demo.py +0 -0
  95. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/interpolate_demo.py +0 -0
  96. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/knowledge_demo.py +0 -0
  97. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/linalg_demo.py +0 -0
  98. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/math_utils_demo.py +0 -0
  99. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/ml_and_viz_demo.py +0 -0
  100. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/modeling_demo.py +0 -0
  101. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/montecarlo_demo.py +0 -0
  102. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_attention_demo.py +0 -0
  103. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_bpe_demo.py +0 -0
  104. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_mini_gpt_demo.py +0 -0
  105. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_viz_demo.py +0 -0
  106. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/numerical_integration_demo.py +0 -0
  107. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/optimization_demo.py +0 -0
  108. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/pca_demo.py +0 -0
  109. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/pde_demo.py +0 -0
  110. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/plot_demo.py +0 -0
  111. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/plotting_notebook.ipynb +0 -0
  112. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/probability_demo.py +0 -0
  113. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/quantum_demo.py +0 -0
  114. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/scientific_demo.py +0 -0
  115. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/signals_demo.py +0 -0
  116. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/stats_demo.py +0 -0
  117. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/tour_of_numerical_methods.ipynb +0 -0
  118. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/index.js +0 -0
  119. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/mkdocs.yml +0 -0
  120. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/npm.test.js +0 -0
  121. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/paper.bib +0 -0
  122. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/paper.md +0 -0
  123. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements-build.lock +0 -0
  124. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements.lock +0 -0
  125. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/check_release_toolchain.py +0 -0
  126. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/check_version_discipline.py +0 -0
  127. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/check_version_lockstep.py +0 -0
  128. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/publish.py +0 -0
  129. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_cli_install.py +0 -0
  130. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_cookbook.py +0 -0
  131. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_ml_reference.py +0 -0
  132. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_release_integrity.py +0 -0
  133. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/__init__.py +0 -0
  134. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/__main__.py +0 -0
  135. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/_paths.py +0 -0
  136. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/bayes/__init__.py +0 -0
  137. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/bayes/conjugate.py +0 -0
  138. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/causal.py +0 -0
  139. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/__init__.py +0 -0
  140. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/__main__.py +0 -0
  141. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_exit_codes.py +0 -0
  142. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_handlers.py +0 -0
  143. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_parser.py +0 -0
  144. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_style.py +0 -0
  145. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_system_info.py +0 -0
  146. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/core/__init__.py +0 -0
  147. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/core/_numeric.py +0 -0
  148. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/core/models.py +0 -0
  149. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/__init__.py +0 -0
  150. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/dataset.py +0 -0
  151. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/loader.py +0 -0
  152. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/pandas_io.py +0 -0
  153. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/transform.py +0 -0
  154. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/viz.py +0 -0
  155. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_io/__init__.py +0 -0
  156. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_io/scientific.py +0 -0
  157. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_io/streaming.py +0 -0
  158. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/__init__.py +0 -0
  159. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/_implicit.py +0 -0
  160. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/solvers.py +0 -0
  161. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/symplectic.py +0 -0
  162. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/fractals/__init__.py +0 -0
  163. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/fractals/sets.py +0 -0
  164. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/genetics/__init__.py +0 -0
  165. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/genetics/sequence.py +0 -0
  166. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/graph/__init__.py +0 -0
  167. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/graph/algorithms.py +0 -0
  168. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/__init__.py +0 -0
  169. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/evaluator.py +0 -0
  170. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/generator.py +0 -0
  171. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/mining.py +0 -0
  172. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/infotheory/__init__.py +0 -0
  173. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/infotheory/measures.py +0 -0
  174. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/interpolate/__init__.py +0 -0
  175. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/__init__.py +0 -0
  176. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/graph.py +0 -0
  177. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/notes.py +0 -0
  178. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/retrieval.py +0 -0
  179. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/__init__.py +0 -0
  180. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/calculus.py +0 -0
  181. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/linalg.py +0 -0
  182. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/special.py +0 -0
  183. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/svd.py +0 -0
  184. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/__init__.py +0 -0
  185. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/boosting.py +0 -0
  186. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/clustering.py +0 -0
  187. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/decomposition.py +0 -0
  188. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/ensemble.py +0 -0
  189. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/linear_models.py +0 -0
  190. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/metrics.py +0 -0
  191. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/model_selection.py +0 -0
  192. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/naive_bayes.py +0 -0
  193. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/neighbors.py +0 -0
  194. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/neural.py +0 -0
  195. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/preprocessing.py +0 -0
  196. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/tree.py +0 -0
  197. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/voting.py +0 -0
  198. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/__init__.py +0 -0
  199. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/_base.py +0 -0
  200. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/_nodes.py +0 -0
  201. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/expression.py +0 -0
  202. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/fitting.py +0 -0
  203. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/model.py +0 -0
  204. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/solver.py +0 -0
  205. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/montecarlo/__init__.py +0 -0
  206. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/montecarlo/markov.py +0 -0
  207. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/montecarlo/methods.py +0 -0
  208. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/__init__.py +0 -0
  209. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/attention.py +0 -0
  210. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/__init__.py +0 -0
  211. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/_grad.py +0 -0
  212. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/ops.py +0 -0
  213. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/tensor.py +0 -0
  214. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/bpe.py +0 -0
  215. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/data.py +0 -0
  216. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/embed.py +0 -0
  217. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/layers.py +0 -0
  218. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/model.py +0 -0
  219. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/optim.py +0 -0
  220. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/training.py +0 -0
  221. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/viz.py +0 -0
  222. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/numerical_integration/__init__.py +0 -0
  223. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/numerical_integration/quadrature.py +0 -0
  224. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/__init__.py +0 -0
  225. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/_metaheuristics.py +0 -0
  226. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/constrained.py +0 -0
  227. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/minimize.py +0 -0
  228. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/pde/__init__.py +0 -0
  229. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/plot/__init__.py +0 -0
  230. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/plot/_backend.py +0 -0
  231. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/plot/charts.py +0 -0
  232. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/__init__.py +0 -0
  233. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/_advanced.py +0 -0
  234. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/distributions.py +0 -0
  235. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/extra_distributions.py +0 -0
  236. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/provenance/__init__.py +0 -0
  237. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/provenance/manifest.py +0 -0
  238. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/py.typed +0 -0
  239. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/__init__.py +0 -0
  240. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/circuit.py +0 -0
  241. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/multi_qubit.py +0 -0
  242. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/simulator.py +0 -0
  243. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/scientific/__init__.py +0 -0
  244. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/scientific/constants.py +0 -0
  245. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/scientific/formulas.py +0 -0
  246. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/sensitivity.py +0 -0
  247. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/__init__.py +0 -0
  248. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/filters.py +0 -0
  249. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/processing.py +0 -0
  250. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/stft.py +0 -0
  251. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/wavelet.py +0 -0
  252. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/__init__.py +0 -0
  253. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/_distributions.py +0 -0
  254. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/bootstrap.py +0 -0
  255. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/descriptive.py +0 -0
  256. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/hypothesis_tests.py +0 -0
  257. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/multiple_testing.py +0 -0
  258. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/nonparametric.py +0 -0
  259. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/power.py +0 -0
  260. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/regression.py +0 -0
  261. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/time_series.py +0 -0
  262. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/tools/__init__.py +0 -0
  263. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/tools/adapters.py +0 -0
  264. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/tools/registry.py +0 -0
  265. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/uncertainty/__init__.py +0 -0
  266. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/uncertainty/propagation.py +0 -0
  267. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/units/__init__.py +0 -0
  268. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/units/core.py +0 -0
  269. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/__init__.py +0 -0
  270. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/adequacy.py +0 -0
  271. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/checks.py +0 -0
  272. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/drift.py +0 -0
  273. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/report.py +0 -0
  274. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/wavelets/__init__.py +0 -0
  275. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/wavelets/haar.py +0 -0
  276. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/__init__.py +0 -0
  277. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/engine.py +0 -0
  278. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/gates.py +0 -0
  279. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/orchestrator.py +0 -0
  280. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/selection.py +0 -0
  281. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/tooling.py +0 -0
  282. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/types.py +0 -0
  283. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/__init__.py +0 -0
  284. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/conftest.py +0 -0
  285. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_advanced_fitting.py +0 -0
  286. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_completion_coverage.py +0 -0
  287. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_guard_coverage.py +0 -0
  288. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening.py +0 -0
  289. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c1.py +0 -0
  290. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c2.py +0 -0
  291. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c3.py +0 -0
  292. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c4.py +0 -0
  293. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_coverage.py +0 -0
  294. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_h1.py +0 -0
  295. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_bayes_v2.py +0 -0
  296. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_benchmarks.py +0 -0
  297. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_bootstrap.py +0 -0
  298. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_causal.py +0 -0
  299. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli.py +0 -0
  300. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_color.py +0 -0
  301. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_exit_codes.py +0 -0
  302. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_extended.py +0 -0
  303. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_system_info.py +0 -0
  304. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_codemeta_version_lockstep.py +0 -0
  305. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_constrained_opt.py +0 -0
  306. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_core.py +0 -0
  307. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_analysis.py +0 -0
  308. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_analysis_lazy_bridge.py +0 -0
  309. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_analysis_pandas_io.py +0 -0
  310. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_io.py +0 -0
  311. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_io_optional_backends.py +0 -0
  312. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_io_scientific.py +0 -0
  313. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_dataset.py +0 -0
  314. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_dev_numpy_pin_contract.py +0 -0
  315. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_diffeq.py +0 -0
  316. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_diffeq_implicit.py +0 -0
  317. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_domain_validation.py +0 -0
  318. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_misc_numerical.py +0 -0
  319. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_ml_quantum_linalg.py +0 -0
  320. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_nlp.py +0 -0
  321. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_quantum_evaluator_cli.py +0 -0
  322. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_stats_optimization_signals.py +0 -0
  323. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_extra_distributions.py +0 -0
  324. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_fft2.py +0 -0
  325. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_fitting_bootstrap.py +0 -0
  326. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_fractals.py +0 -0
  327. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_genetics.py +0 -0
  328. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_graph.py +0 -0
  329. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hardening_20261023.py +0 -0
  330. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hardening_privacy_provenance.py +0 -0
  331. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis.py +0 -0
  332. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis_engine.py +0 -0
  333. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis_mining.py +0 -0
  334. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis_tests.py +0 -0
  335. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_infotheory.py +0 -0
  336. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_interpolate.py +0 -0
  337. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_knowledge.py +0 -0
  338. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_layering.py +0 -0
  339. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_linalg_extended.py +0 -0
  340. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_linalg_qr_cholesky.py +0 -0
  341. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_markov.py +0 -0
  342. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_math_utils.py +0 -0
  343. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_boosting.py +0 -0
  344. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_clustering.py +0 -0
  345. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_ensemble.py +0 -0
  346. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_knn.py +0 -0
  347. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_linreg.py +0 -0
  348. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_logreg.py +0 -0
  349. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_metrics.py +0 -0
  350. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_model_selection.py +0 -0
  351. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_naive_bayes.py +0 -0
  352. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_pca.py +0 -0
  353. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_preprocessing.py +0 -0
  354. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_tree.py +0 -0
  355. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_viz.py +0 -0
  356. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_voting.py +0 -0
  357. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_modeling.py +0 -0
  358. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_modeling_fit_validation.py +0 -0
  359. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_montecarlo.py +0 -0
  360. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_multi_qubit.py +0 -0
  361. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_attention.py +0 -0
  362. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_autograd.py +0 -0
  363. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_bpe.py +0 -0
  364. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_embed.py +0 -0
  365. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_layers.py +0 -0
  366. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_model.py +0 -0
  367. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_training.py +0 -0
  368. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_viz.py +0 -0
  369. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_numerical_integration.py +0 -0
  370. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_numerical_invariants.py +0 -0
  371. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_numerical_oracles.py +0 -0
  372. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_optimization.py +0 -0
  373. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_optimization_metaheuristics.py +0 -0
  374. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_path_confinement.py +0 -0
  375. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_pde.py +0 -0
  376. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_plot_charts.py +0 -0
  377. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_plot_lazy.py +0 -0
  378. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_power.py +0 -0
  379. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_probability.py +0 -0
  380. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_probability_advanced.py +0 -0
  381. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_property_invariants.py +0 -0
  382. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_protocol_placeholders.py +0 -0
  383. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_provenance.py +0 -0
  384. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_provenance_audit_hardening.py +0 -0
  385. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_provenance_claims.py +0 -0
  386. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_public_api.py +0 -0
  387. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_quantum.py +0 -0
  388. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_readme_badges.py +0 -0
  389. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_readme_surface.py +0 -0
  390. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_release_contract.py +0 -0
  391. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_release_toolchain.py +0 -0
  392. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_retrieval.py +0 -0
  393. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_runtime_dependency_graph.py +0 -0
  394. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_scientific.py +0 -0
  395. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_seed_hygiene.py +0 -0
  396. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_selection_audit_hardening.py +0 -0
  397. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_sensitivity.py +0 -0
  398. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_sensitivity_global.py +0 -0
  399. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_signals.py +0 -0
  400. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_signals_filters.py +0 -0
  401. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_special_invariants.py +0 -0
  402. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_special_numerics.py +0 -0
  403. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_statistical_audit.py +0 -0
  404. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats.py +0 -0
  405. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_audit_coverage.py +0 -0
  406. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_multiple_testing.py +0 -0
  407. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_nonparametric.py +0 -0
  408. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_time_series.py +0 -0
  409. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stft.py +0 -0
  410. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_streaming_analytics.py +0 -0
  411. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_svd.py +0 -0
  412. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_symplectic.py +0 -0
  413. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_tool_adapters.py +0 -0
  414. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_tools_registry.py +0 -0
  415. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_uncertainty.py +0 -0
  416. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_units.py +0 -0
  417. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation.py +0 -0
  418. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_adequacy.py +0 -0
  419. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_advanced.py +0 -0
  420. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_bounds_nonfinite_regression.py +0 -0
  421. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_derived_moments_overflow.py +0 -0
  422. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_derived_tolerance_overflow.py +0 -0
  423. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_drift.py +0 -0
  424. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_nonfinite_thresholds_regression.py +0 -0
  425. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_ood_stable_and_coverage.py +0 -0
  426. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_verify_release_integrity.py +0 -0
  427. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_wavelet.py +0 -0
  428. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_wavelets_v2.py +0 -0
  429. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow.py +0 -0
  430. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_gates.py +0 -0
  431. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_orchestrator.py +0 -0
  432. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_orchestrator_blocked_review.py +0 -0
  433. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_selection.py +0 -0
  434. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_selection_coverage.py +0 -0
  435. {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_tooling.py +0 -0
@@ -45,13 +45,13 @@ jobs:
45
45
  with:
46
46
  persist-credentials: false
47
47
  - name: Initialize CodeQL
48
- uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4
48
+ uses: github/codeql-action/init@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
49
49
  with:
50
50
  languages: ${{ matrix.language }}
51
51
  queries: security-and-quality
52
52
  - name: Autobuild
53
- uses: github/codeql-action/autobuild@24c54180a607b1449ed407dd24f251e4e9147c8d # v4
53
+ uses: github/codeql-action/autobuild@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
54
54
  - name: Perform CodeQL Analysis
55
- uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4
55
+ uses: github/codeql-action/analyze@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
56
56
  with:
57
57
  category: "/language:${{ matrix.language }}"
@@ -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
@@ -109,15 +109,46 @@ jobs:
109
109
  RUN_ID: ${{ github.event.workflow_run.id }}
110
110
  run: |
111
111
  set -euo pipefail
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.
112
120
  data="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}" \
113
- --jq '[.head_sha, .event, .head_branch, .conclusion, .repository.full_name] | @tsv')"
114
- IFS=$'\t' read -r sha event branch conclusion repo <<<"${data}"
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}"
115
123
  echo "head_sha=${sha}" >> "$GITHUB_OUTPUT"
116
- if [ "${event}" != "push" ] || [ "${branch}" != "main" ] || \
117
- [ "${conclusion}" != "success" ] || [ "${repo}" != "${GITHUB_REPOSITORY}" ]; then
118
- echo "::error::Run ${RUN_ID} is not a successful push on ${GITHUB_REPOSITORY} main."
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."
119
135
  exit 1
120
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
121
152
  publish_conclusion="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}/jobs?per_page=100" \
122
153
  --jq '[.jobs[] | select(.name == "Build + verify + publish to PyPI + metadata-only GitHub Release") | .conclusion] | first // "missing"')"
123
154
  echo "Release publish job: ${publish_conclusion}"
@@ -49,12 +49,28 @@ jobs:
49
49
  run: |
50
50
  set -euo pipefail
51
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.
52
60
  data="$(gh api "repos/${GITHUB_REPOSITORY}/actions/runs/${RUN_ID}" \
53
- --jq '[.head_sha, .event, .head_branch, .conclusion, .repository.full_name] | @tsv')"
54
- IFS=$'\t' read -r sha event branch conclusion repo <<<"${data}"
55
- if [ "${event}" != "push" ] || [ "${branch}" != "main" ] || \
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" ] || \
56
72
  [ "${conclusion}" != "success" ] || [ "${repo}" != "${GITHUB_REPOSITORY}" ]; then
57
- echo "::error::Run ${RUN_ID} is not a successful push on ${GITHUB_REPOSITORY} main."
73
+ echo "::error::Run ${RUN_ID} is not a successful Release run on ${GITHUB_REPOSITORY} main."
58
74
  exit 1
59
75
  fi
60
76
  else
@@ -420,7 +420,7 @@ jobs:
420
420
 
421
421
  - name: Publish to PyPI (Trusted Publishing)
422
422
  if: steps.pypi_state.outputs.already_published != 'true'
423
- uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # release/v1
423
+ uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # release/v1
424
424
 
425
425
  - name: Create or verify release tag after successful PyPI state
426
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,17 @@ 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
+
22
33
  ## [v2.2.15] - 2026-10-23
23
34
 
24
35
  ### Dependency security floors
@@ -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.15
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.15
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.15
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
@@ -45,7 +45,7 @@ Requires-Dist: pandas>=2.0; extra == 'all'
45
45
  Requires-Dist: pre-commit; extra == 'all'
46
46
  Requires-Dist: pytest-cov; extra == 'all'
47
47
  Requires-Dist: pytest>=9.0.3; extra == 'all'
48
- Requires-Dist: ruff==0.15.17; 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,7 +63,7 @@ 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
68
  Requires-Dist: mkdocs-material>=9.7.7; extra == 'docs'
69
69
  Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
@@ -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.15
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.15
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.15",
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.15",
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.15"
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"
@@ -40,7 +40,7 @@ all = [
40
40
  "matplotlib>=3.8.0",
41
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",
@@ -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",
@@ -67,7 +67,14 @@ executing==2.2.1
67
67
  # via stack-data
68
68
  fastjsonschema==2.21.2
69
69
  # via nbformat
70
- filelock==3.29.4
70
+ filelock==4.2.4 ; python_version >= "3.11"
71
+ # via
72
+ # python-discovery
73
+ # virtualenv
74
+ # CVE-2026-112940 (GHSA-v4x8-3wr5-3wq8) is fixed only in filelock>=4.2.1, and every
75
+ # fixed release requires Python >=3.11. Python 3.10 therefore keeps the last
76
+ # installable version; filelock is dev-only here (requirements.lock is empty).
77
+ filelock==3.29.4 ; python_version < "3.11"
71
78
  # via
72
79
  # python-discovery
73
80
  # virtualenv
@@ -356,7 +363,7 @@ rpds-py==2026.5.1
356
363
  # via
357
364
  # jsonschema
358
365
  # referencing
359
- ruff==0.15.17
366
+ ruff==0.17.1
360
367
  # via scientific-computing-system (pyproject.toml)
361
368
  send2trash==2.1.0
362
369
  # via jupyter-server
@@ -408,7 +415,7 @@ uri-template==1.3.0
408
415
  # via jsonschema
409
416
  urllib3==2.8.0
410
417
  # via requests
411
- virtualenv==21.14.9
418
+ virtualenv==21.14.13
412
419
  # via pre-commit
413
420
  watchdog==6.0.0
414
421
  # via mkdocs
@@ -5,5 +5,5 @@ from __future__ import annotations
5
5
 
6
6
  __all__ = ["__version__", "version", "__version_tuple__", "version_tuple"]
7
7
 
8
- __version__ = version = "2.2.15"
9
- __version_tuple__ = version_tuple = (2, 2, 14)
8
+ __version__ = version = "2.2.17"
9
+ __version_tuple__ = version_tuple = (2, 2, 17)
@@ -0,0 +1,27 @@
1
+ """Atheris harness for the BPE merge-rule JSON validator."""
2
+
3
+ import json
4
+ import sys
5
+
6
+ import atheris # type: ignore
7
+
8
+ from cds.nlp.bpe import BPEMerge
9
+
10
+
11
+ def TestOneInput(data: bytes) -> None:
12
+ fdp = atheris.FuzzedDataProvider(data)
13
+ document = fdp.ConsumeUnicodeNoSurrogates(4096)
14
+ try:
15
+ record = json.loads(document)
16
+ except json.JSONDecodeError:
17
+ return
18
+ if not isinstance(record, dict):
19
+ return
20
+ try:
21
+ BPEMerge.from_dict(record)
22
+ except (KeyError, ValueError):
23
+ return
24
+
25
+
26
+ atheris.Setup(sys.argv, TestOneInput)
27
+ atheris.Fuzz()