scientific-computing-system 2.2.13__tar.gz → 2.2.14__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 (432) hide show
  1. scientific_computing_system-2.2.14/.github/workflows/dependency-review.yml +19 -0
  2. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/pypi-release-policy.yml +28 -4
  3. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/release.yml +4 -1
  4. scientific_computing_system-2.2.14/.github/workflows/scorecard.yml +37 -0
  5. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/tests.yml +3 -1
  6. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/CHANGELOG.md +10 -0
  7. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/CITATION.cff +2 -2
  8. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/PKG-INFO +9 -9
  9. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/README.md +8 -8
  10. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/SECURITY.md +2 -2
  11. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/codemeta.json +1 -1
  12. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/package.json +1 -1
  13. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/pyproject.toml +1 -1
  14. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/_version.py +2 -2
  15. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/diffeq/solvers.py +15 -4
  16. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/math_utils/linalg.py +3 -0
  17. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/optimization/minimize.py +8 -1
  18. scientific_computing_system-2.2.14/tests/test_hardening_20261023.py +40 -0
  19. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_release_contract.py +19 -0
  20. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/benchmarks.yml +0 -0
  21. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/bot-reviewer.yml +0 -0
  22. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/changelog.yml +0 -0
  23. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/cli-package-smoke.yml +0 -0
  24. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/codeql.yml +0 -0
  25. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/npm-publish.yml +0 -0
  26. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.github/workflows/pr-automation.yml +0 -0
  27. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/.gitignore +0 -0
  28. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/CONTRIBUTING.md +0 -0
  29. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/LICENSE +0 -0
  30. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/benchmarks/results.json +0 -0
  31. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/benchmarks/robust_runner.py +0 -0
  32. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/benchmarks/run_benchmarks.py +0 -0
  33. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/bin/scs.js +0 -0
  34. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/dashboard/app.py +0 -0
  35. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/ARCHITECTURE.md +0 -0
  36. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/CASE_STUDY_HUBBLE.md +0 -0
  37. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/CASE_STUDY_QUANTUM_ML.md +0 -0
  38. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/api.md +0 -0
  39. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/assets/icon.svg +0 -0
  40. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/assets/logo.svg +0 -0
  41. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/benchmarks.md +0 -0
  42. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/checks/verify_provenance_claims.py +0 -0
  43. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/cookbook.md +0 -0
  44. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/getting-started.md +0 -0
  45. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/index.md +0 -0
  46. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/maintenance.md +0 -0
  47. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/ml_reference.md +0 -0
  48. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/related.md +0 -0
  49. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/research-workflows.md +0 -0
  50. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/stylesheets/extra.css +0 -0
  51. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tour_of_numerical_methods.md +0 -0
  52. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/core_demo.md +0 -0
  53. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/data_analysis_demo.md +0 -0
  54. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/diffeq_demo.md +0 -0
  55. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/fft2_demo.md +0 -0
  56. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/graph_demo.md +0 -0
  57. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/hypothesis_demo.md +0 -0
  58. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/hypothesis_tests_demo.md +0 -0
  59. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/hypothesis_with_stats_demo.md +0 -0
  60. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/knowledge_demo.md +0 -0
  61. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/linalg_demo.md +0 -0
  62. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/math_utils_demo.md +0 -0
  63. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/ml_advanced_demo.md +0 -0
  64. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/ml_and_viz_demo.md +0 -0
  65. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/ml_demo.md +0 -0
  66. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/modeling_demo.md +0 -0
  67. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/montecarlo_demo.md +0 -0
  68. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/nlp_attention_demo.md +0 -0
  69. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/nlp_bpe_demo.md +0 -0
  70. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/nlp_mini_gpt_demo.md +0 -0
  71. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/nlp_viz.md +0 -0
  72. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/numerical_integration_demo.md +0 -0
  73. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/optimization_demo.md +0 -0
  74. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/pandas_io_demo.md +0 -0
  75. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/pca_demo.md +0 -0
  76. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/probability_demo.md +0 -0
  77. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/quantum_demo.md +0 -0
  78. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/quick_start.md +0 -0
  79. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/scientific_demo.md +0 -0
  80. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/signals_demo.md +0 -0
  81. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/stats_demo.md +0 -0
  82. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/stiff_ode_demo.md +0 -0
  83. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/tutorials/time_series_demo.md +0 -0
  84. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/docs/why-pure-python.md +0 -0
  85. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/core_demo.py +0 -0
  86. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/data_analysis_demo.py +0 -0
  87. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/diffeq_demo.py +0 -0
  88. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/discovery_pipeline_demo.py +0 -0
  89. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/ensemble_showcase.py +0 -0
  90. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/fft2_demo.py +0 -0
  91. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/graph_demo.py +0 -0
  92. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/hypothesis_custom_generator.py +0 -0
  93. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/hypothesis_demo.py +0 -0
  94. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/hypothesis_tests_demo.py +0 -0
  95. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/hypothesis_with_stats_demo.py +0 -0
  96. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/interpolate_demo.py +0 -0
  97. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/knowledge_demo.py +0 -0
  98. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/linalg_demo.py +0 -0
  99. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/math_utils_demo.py +0 -0
  100. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/ml_and_viz_demo.py +0 -0
  101. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/modeling_demo.py +0 -0
  102. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/montecarlo_demo.py +0 -0
  103. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/nlp_attention_demo.py +0 -0
  104. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/nlp_bpe_demo.py +0 -0
  105. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/nlp_mini_gpt_demo.py +0 -0
  106. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/nlp_viz_demo.py +0 -0
  107. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/numerical_integration_demo.py +0 -0
  108. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/optimization_demo.py +0 -0
  109. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/pca_demo.py +0 -0
  110. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/pde_demo.py +0 -0
  111. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/plot_demo.py +0 -0
  112. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/plotting_notebook.ipynb +0 -0
  113. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/probability_demo.py +0 -0
  114. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/quantum_demo.py +0 -0
  115. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/scientific_demo.py +0 -0
  116. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/signals_demo.py +0 -0
  117. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/stats_demo.py +0 -0
  118. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/examples/tour_of_numerical_methods.ipynb +0 -0
  119. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/index.js +0 -0
  120. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/mkdocs.yml +0 -0
  121. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/npm.test.js +0 -0
  122. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/paper.bib +0 -0
  123. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/paper.md +0 -0
  124. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/requirements-build.lock +0 -0
  125. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/requirements-dev.lock +0 -0
  126. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/requirements.lock +0 -0
  127. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/check_release_toolchain.py +0 -0
  128. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/check_version_discipline.py +0 -0
  129. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/check_version_lockstep.py +0 -0
  130. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/publish.py +0 -0
  131. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/verify_cli_install.py +0 -0
  132. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/verify_cookbook.py +0 -0
  133. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/verify_ml_reference.py +0 -0
  134. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/scripts/verify_release_integrity.py +0 -0
  135. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/__init__.py +0 -0
  136. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/__main__.py +0 -0
  137. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/_paths.py +0 -0
  138. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/bayes/__init__.py +0 -0
  139. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/bayes/conjugate.py +0 -0
  140. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/causal.py +0 -0
  141. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/__init__.py +0 -0
  142. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/__main__.py +0 -0
  143. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/_exit_codes.py +0 -0
  144. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/_handlers.py +0 -0
  145. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/_parser.py +0 -0
  146. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/_style.py +0 -0
  147. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/cli/_system_info.py +0 -0
  148. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/core/__init__.py +0 -0
  149. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/core/_numeric.py +0 -0
  150. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/core/models.py +0 -0
  151. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_analysis/__init__.py +0 -0
  152. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_analysis/dataset.py +0 -0
  153. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_analysis/loader.py +0 -0
  154. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_analysis/pandas_io.py +0 -0
  155. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_analysis/transform.py +0 -0
  156. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_analysis/viz.py +0 -0
  157. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_io/__init__.py +0 -0
  158. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_io/scientific.py +0 -0
  159. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/data_io/streaming.py +0 -0
  160. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/diffeq/__init__.py +0 -0
  161. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/diffeq/_implicit.py +0 -0
  162. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/diffeq/symplectic.py +0 -0
  163. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/fractals/__init__.py +0 -0
  164. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/fractals/sets.py +0 -0
  165. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/genetics/__init__.py +0 -0
  166. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/genetics/sequence.py +0 -0
  167. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/graph/__init__.py +0 -0
  168. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/graph/algorithms.py +0 -0
  169. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/hypothesis/__init__.py +0 -0
  170. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/hypothesis/evaluator.py +0 -0
  171. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/hypothesis/generator.py +0 -0
  172. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/hypothesis/mining.py +0 -0
  173. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/infotheory/__init__.py +0 -0
  174. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/infotheory/measures.py +0 -0
  175. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/interpolate/__init__.py +0 -0
  176. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/knowledge/__init__.py +0 -0
  177. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/knowledge/graph.py +0 -0
  178. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/knowledge/notes.py +0 -0
  179. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/knowledge/retrieval.py +0 -0
  180. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/math_utils/__init__.py +0 -0
  181. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/math_utils/calculus.py +0 -0
  182. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/math_utils/special.py +0 -0
  183. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/math_utils/svd.py +0 -0
  184. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/__init__.py +0 -0
  185. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/boosting.py +0 -0
  186. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/clustering.py +0 -0
  187. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/decomposition.py +0 -0
  188. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/ensemble.py +0 -0
  189. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/linear_models.py +0 -0
  190. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/metrics.py +0 -0
  191. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/model_selection.py +0 -0
  192. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/naive_bayes.py +0 -0
  193. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/neighbors.py +0 -0
  194. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/neural.py +0 -0
  195. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/preprocessing.py +0 -0
  196. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/tree.py +0 -0
  197. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/ml/voting.py +0 -0
  198. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/__init__.py +0 -0
  199. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/_base.py +0 -0
  200. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/_nodes.py +0 -0
  201. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/expression.py +0 -0
  202. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/fitting.py +0 -0
  203. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/model.py +0 -0
  204. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/modeling/solver.py +0 -0
  205. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/montecarlo/__init__.py +0 -0
  206. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/montecarlo/markov.py +0 -0
  207. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/montecarlo/methods.py +0 -0
  208. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/__init__.py +0 -0
  209. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/attention.py +0 -0
  210. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/autograd/__init__.py +0 -0
  211. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/autograd/_grad.py +0 -0
  212. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/autograd/ops.py +0 -0
  213. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/autograd/tensor.py +0 -0
  214. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/bpe.py +0 -0
  215. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/data.py +0 -0
  216. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/embed.py +0 -0
  217. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/layers.py +0 -0
  218. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/model.py +0 -0
  219. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/optim.py +0 -0
  220. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/training.py +0 -0
  221. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/nlp/viz.py +0 -0
  222. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/numerical_integration/__init__.py +0 -0
  223. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/numerical_integration/quadrature.py +0 -0
  224. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/optimization/__init__.py +0 -0
  225. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/optimization/_metaheuristics.py +0 -0
  226. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/optimization/constrained.py +0 -0
  227. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/pde/__init__.py +0 -0
  228. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/plot/__init__.py +0 -0
  229. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/plot/_backend.py +0 -0
  230. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/plot/charts.py +0 -0
  231. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/probability/__init__.py +0 -0
  232. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/probability/_advanced.py +0 -0
  233. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/probability/distributions.py +0 -0
  234. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/probability/extra_distributions.py +0 -0
  235. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/provenance/__init__.py +0 -0
  236. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/provenance/manifest.py +0 -0
  237. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/py.typed +0 -0
  238. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/quantum/__init__.py +0 -0
  239. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/quantum/circuit.py +0 -0
  240. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/quantum/multi_qubit.py +0 -0
  241. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/quantum/simulator.py +0 -0
  242. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/scientific/__init__.py +0 -0
  243. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/scientific/constants.py +0 -0
  244. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/scientific/formulas.py +0 -0
  245. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/sensitivity.py +0 -0
  246. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/signals/__init__.py +0 -0
  247. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/signals/filters.py +0 -0
  248. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/signals/processing.py +0 -0
  249. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/signals/stft.py +0 -0
  250. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/signals/wavelet.py +0 -0
  251. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/__init__.py +0 -0
  252. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/_distributions.py +0 -0
  253. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/bootstrap.py +0 -0
  254. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/descriptive.py +0 -0
  255. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/hypothesis_tests.py +0 -0
  256. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/multiple_testing.py +0 -0
  257. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/nonparametric.py +0 -0
  258. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/power.py +0 -0
  259. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/regression.py +0 -0
  260. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/stats/time_series.py +0 -0
  261. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/tools/__init__.py +0 -0
  262. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/tools/adapters.py +0 -0
  263. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/tools/registry.py +0 -0
  264. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/uncertainty/__init__.py +0 -0
  265. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/uncertainty/propagation.py +0 -0
  266. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/units/__init__.py +0 -0
  267. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/units/core.py +0 -0
  268. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/validation/__init__.py +0 -0
  269. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/validation/adequacy.py +0 -0
  270. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/validation/checks.py +0 -0
  271. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/validation/drift.py +0 -0
  272. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/validation/report.py +0 -0
  273. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/wavelets/__init__.py +0 -0
  274. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/wavelets/haar.py +0 -0
  275. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/__init__.py +0 -0
  276. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/engine.py +0 -0
  277. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/gates.py +0 -0
  278. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/orchestrator.py +0 -0
  279. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/selection.py +0 -0
  280. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/tooling.py +0 -0
  281. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/src/cds/workflow/types.py +0 -0
  282. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/__init__.py +0 -0
  283. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/conftest.py +0 -0
  284. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_advanced_fitting.py +0 -0
  285. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_completion_coverage.py +0 -0
  286. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_guard_coverage.py +0 -0
  287. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening.py +0 -0
  288. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening_c1.py +0 -0
  289. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening_c2.py +0 -0
  290. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening_c3.py +0 -0
  291. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening_c4.py +0 -0
  292. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening_coverage.py +0 -0
  293. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_audit_hardening_h1.py +0 -0
  294. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_bayes_v2.py +0 -0
  295. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_benchmarks.py +0 -0
  296. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_bootstrap.py +0 -0
  297. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_causal.py +0 -0
  298. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_cli.py +0 -0
  299. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_cli_color.py +0 -0
  300. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_cli_exit_codes.py +0 -0
  301. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_cli_extended.py +0 -0
  302. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_cli_system_info.py +0 -0
  303. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_codemeta_version_lockstep.py +0 -0
  304. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_constrained_opt.py +0 -0
  305. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_core.py +0 -0
  306. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_data_analysis.py +0 -0
  307. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_data_analysis_lazy_bridge.py +0 -0
  308. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_data_analysis_pandas_io.py +0 -0
  309. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_data_io.py +0 -0
  310. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_data_io_optional_backends.py +0 -0
  311. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_data_io_scientific.py +0 -0
  312. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_dataset.py +0 -0
  313. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_dev_numpy_pin_contract.py +0 -0
  314. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_diffeq.py +0 -0
  315. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_diffeq_implicit.py +0 -0
  316. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_domain_validation.py +0 -0
  317. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_edge_misc_numerical.py +0 -0
  318. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_edge_ml_quantum_linalg.py +0 -0
  319. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_edge_nlp.py +0 -0
  320. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_edge_quantum_evaluator_cli.py +0 -0
  321. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_edge_stats_optimization_signals.py +0 -0
  322. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_extra_distributions.py +0 -0
  323. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_fft2.py +0 -0
  324. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_fitting_bootstrap.py +0 -0
  325. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_fractals.py +0 -0
  326. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_genetics.py +0 -0
  327. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_graph.py +0 -0
  328. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_hardening_privacy_provenance.py +0 -0
  329. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_hypothesis.py +0 -0
  330. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_hypothesis_engine.py +0 -0
  331. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_hypothesis_mining.py +0 -0
  332. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_hypothesis_tests.py +0 -0
  333. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_infotheory.py +0 -0
  334. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_interpolate.py +0 -0
  335. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_knowledge.py +0 -0
  336. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_layering.py +0 -0
  337. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_linalg_extended.py +0 -0
  338. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_linalg_qr_cholesky.py +0 -0
  339. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_markov.py +0 -0
  340. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_math_utils.py +0 -0
  341. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_boosting.py +0 -0
  342. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_clustering.py +0 -0
  343. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_ensemble.py +0 -0
  344. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_knn.py +0 -0
  345. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_linreg.py +0 -0
  346. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_logreg.py +0 -0
  347. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_metrics.py +0 -0
  348. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_model_selection.py +0 -0
  349. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_naive_bayes.py +0 -0
  350. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_pca.py +0 -0
  351. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_preprocessing.py +0 -0
  352. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_tree.py +0 -0
  353. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_viz.py +0 -0
  354. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_ml_voting.py +0 -0
  355. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_modeling.py +0 -0
  356. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_modeling_fit_validation.py +0 -0
  357. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_montecarlo.py +0 -0
  358. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_multi_qubit.py +0 -0
  359. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_attention.py +0 -0
  360. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_autograd.py +0 -0
  361. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_bpe.py +0 -0
  362. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_embed.py +0 -0
  363. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_layers.py +0 -0
  364. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_model.py +0 -0
  365. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_training.py +0 -0
  366. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_nlp_viz.py +0 -0
  367. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_numerical_integration.py +0 -0
  368. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_numerical_invariants.py +0 -0
  369. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_numerical_oracles.py +0 -0
  370. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_optimization.py +0 -0
  371. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_optimization_metaheuristics.py +0 -0
  372. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_path_confinement.py +0 -0
  373. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_pde.py +0 -0
  374. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_plot_charts.py +0 -0
  375. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_plot_lazy.py +0 -0
  376. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_power.py +0 -0
  377. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_probability.py +0 -0
  378. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_probability_advanced.py +0 -0
  379. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_property_invariants.py +0 -0
  380. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_protocol_placeholders.py +0 -0
  381. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_provenance.py +0 -0
  382. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_provenance_audit_hardening.py +0 -0
  383. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_provenance_claims.py +0 -0
  384. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_public_api.py +0 -0
  385. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_quantum.py +0 -0
  386. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_readme_badges.py +0 -0
  387. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_readme_surface.py +0 -0
  388. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_release_toolchain.py +0 -0
  389. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_retrieval.py +0 -0
  390. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_runtime_dependency_graph.py +0 -0
  391. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_scientific.py +0 -0
  392. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_seed_hygiene.py +0 -0
  393. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_selection_audit_hardening.py +0 -0
  394. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_sensitivity.py +0 -0
  395. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_sensitivity_global.py +0 -0
  396. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_signals.py +0 -0
  397. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_signals_filters.py +0 -0
  398. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_special_invariants.py +0 -0
  399. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_special_numerics.py +0 -0
  400. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_statistical_audit.py +0 -0
  401. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_stats.py +0 -0
  402. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_stats_audit_coverage.py +0 -0
  403. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_stats_multiple_testing.py +0 -0
  404. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_stats_nonparametric.py +0 -0
  405. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_stats_time_series.py +0 -0
  406. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_stft.py +0 -0
  407. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_streaming_analytics.py +0 -0
  408. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_svd.py +0 -0
  409. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_symplectic.py +0 -0
  410. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_tool_adapters.py +0 -0
  411. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_tools_registry.py +0 -0
  412. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_uncertainty.py +0 -0
  413. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_units.py +0 -0
  414. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation.py +0 -0
  415. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_adequacy.py +0 -0
  416. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_advanced.py +0 -0
  417. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_bounds_nonfinite_regression.py +0 -0
  418. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_derived_moments_overflow.py +0 -0
  419. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_derived_tolerance_overflow.py +0 -0
  420. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_drift.py +0 -0
  421. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_nonfinite_thresholds_regression.py +0 -0
  422. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_validation_ood_stable_and_coverage.py +0 -0
  423. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_verify_release_integrity.py +0 -0
  424. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_wavelet.py +0 -0
  425. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_wavelets_v2.py +0 -0
  426. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow.py +0 -0
  427. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow_gates.py +0 -0
  428. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow_orchestrator.py +0 -0
  429. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow_orchestrator_blocked_review.py +0 -0
  430. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow_selection.py +0 -0
  431. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow_selection_coverage.py +0 -0
  432. {scientific_computing_system-2.2.13 → scientific_computing_system-2.2.14}/tests/test_workflow_tooling.py +0 -0
