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.
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/codeql.yml +3 -3
- scientific_computing_system-2.2.17/.github/workflows/fuzz.yml +38 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/npm-publish.yml +36 -5
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/pypi-release-policy.yml +20 -4
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/release.yml +1 -1
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/scorecard.yml +1 -1
- scientific_computing_system-2.2.17/.github/workflows/sign-release.yml +170 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/CHANGELOG.md +11 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/CITATION.cff +2 -2
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/PKG-INFO +4 -4
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/README.md +1 -1
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/codemeta.json +1 -1
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/package.json +1 -1
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/pyproject.toml +3 -3
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements-dev.lock +10 -3
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/_version.py +2 -2
- scientific_computing_system-2.2.17/tests/fuzz/fuzz_bpe_merge.py +27 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/benchmarks.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/bot-reviewer.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/changelog.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/cli-package-smoke.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/dependency-review.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/pr-automation.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.github/workflows/tests.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/.gitignore +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/CONTRIBUTING.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/LICENSE +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/SECURITY.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/results.json +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/robust_runner.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/run_benchmarks.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/bin/scs.js +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/dashboard/app.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/ARCHITECTURE.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_HUBBLE.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_QUANTUM_ML.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/api.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/assets/icon.svg +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/assets/logo.svg +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/benchmarks.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/checks/verify_provenance_claims.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/cookbook.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/getting-started.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/index.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/maintenance.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/ml_reference.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/related.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/research-workflows.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/stylesheets/extra.css +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tour_of_numerical_methods.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/core_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/data_analysis_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/diffeq_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/fft2_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/graph_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_tests_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/hypothesis_with_stats_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/knowledge_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/linalg_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/math_utils_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/ml_advanced_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/ml_and_viz_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/ml_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/modeling_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/montecarlo_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_attention_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_bpe_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_mini_gpt_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/nlp_viz.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/numerical_integration_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/optimization_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/pandas_io_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/pca_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/probability_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/quantum_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/quick_start.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/scientific_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/signals_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/stats_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/stiff_ode_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/tutorials/time_series_demo.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/why-pure-python.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/core_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/data_analysis_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/diffeq_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/discovery_pipeline_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/ensemble_showcase.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/fft2_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/graph_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_custom_generator.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_tests_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/hypothesis_with_stats_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/interpolate_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/knowledge_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/linalg_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/math_utils_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/ml_and_viz_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/modeling_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/montecarlo_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_attention_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_bpe_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_mini_gpt_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/nlp_viz_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/numerical_integration_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/optimization_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/pca_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/pde_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/plot_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/plotting_notebook.ipynb +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/probability_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/quantum_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/scientific_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/signals_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/stats_demo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/examples/tour_of_numerical_methods.ipynb +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/index.js +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/mkdocs.yml +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/npm.test.js +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/paper.bib +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/paper.md +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements-build.lock +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements.lock +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/check_release_toolchain.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/check_version_discipline.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/check_version_lockstep.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/publish.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_cli_install.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_cookbook.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_ml_reference.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/scripts/verify_release_integrity.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/__main__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/_paths.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/bayes/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/bayes/conjugate.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/causal.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/__main__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_exit_codes.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_handlers.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_parser.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_style.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/cli/_system_info.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/core/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/core/_numeric.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/core/models.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/dataset.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/loader.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/pandas_io.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/transform.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_analysis/viz.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_io/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_io/scientific.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/data_io/streaming.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/_implicit.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/solvers.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/diffeq/symplectic.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/fractals/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/fractals/sets.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/genetics/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/genetics/sequence.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/graph/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/graph/algorithms.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/evaluator.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/generator.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/hypothesis/mining.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/infotheory/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/infotheory/measures.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/interpolate/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/graph.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/notes.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/knowledge/retrieval.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/calculus.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/linalg.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/special.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/math_utils/svd.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/boosting.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/clustering.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/decomposition.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/ensemble.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/linear_models.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/metrics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/model_selection.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/naive_bayes.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/neighbors.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/neural.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/preprocessing.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/tree.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/ml/voting.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/_base.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/_nodes.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/expression.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/fitting.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/model.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/modeling/solver.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/montecarlo/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/montecarlo/markov.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/montecarlo/methods.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/attention.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/_grad.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/ops.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/autograd/tensor.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/bpe.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/data.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/embed.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/layers.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/model.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/optim.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/training.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/nlp/viz.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/numerical_integration/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/numerical_integration/quadrature.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/_metaheuristics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/constrained.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/optimization/minimize.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/pde/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/plot/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/plot/_backend.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/plot/charts.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/_advanced.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/distributions.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/probability/extra_distributions.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/provenance/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/provenance/manifest.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/py.typed +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/circuit.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/multi_qubit.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/quantum/simulator.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/scientific/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/scientific/constants.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/scientific/formulas.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/sensitivity.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/filters.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/processing.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/stft.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/signals/wavelet.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/_distributions.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/bootstrap.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/descriptive.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/hypothesis_tests.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/multiple_testing.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/nonparametric.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/power.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/regression.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/stats/time_series.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/tools/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/tools/adapters.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/tools/registry.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/uncertainty/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/uncertainty/propagation.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/units/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/units/core.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/adequacy.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/checks.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/drift.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/validation/report.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/wavelets/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/wavelets/haar.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/engine.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/gates.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/orchestrator.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/selection.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/tooling.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/workflow/types.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/__init__.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/conftest.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_advanced_fitting.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_completion_coverage.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_guard_coverage.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c1.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c2.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c3.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_c4.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_coverage.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_audit_hardening_h1.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_bayes_v2.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_benchmarks.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_bootstrap.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_causal.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_color.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_exit_codes.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_extended.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_cli_system_info.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_codemeta_version_lockstep.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_constrained_opt.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_core.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_analysis.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_analysis_lazy_bridge.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_analysis_pandas_io.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_io.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_io_optional_backends.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_data_io_scientific.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_dataset.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_dev_numpy_pin_contract.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_diffeq.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_diffeq_implicit.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_domain_validation.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_misc_numerical.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_ml_quantum_linalg.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_nlp.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_quantum_evaluator_cli.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_edge_stats_optimization_signals.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_extra_distributions.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_fft2.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_fitting_bootstrap.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_fractals.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_genetics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_graph.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hardening_20261023.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hardening_privacy_provenance.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis_engine.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis_mining.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_hypothesis_tests.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_infotheory.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_interpolate.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_knowledge.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_layering.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_linalg_extended.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_linalg_qr_cholesky.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_markov.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_math_utils.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_boosting.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_clustering.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_ensemble.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_knn.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_linreg.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_logreg.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_metrics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_model_selection.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_naive_bayes.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_pca.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_preprocessing.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_tree.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_viz.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_ml_voting.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_modeling.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_modeling_fit_validation.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_montecarlo.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_multi_qubit.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_attention.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_autograd.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_bpe.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_embed.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_layers.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_model.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_training.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_nlp_viz.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_numerical_integration.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_numerical_invariants.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_numerical_oracles.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_optimization.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_optimization_metaheuristics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_path_confinement.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_pde.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_plot_charts.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_plot_lazy.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_power.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_probability.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_probability_advanced.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_property_invariants.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_protocol_placeholders.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_provenance.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_provenance_audit_hardening.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_provenance_claims.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_public_api.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_quantum.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_readme_badges.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_readme_surface.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_release_contract.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_release_toolchain.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_retrieval.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_runtime_dependency_graph.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_scientific.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_seed_hygiene.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_selection_audit_hardening.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_sensitivity.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_sensitivity_global.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_signals.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_signals_filters.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_special_invariants.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_special_numerics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_statistical_audit.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_audit_coverage.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_multiple_testing.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_nonparametric.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stats_time_series.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_stft.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_streaming_analytics.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_svd.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_symplectic.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_tool_adapters.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_tools_registry.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_uncertainty.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_units.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_adequacy.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_advanced.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_bounds_nonfinite_regression.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_derived_moments_overflow.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_derived_tolerance_overflow.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_drift.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_nonfinite_thresholds_regression.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_validation_ood_stable_and_coverage.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_verify_release_integrity.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_wavelet.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_wavelets_v2.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_gates.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_orchestrator.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_orchestrator_blocked_review.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_selection.py +0 -0
- {scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/tests/test_workflow_selection_coverage.py +0 -0
- {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@
|
|
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@
|
|
53
|
+
uses: github/codeql-action/autobuild@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4
|
|
54
54
|
- name: Perform CodeQL Analysis
|
|
55
|
-
uses: github/codeql-action/analyze@
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
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
|
|
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@
|
|
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@
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
280
|
+
System version 2.2.17
|
|
281
281
|
$ cds constants # physical constants table
|
|
282
282
|
```
|
|
283
283
|
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
108
|
+
"ruff==0.17.1",
|
|
109
109
|
"mypy>=1.10",
|
|
110
110
|
"pre-commit",
|
|
111
111
|
"build",
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/requirements-dev.lock
RENAMED
|
@@ -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==
|
|
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.
|
|
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.
|
|
418
|
+
virtualenv==21.14.13
|
|
412
419
|
# via pre-commit
|
|
413
420
|
watchdog==6.0.0
|
|
414
421
|
# via mkdocs
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/src/cds/_version.py
RENAMED
|
@@ -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.
|
|
9
|
-
__version_tuple__ = version_tuple = (2, 2,
|
|
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()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/benchmarks/results.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/ARCHITECTURE.md
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/CASE_STUDY_HUBBLE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/assets/icon.svg
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/assets/logo.svg
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/benchmarks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/getting-started.md
RENAMED
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/maintenance.md
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/ml_reference.md
RENAMED
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/research-workflows.md
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.15 → scientific_computing_system-2.2.17}/docs/stylesheets/extra.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|