@@ -0,0 +1,19 @@
1
+ name: Dependency review
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: read
9
+ pull-requests: write
10
+
11
+ jobs:
12
+ dependency-review:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
16
+ - uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
17
+ with:
18
+ fail-on-severity: high
19
+ comment-summary-in-pr: on-failure
@@ -64,18 +64,41 @@ jobs:
64
64
  echo "version=$version" >> "$GITHUB_OUTPUT"
65
65
  echo "tag=v$version" >> "$GITHUB_OUTPUT"
66
66
 
67
+ # The policy check also runs on a push that touches the release
68
+ # workflow, which can land before the version has been released (the
69
+ # 2.2.13 merge did exactly that). A missing release is not a policy
70
+ # violation: there is nothing to check yet, and the workflow_run trigger
71
+ # re-runs this job after the Release workflow creates it.
72
+ - name: Resolve matching GitHub Release
73
+ id: release_state
74
+ env:
75
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
76
+ RELEASE_TAG: ${{ steps.release.outputs.tag }}
77
+ shell: bash
78
+ run: |
79
+ set -euo pipefail
80
+ if release_id="$(gh api "repos/$GITHUB_REPOSITORY/releases/tags/$RELEASE_TAG" --jq '.id' 2>&1)"; then
81
+ echo "exists=true" >> "$GITHUB_OUTPUT"
82
+ echo "release_id=$release_id" >> "$GITHUB_OUTPUT"
83
+ elif grep -q "HTTP 404" <<<"$release_id"; then
84
+ echo "exists=false" >> "$GITHUB_OUTPUT"
85
+ echo "GitHub Release $RELEASE_TAG does not exist yet; nothing to enforce."
86
+ else
87
+ echo "::error::Could not resolve GitHub Release $RELEASE_TAG: $release_id"
88
+ exit 1
89
+ fi
90
+
67
91
  - name: Remove forbidden wheel and sdist assets from matching GitHub Release
92
+ if: steps.release_state.outputs.exists == 'true'
68
93
  env:
69
94
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70
95
  RELEASE_TAG: ${{ steps.release.outputs.tag }}
96
+ RELEASE_ID: ${{ steps.release_state.outputs.release_id }}
71
97
  shell: bash
72
98
  run: |
73
99
  set -euo pipefail
74
- release_id="$(
75
- gh api "repos/$GITHUB_REPOSITORY/releases/tags/$RELEASE_TAG" --jq '.id'
76
- )"
77
100
  asset_ids="$(
78
- gh api --paginate "repos/$GITHUB_REPOSITORY/releases/$release_id/assets" \
101
+ gh api --paginate "repos/$GITHUB_REPOSITORY/releases/$RELEASE_ID/assets" \
79
102
  --jq '.[] | select((.name | endswith(".whl")) or (.name | endswith(".tar.gz"))) | .id'
80
103
  )"
81
104
  if [ -z "$asset_ids" ]; then
@@ -88,6 +111,7 @@ jobs:
88
111
  fi
89
112
 
90
113
  - name: Verify public PyPI and asset-free GitHub Release policy
114
+ if: steps.release_state.outputs.exists == 'true'
91
115
  env:
92
116
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
93
117
  RELEASE_VERSION: ${{ steps.release.outputs.version }}
@@ -167,7 +167,10 @@ jobs:
167
167
  previous_tag="$tag"
168
168
  break
169
169
  fi
170
- done < <(git tag --merged HEAD --sort=-creatordate --list 'v*')
170
+ # Sort by version, not tag creation date: tags backfilled for older
171
+ # versions are created later, so -creatordate would pick e.g. v2.2.6
172
+ # as the base for v2.2.13 and weaken the version-discipline diff.
173
+ done < <(git tag --merged HEAD --sort=-v:refname --list 'v*')
171
174
  if [ -n "$previous_tag" ]; then
172
175
  base="$(git rev-list -n 1 "$previous_tag")"
173
176
  echo "Previous release: $previous_tag ($base)"
@@ -0,0 +1,37 @@
1
+ name: OpenSSF Scorecard
2
+
3
+ on:
4
+ branch_protection_rule:
5
+ schedule:
6
+ - cron: "30 1 * * 6"
7
+ push:
8
+ branches: [main]
9
+
10
+ permissions: read-all
11
+
12
+ jobs:
13
+ analysis:
14
+ name: Scorecard analysis
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ security-events: write
18
+ id-token: write
19
+ contents: read
20
+ actions: read
21
+ steps:
22
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
23
+ with:
24
+ persist-credentials: false
25
+ - uses: ossf/scorecard-action@fa7117db83c52d787ae5a89f350999701505d78e # v2.5.0
26
+ with:
27
+ results_file: results.sarif
28
+ results_format: sarif
29
+ publish_results: true
30
+ - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
31
+ with:
32
+ name: scorecard-sarif
33
+ path: results.sarif
34
+ retention-days: 5
35
+ - uses: github/codeql-action/upload-sarif@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
36
+ with:
37
+ sarif_file: results.sarif
@@ -13,7 +13,9 @@ on:
13
13
  - 'CONTRIBUTING.md'
14
14
  - 'LICENSE'
15
15
  - 'SECURITY.md'
16
- - 'docs/**'
16
+ # No 'docs/**' here: deploy-docs runs inside this workflow on main
17
+ # pushes, so ignoring docs-only pushes meant documentation changes
18
+ # merged to main were never deployed.
17
19
  pull_request:
18
20
  branches: [main]
19
21
 
@@ -19,6 +19,16 @@ 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.14] - 2026-10-23
23
+
24
+ ### Input validation and supply-chain transparency
25
+
26
+ - Reject non-square and non-rectangular matrices in `determinant` with a normalised `ValueError` instead of leaking an index error from the elimination loop.
27
+ - Report a vanishing Newton gradient as `converged=False` instead of silently returning success.
28
+ - Require every ODE right-hand-side derivative to match the initial-state length, and report the expected and actual lengths instead of letting an implicit broadcast hide the bug.
29
+ - Add Dependabot, OpenSSF Scorecard and dependency review workflows with SHA-pinned actions, and add a citation file so tooling can resolve package metadata.
30
+ - Bump synchronized package metadata to 2.2.14 as required by the version-discipline gate for `src/cds/` changes.
31
+
22
32
  ## [v2.2.13] - 2026-10-21
23
33
 
24
34
  ### Release packaging, CI and documentation accuracy
@@ -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.13
8
+ version: 2.2.14
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.13
53
+ version: 2.2.14
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.13
3
+ Version: 2.2.14
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
@@ -145,21 +145,21 @@ The import name is **`cds`** (the distribution is `scientific-computing-system`)
145
145
  | **PyPI** (the library) | `pip install scientific-computing-system` | The actual Python package. Zero runtime dependencies. This is what you want. |
146
146
  | **npm** (a launcher shim) | `npm i -g scientific-computing-system` | A thin Node wrapper that runs `python -m cds`. It ships no Python and needs the Python distribution installed so that `python -m cds` resolves. |
147
147
 
148
- At the time of writing (2026-10-22), both registries' latest versions are 2.2.12,
148
+ At the time of writing (2026-10-22), both registries' latest versions are 2.2.13,
149
149
  but they are not published in lockstep and are **not** equally verifiable:
150
150
 
151
151
  - **PyPI** — carries a **PEP 740 provenance attestation** (Sigstore-signed,
152
152
  binding the file digest to the publishing workflow). Verified on 2.2.3,
153
- 2.2.4, 2.2.5, 2.2.6, 2.2.8, 2.2.11 and 2.2.12. The 2.2.7 wheel and sdist
154
- return 404 from the per-file provenance endpoint, so "every release since
155
- attestations were enabled" would be false.
153
+ 2.2.4, 2.2.5, 2.2.6, 2.2.8, 2.2.11, 2.2.12 and 2.2.13. The 2.2.7 wheel and
154
+ sdist return 404 from the per-file provenance endpoint, so "every release
155
+ since attestations were enabled" would be false.
156
156
  - **npm** — carries a **Sigstore attestation as of 2.2.3**, minted by npm's
157
157
  OIDC trusted publisher (the registry serves both an npm publish attestation
158
158
  and a SLSA provenance v1 bundle for that tarball). 1.0.0 through 2.2.2
159
159
  predate the publisher registration and have none, so pin 2.2.3 or newer. npm
160
160
  has no 2.2.7, 2.2.8 or 2.2.11 at all: its 2.2.x line is 2.2.0 through 2.2.6
161
- plus 2.2.12, which is how the latest versions can match while the histories
162
- do not. npm also exposes `dist.integrity` (sha512), which is a content pin,
161
+ plus 2.2.12 and 2.2.13, which is how the latest versions can match while the
162
+ histories do not. npm also exposes `dist.integrity` (sha512), which is a content pin,
163
163
  not proof of origin, and `dist.signatures`, which is npm's registry transport
164
164
  signature, not build provenance.
165
165
 
@@ -211,7 +211,7 @@ The authoritative per-module list is the [API reference](https://furox-art.githu
211
211
 
212
212
  ### Runnable examples and the dashboard
213
213
 
214
- - **[`examples/`](examples/)** — 35 runnable scripts and notebooks (33 `.py`, 2
214
+ - **[`examples/`](examples/)** — 34 runnable scripts and notebooks (32 `.py`, 2
215
215
  `.ipynb`), each self-contained and dependency-free unless noted. Every tutorial
216
216
  page in the docs has a matching example.
217
217
  - **[`dashboard/app.py`](dashboard/app.py)** — a Streamlit dashboard:
@@ -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.13
280
+ System version 2.2.14
281
281
  $ cds constants # physical constants table
282
282
  ```
283
283
 
@@ -49,21 +49,21 @@ The import name is **`cds`** (the distribution is `scientific-computing-system`)
49
49
  | **PyPI** (the library) | `pip install scientific-computing-system` | The actual Python package. Zero runtime dependencies. This is what you want. |
50
50
  | **npm** (a launcher shim) | `npm i -g scientific-computing-system` | A thin Node wrapper that runs `python -m cds`. It ships no Python and needs the Python distribution installed so that `python -m cds` resolves. |
51
51
 
52
- At the time of writing (2026-10-22), both registries' latest versions are 2.2.12,
52
+ At the time of writing (2026-10-22), both registries' latest versions are 2.2.13,
53
53
  but they are not published in lockstep and are **not** equally verifiable:
54
54
 
55
55
  - **PyPI** — carries a **PEP 740 provenance attestation** (Sigstore-signed,
56
56
  binding the file digest to the publishing workflow). Verified on 2.2.3,
57
- 2.2.4, 2.2.5, 2.2.6, 2.2.8, 2.2.11 and 2.2.12. The 2.2.7 wheel and sdist
58
- return 404 from the per-file provenance endpoint, so "every release since
59
- attestations were enabled" would be false.
57
+ 2.2.4, 2.2.5, 2.2.6, 2.2.8, 2.2.11, 2.2.12 and 2.2.13. The 2.2.7 wheel and
58
+ sdist return 404 from the per-file provenance endpoint, so "every release
59
+ since attestations were enabled" would be false.
60
60
  - **npm** — carries a **Sigstore attestation as of 2.2.3**, minted by npm's
61
61
  OIDC trusted publisher (the registry serves both an npm publish attestation
62
62
  and a SLSA provenance v1 bundle for that tarball). 1.0.0 through 2.2.2
63
63
  predate the publisher registration and have none, so pin 2.2.3 or newer. npm
64
64
  has no 2.2.7, 2.2.8 or 2.2.11 at all: its 2.2.x line is 2.2.0 through 2.2.6
65
- plus 2.2.12, which is how the latest versions can match while the histories
66
- do not. npm also exposes `dist.integrity` (sha512), which is a content pin,
65
+ plus 2.2.12 and 2.2.13, which is how the latest versions can match while the
66
+ histories do not. npm also exposes `dist.integrity` (sha512), which is a content pin,
67
67
  not proof of origin, and `dist.signatures`, which is npm's registry transport
68
68
  signature, not build provenance.
69
69
 
@@ -115,7 +115,7 @@ The authoritative per-module list is the [API reference](https://furox-art.githu
115
115
 
116
116
  ### Runnable examples and the dashboard
117
117
 
118
- - **[`examples/`](examples/)** — 35 runnable scripts and notebooks (33 `.py`, 2
118
+ - **[`examples/`](examples/)** — 34 runnable scripts and notebooks (32 `.py`, 2
119
119
  `.ipynb`), each self-contained and dependency-free unless noted. Every tutorial
120
120
  page in the docs has a matching example.
121
121
  - **[`dashboard/app.py`](dashboard/app.py)** — a Streamlit dashboard:
@@ -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.13
184
+ System version 2.2.14
185
185
  $ cds constants # physical constants table
186
186
  ```
187
187
 
@@ -128,7 +128,7 @@ repository's publish workflows mints an attestation on each channel:
128
128
  - **PyPI** — Trusted Publisher: owner `Furox-Art`, repository
129
129
  `scientific-computing-system`, workflow `release.yml`, environment `pypi`.
130
130
  Exercised since 2.2.1. The per-file provenance endpoint returned 200 for the
131
- published files of 2.2.1–2.2.6, 2.2.8, 2.2.11 and 2.2.12 on 2026-10-22;
131
+ published files of 2.2.1–2.2.6, 2.2.8, 2.2.11, 2.2.12 and 2.2.13 on 2026-10-22;
132
132
  2.2.7 returns 404 for both its wheel and sdist.
133
133
  - **npm** — Trusted Publisher: owner `Furox-Art`, repository
134
134
  `scientific-computing-system`, workflow `npm-publish.yml`, environment `npm`.
@@ -191,7 +191,7 @@ In particular, `sympy_verify_identity()` passes caller-provided symbolic strings
191
191
 
192
192
  1. **Pin the package version** in reproducible environments, for example `pip install "scientific-computing-system==X.Y.Z"` with the exact release you have evaluated, rather than an unconstrained range. Deliberately no concrete version is written here: a pinned example goes stale at the next release and readers copy it regardless, so take the number from the [release notes](https://github.com/Furox-Art/scientific-computing-system/releases) for the release you are deploying, and record it in your own lockfile or constraints file.
193
193
  2. **Install only the optional extras you need.** Fewer third-party packages reduce supply-chain and compatibility surface.
194
- 3. **Verify provenance for high-assurance use.** For PyPI, fetch the PEP 740 bundle from `/integrity/<project>/<version>/<filename>/provenance` and confirm its `subject` digest equals the `sha256` PyPI publishes for that file. There is currently **no** attestation for the npm package; its `dist.integrity` is an integrity pin, not provenance. See [Distribution channels and provenance](#distribution-channels-and-provenance).
194
+ 3. **Verify provenance for high-assurance use.** For PyPI, fetch the PEP 740 bundle from `/integrity/<project>/<version>/<filename>/provenance` and confirm its `subject` digest equals the `sha256` PyPI publishes for that file. npm publishes are attested from `2.2.3` onward; for versions without an attestation, `dist.integrity` is an integrity pin, not provenance. See [Distribution channels and provenance](#distribution-channels-and-provenance).
195
195
  4. **Treat optional backend inputs as backend inputs.** Do not pass hostile symbolic expressions or untrusted scientific files without the validation/sandboxing appropriate to SymPy, HDF5, NetCDF, or the relevant backend.
196
196
  5. **Keep the environment current.** Review dependency updates and run vulnerability auditing against the exact environment deployed.
197
197
  6. **Do not use the library as the sole validation layer for safety-critical conclusions.** Independent domain validation remains necessary.
@@ -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.13",
5
+ "version": "2.2.14",
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.13",
3
+ "version": "2.2.14",
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.13"
5
+ version = "2.2.14"
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"
@@ -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.13"
9
- __version_tuple__ = version_tuple = (2, 2, 13)
8
+ __version__ = version = "2.2.14"
9
+ __version_tuple__ = version_tuple = (2, 2, 14)
@@ -267,6 +267,17 @@ def rk45(
267
267
  return ODESolution(t=t_vals, y=y_vals, method="rk45", steps=steps)
268
268
 
269
269
 
270
+ def _checked_derivative(
271
+ f: Callable[[float, list[float]], list[float]], t: float, y: list[float], n: int
272
+ ) -> list[float]:
273
+ dy = f(t, y)
274
+ if len(dy) != n:
275
+ raise ValueError(
276
+ f"ODE right-hand side returned {len(dy)} derivative(s) for a state of length {n}"
277
+ )
278
+ return dy
279
+
280
+
270
281
  def solve_system(
271
282
  f: Callable[[float, list[float]], list[float]],
272
283
  t0: float,
@@ -296,13 +307,13 @@ def solve_system(
296
307
  while (t_end - t) * direction > LOOP_EPSILON:
297
308
  h = direction * min(dt, abs(t_end - t))
298
309
 
299
- k1 = f(t, y)
310
+ k1 = _checked_derivative(f, t, y, n)
300
311
  y_tmp = [y[i] + h * k1[i] / 2 for i in range(n)]
301
- k2 = f(t + h / 2, y_tmp)
312
+ k2 = _checked_derivative(f, t + h / 2, y_tmp, n)
302
313
  y_tmp = [y[i] + h * k2[i] / 2 for i in range(n)]
303
- k3 = f(t + h / 2, y_tmp)
314
+ k3 = _checked_derivative(f, t + h / 2, y_tmp, n)
304
315
  y_tmp = [y[i] + h * k3[i] for i in range(n)]
305
- k4 = f(t + h, y_tmp)
316
+ k4 = _checked_derivative(f, t + h, y_tmp, n)
306
317
 
307
318
  y = [y[i] + (h / 6) * (k1[i] + 2 * k2[i] + 2 * k3[i] + k4[i]) for i in range(n)]
308
319
  t = t + h
@@ -120,6 +120,9 @@ def determinant(m: Matrix) -> float:
120
120
  n = len(m)
121
121
  if n == 0:
122
122
  return 1.0
123
+ rows, cols = _require_rectangular(m, "matrix")
124
+ if rows != cols:
125
+ raise ValueError(f"determinant requires a square matrix (got {rows}x{cols})")
123
126
  if n == 1:
124
127
  return m[0][0]
125
128
 
@@ -226,7 +226,12 @@ def newton_method(
226
226
  dfx = _compute_gradient(f, x, h_base)
227
227
 
228
228
  if abs(dfx) < NEAR_ZERO:
229
- break
229
+ return OptResult(
230
+ x=x,
231
+ value=f(x),
232
+ iterations=i,
233
+ converged=False,
234
+ )
230
235
  x -= fx / dfx
231
236
  return OptResult(
232
237
  x=x,
@@ -401,6 +406,8 @@ def line_search(
401
406
  max_iter: iteration limit
402
407
  """
403
408
  phi = (math.sqrt(5) - 1) / 2
409
+ if a > b:
410
+ raise ValueError(f"line_search requires a <= b (got a={a}, b={b})")
404
411
  for i in range(max_iter):
405
412
  if abs(b - a) < tol:
406
413
  mid = (a + b) / 2
@@ -0,0 +1,40 @@
1
+ """Regressions for shape/iteration/length validation in numerical primitives."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import pytest
6
+
7
+ from cds.diffeq.solvers import solve_system
8
+ from cds.math_utils.linalg import determinant
9
+ from cds.optimization.minimize import line_search, newton_method
10
+
11
+
12
+ def test_determinant_rejects_rectangular_matrix() -> None:
13
+ with pytest.raises(ValueError, match="square"):
14
+ determinant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
15
+
16
+
17
+ def test_determinant_rejects_ragged_matrix() -> None:
18
+ with pytest.raises(ValueError, match="ragged"):
19
+ determinant([[1.0, 2.0], [3.0]])
20
+
21
+
22
+ def test_newton_reports_actual_iterations_when_derivative_vanishes() -> None:
23
+ result = newton_method(lambda x: 1.0, 0.0, max_iter=500)
24
+ assert result.converged is False
25
+ assert result.iterations == 0
26
+
27
+
28
+ def test_line_search_rejects_inverted_bounds() -> None:
29
+ with pytest.raises(ValueError, match="a <= b"):
30
+ line_search(lambda x: x * x, 1.0, 0.0)
31
+
32
+
33
+ def test_solve_system_rejects_short_derivative() -> None:
34
+ with pytest.raises(ValueError, match="state of length 2"):
35
+ solve_system(lambda t, y: [1.0], 0.0, [0.0, 0.0], 1.0, dt=0.5)
36
+
37
+
38
+ def test_solve_system_rejects_long_derivative() -> None:
39
+ with pytest.raises(ValueError, match="state of length 1"):
40
+ solve_system(lambda t, y: [1.0, 2.0], 0.0, [0.0], 1.0, dt=0.5)
@@ -131,6 +131,15 @@ def test_release_workflow_rechecks_version_discipline_before_build() -> None:
131
131
  assert "scripts/check_version_discipline.py" in release
132
132
 
133
133
 
134
+ def test_previous_release_tag_is_selected_by_version_not_creation_date() -> None:
135
+ release = _text(RELEASE_WORKFLOW)
136
+ assert "--sort=-v:refname" in release, (
137
+ "the previous release must be the highest reachable version tag; "
138
+ "backfilled tags sort as newest by creatordate"
139
+ )
140
+ assert "--sort=-creatordate" not in release
141
+
142
+
134
143
  def test_current_public_version_metadata_is_synchronized() -> None:
135
144
  match = re.search(
136
145
  r'^version\s*=\s*["\']([^"\']+)["\']',
@@ -243,6 +252,16 @@ def test_release_policy_never_downloads_released_distributions() -> None:
243
252
  assert "verify_release_integrity.py" in policy
244
253
 
245
254
 
255
+ def test_release_policy_noops_when_the_release_does_not_exist_yet() -> None:
256
+ policy = _text(REGISTRY_WORKFLOW)
257
+ # A push that touches the release workflow can land before the version is
258
+ # released. The policy job must treat that as "nothing to enforce" instead
259
+ # of failing on the 404, and must still run once the release exists.
260
+ assert "Resolve matching GitHub Release" in policy
261
+ assert "exists=false" in policy
262
+ assert policy.count("steps.release_state.outputs.exists == 'true'") == 2
263
+
264
+
246
265
  def test_release_policy_removes_forbidden_distribution_assets() -> None:
247
266
  registry = _text(REGISTRY_WORKFLOW)
248
267
  assert "Remove forbidden wheel and sdist assets from matching GitHub Release" in registry