scientific-computing-system 2.2.8__tar.gz → 2.2.11__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.8 → scientific_computing_system-2.2.11}/CHANGELOG.md +24 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/CITATION.cff +2 -2
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/PKG-INFO +1 -1
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/codemeta.json +1 -1
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/package.json +1 -1
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/pyproject.toml +1 -1
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/_version.py +2 -2
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/validation/checks.py +77 -40
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/validation/drift.py +18 -4
- scientific_computing_system-2.2.11/tests/test_validation_derived_moments_overflow.py +58 -0
- scientific_computing_system-2.2.11/tests/test_validation_derived_tolerance_overflow.py +51 -0
- scientific_computing_system-2.2.11/tests/test_validation_ood_stable_and_coverage.py +61 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/benchmarks.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/bot-reviewer.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/changelog.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/cli-package-smoke.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/codeql.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/npm-publish.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/pr-automation.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/pypi-registry-smoke.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/release.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.github/workflows/tests.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/.gitignore +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/CONTRIBUTING.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/LICENSE +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/README.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/SECURITY.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/benchmarks/results.json +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/benchmarks/robust_runner.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/benchmarks/run_benchmarks.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/bin/scs.js +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/dashboard/app.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/ARCHITECTURE.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/CASE_STUDY_HUBBLE.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/CASE_STUDY_QUANTUM_ML.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/api.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/assets/icon.svg +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/assets/logo.svg +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/benchmarks.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/checks/verify_provenance_claims.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/cookbook.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/getting-started.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/index.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/maintenance.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/ml_reference.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/related.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/research-workflows.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/stylesheets/extra.css +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tour_of_numerical_methods.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/core_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/data_analysis_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/diffeq_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/fft2_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/graph_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/hypothesis_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/hypothesis_tests_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/hypothesis_with_stats_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/knowledge_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/linalg_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/math_utils_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/ml_advanced_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/ml_and_viz_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/ml_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/modeling_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/montecarlo_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/nlp_attention_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/nlp_bpe_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/nlp_mini_gpt_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/nlp_viz.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/numerical_integration_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/optimization_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/pandas_io_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/pca_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/probability_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/quantum_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/quick_start.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/scientific_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/signals_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/stats_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/stiff_ode_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/time_series_demo.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/why-pure-python.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/core_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/data_analysis_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/diffeq_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/discovery_pipeline_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/ensemble_showcase.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/fft2_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/graph_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/hypothesis_custom_generator.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/hypothesis_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/hypothesis_tests_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/hypothesis_with_stats_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/interpolate_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/knowledge_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/linalg_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/math_utils_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/ml_and_viz_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/modeling_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/montecarlo_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/nlp_attention_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/nlp_bpe_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/nlp_mini_gpt_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/nlp_viz_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/numerical_integration_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/optimization_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/pca_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/pde_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/plot_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/plotting_notebook.ipynb +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/probability_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/quantum_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/scientific_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/signals_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/stats_demo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/examples/tour_of_numerical_methods.ipynb +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/index.js +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/mkdocs.yml +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/npm.test.js +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/paper.bib +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/paper.md +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/requirements-build.lock +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/requirements-dev.lock +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/requirements.lock +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/check_release_toolchain.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/check_version_discipline.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/check_version_lockstep.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/publish.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/verify_cli_install.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/verify_cookbook.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/verify_ml_reference.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/verify_pypi_release.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/scripts/verify_release_integrity.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/__main__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/_paths.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/bayes/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/bayes/conjugate.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/causal.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/__main__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/_exit_codes.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/_handlers.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/_parser.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/_style.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/cli/_system_info.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/core/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/core/_numeric.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/core/models.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_analysis/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_analysis/dataset.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_analysis/loader.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_analysis/pandas_io.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_analysis/transform.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_analysis/viz.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_io/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_io/scientific.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/data_io/streaming.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/diffeq/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/diffeq/_implicit.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/diffeq/solvers.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/diffeq/symplectic.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/fractals/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/fractals/sets.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/genetics/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/genetics/sequence.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/graph/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/graph/algorithms.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/hypothesis/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/hypothesis/evaluator.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/hypothesis/generator.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/hypothesis/mining.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/infotheory/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/infotheory/measures.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/interpolate/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/knowledge/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/knowledge/graph.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/knowledge/notes.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/knowledge/retrieval.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/math_utils/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/math_utils/calculus.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/math_utils/linalg.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/math_utils/special.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/math_utils/svd.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/boosting.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/clustering.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/decomposition.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/ensemble.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/linear_models.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/metrics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/model_selection.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/naive_bayes.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/neighbors.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/neural.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/preprocessing.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/tree.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/ml/voting.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/_base.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/_nodes.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/expression.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/fitting.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/model.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/modeling/solver.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/montecarlo/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/montecarlo/markov.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/montecarlo/methods.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/attention.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/autograd/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/autograd/_grad.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/autograd/ops.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/autograd/tensor.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/bpe.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/data.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/embed.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/layers.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/model.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/optim.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/training.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/nlp/viz.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/numerical_integration/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/numerical_integration/quadrature.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/optimization/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/optimization/_metaheuristics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/optimization/constrained.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/optimization/minimize.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/pde/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/plot/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/plot/_backend.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/plot/charts.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/probability/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/probability/_advanced.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/probability/distributions.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/probability/extra_distributions.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/provenance/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/provenance/manifest.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/py.typed +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/quantum/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/quantum/circuit.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/quantum/multi_qubit.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/quantum/simulator.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/scientific/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/scientific/constants.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/scientific/formulas.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/sensitivity.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/signals/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/signals/filters.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/signals/processing.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/signals/stft.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/signals/wavelet.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/_distributions.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/bootstrap.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/descriptive.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/hypothesis_tests.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/multiple_testing.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/nonparametric.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/power.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/regression.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/stats/time_series.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/tools/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/tools/adapters.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/tools/registry.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/uncertainty/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/uncertainty/propagation.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/units/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/units/core.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/validation/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/validation/adequacy.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/validation/report.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/wavelets/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/wavelets/haar.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/engine.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/gates.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/orchestrator.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/selection.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/tooling.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/workflow/types.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/__init__.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/conftest.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_advanced_fitting.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_completion_coverage.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_guard_coverage.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening_c1.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening_c2.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening_c3.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening_c4.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening_coverage.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_audit_hardening_h1.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_bayes_v2.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_benchmarks.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_bootstrap.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_causal.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_cli.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_cli_color.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_cli_exit_codes.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_cli_extended.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_cli_system_info.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_codemeta_version_lockstep.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_constrained_opt.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_core.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_data_analysis.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_data_analysis_lazy_bridge.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_data_analysis_pandas_io.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_data_io.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_data_io_optional_backends.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_data_io_scientific.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_dataset.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_dev_numpy_pin_contract.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_diffeq.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_diffeq_implicit.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_domain_validation.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_edge_misc_numerical.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_edge_ml_quantum_linalg.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_edge_nlp.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_edge_quantum_evaluator_cli.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_edge_stats_optimization_signals.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_extra_distributions.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_fft2.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_fitting_bootstrap.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_fractals.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_genetics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_graph.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_hardening_privacy_provenance.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_hypothesis.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_hypothesis_engine.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_hypothesis_mining.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_hypothesis_tests.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_infotheory.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_interpolate.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_knowledge.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_layering.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_linalg_extended.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_linalg_qr_cholesky.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_markov.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_math_utils.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_boosting.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_clustering.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_ensemble.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_knn.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_linreg.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_logreg.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_metrics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_model_selection.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_naive_bayes.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_pca.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_preprocessing.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_tree.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_viz.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_ml_voting.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_modeling.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_modeling_fit_validation.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_montecarlo.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_multi_qubit.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_attention.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_autograd.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_bpe.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_embed.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_layers.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_model.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_training.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_nlp_viz.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_numerical_integration.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_numerical_invariants.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_numerical_oracles.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_optimization.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_optimization_metaheuristics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_path_confinement.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_pde.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_plot_charts.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_plot_lazy.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_power.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_probability.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_probability_advanced.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_property_invariants.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_protocol_placeholders.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_provenance.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_provenance_audit_hardening.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_provenance_claims.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_public_api.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_quantum.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_readme_badges.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_readme_surface.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_release_contract.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_release_toolchain.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_retrieval.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_runtime_dependency_graph.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_scientific.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_seed_hygiene.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_selection_audit_hardening.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_sensitivity.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_sensitivity_global.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_signals.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_signals_filters.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_special_invariants.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_special_numerics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_statistical_audit.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_stats.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_stats_audit_coverage.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_stats_multiple_testing.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_stats_nonparametric.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_stats_time_series.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_stft.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_streaming_analytics.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_svd.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_symplectic.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_tool_adapters.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_tools_registry.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_uncertainty.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_units.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_validation.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_validation_adequacy.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_validation_advanced.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_validation_bounds_nonfinite_regression.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_validation_drift.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_validation_nonfinite_thresholds_regression.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_verify_release_integrity.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_wavelet.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_wavelets_v2.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow_gates.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow_orchestrator.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow_orchestrator_blocked_review.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow_selection.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow_selection_coverage.py +0 -0
- {scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/tests/test_workflow_tooling.py +0 -0
|
@@ -5,6 +5,30 @@ All notable changes to **scientific-computing-system** will be documented in thi
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [v2.2.11] - 2026-10-17
|
|
9
|
+
|
|
10
|
+
### Scientific validation CI and overflow resilience
|
|
11
|
+
|
|
12
|
+
- Restore the 100% branch-coverage contract for numeric drift and residual overflow detection through explicit extreme-input regressions and removal of unreachable redundant checks.
|
|
13
|
+
- Stabilize OOD reference means and standard deviations for large, finite observations; prevent NaN-derived false negatives and reject unrepresentable centered differences.
|
|
14
|
+
- Keep ordinary OOD thresholds, constant-reference semantics, and normal sample behavior unchanged.
|
|
15
|
+
|
|
16
|
+
## [v2.2.10] - 2026-10-17
|
|
17
|
+
|
|
18
|
+
### Fail-closed scientific moment diagnostics
|
|
19
|
+
|
|
20
|
+
- Refuse distribution-drift PASS when arithmetic overflow makes finite-input sample means, variances, or standardized shifts non-finite.
|
|
21
|
+
- Refuse residual-diagnostic PASS (or uncaught overflow) when derived residual means, centered differences, squares, or dependence statistics are not representable.
|
|
22
|
+
- Preserve explicit warnings for well-defined zero-variance mismatches; add focused regressions for extreme and ordinary numerical inputs.
|
|
23
|
+
|
|
24
|
+
## [v2.2.9] - 2026-10-17
|
|
25
|
+
|
|
26
|
+
### Scientific numerical tolerance overflow protection
|
|
27
|
+
|
|
28
|
+
- Reject derived infinite tolerances for independent-method agreement and conservation checks instead of silently returning PASS.
|
|
29
|
+
- Reject expanded OOD bounds that overflow to infinity when user-provided margins are finite.
|
|
30
|
+
- Add regression tests for overflow conditions and ordinary finite thresholds.
|
|
31
|
+
|
|
8
32
|
## [v2.2.8] - 2026-10-17
|
|
9
33
|
|
|
10
34
|
### Scientific validation fail-closed thresholds
|
|
@@ -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.11
|
|
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.11
|
|
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.11
|
|
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
|
|
@@ -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.11",
|
|
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.11",
|
|
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.11"
|
|
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"
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/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.11"
|
|
9
|
+
__version_tuple__ = version_tuple = (2, 2, 11)
|
|
@@ -47,6 +47,8 @@ def cross_method_agreement(
|
|
|
47
47
|
)
|
|
48
48
|
delta = abs(primary - secondary)
|
|
49
49
|
tolerance = atol + rtol * max(abs(primary), abs(secondary))
|
|
50
|
+
if not math.isfinite(tolerance):
|
|
51
|
+
raise ValueError("derived cross-method tolerance must be finite")
|
|
50
52
|
status = CheckStatus.PASS if delta <= tolerance else CheckStatus.FAIL
|
|
51
53
|
message = (
|
|
52
54
|
"independent methods agree"
|
|
@@ -148,6 +150,8 @@ def check_conservation(
|
|
|
148
150
|
)
|
|
149
151
|
delta = abs(after - before)
|
|
150
152
|
tolerance = atol + rtol * max(abs(before), abs(after))
|
|
153
|
+
if not math.isfinite(tolerance):
|
|
154
|
+
raise ValueError("derived conservation tolerance must be finite")
|
|
151
155
|
status = CheckStatus.PASS if delta <= tolerance else CheckStatus.FAIL
|
|
152
156
|
message = (
|
|
153
157
|
"conservation law satisfied" if status is CheckStatus.PASS else "conservation law violated"
|
|
@@ -288,7 +292,10 @@ def check_ood_ranges(
|
|
|
288
292
|
for low, high in zip(lower, upper):
|
|
289
293
|
scale = max(abs(low), abs(high), high - low, 1.0)
|
|
290
294
|
margin = margin_fraction * scale
|
|
291
|
-
|
|
295
|
+
expanded_low, expanded_high = low - margin, high + margin
|
|
296
|
+
if not (math.isfinite(expanded_low) and math.isfinite(expanded_high)):
|
|
297
|
+
raise ValueError("derived OOD margins must be finite")
|
|
298
|
+
expanded.append((expanded_low, expanded_high))
|
|
292
299
|
|
|
293
300
|
outside = [
|
|
294
301
|
row_index
|
|
@@ -341,16 +348,31 @@ def check_distribution_drift(
|
|
|
341
348
|
variance = sum((value - mean) ** 2 for value in values) / (len(values) - 1)
|
|
342
349
|
return mean, variance
|
|
343
350
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
351
|
+
try:
|
|
352
|
+
ref_mean, ref_var = moments(reference)
|
|
353
|
+
cur_mean, cur_var = moments(current)
|
|
354
|
+
if not all(math.isfinite(x) for x in (ref_mean, ref_var, cur_mean, cur_var)):
|
|
355
|
+
raise ArithmeticError("derived moments are not finite")
|
|
356
|
+
scale = max(math.sqrt(ref_var), 1e-12)
|
|
357
|
+
mean_shift = abs(cur_mean - ref_mean) / scale
|
|
358
|
+
if not math.isfinite(mean_shift):
|
|
359
|
+
raise ArithmeticError("standardized mean shift is not finite")
|
|
360
|
+
if ref_var <= 1e-24 and cur_var <= 1e-24:
|
|
361
|
+
variance_ratio = 1.0
|
|
362
|
+
elif min(ref_var, cur_var) <= 1e-24:
|
|
363
|
+
# A genuine zero-variance mismatch is a valid drift warning.
|
|
364
|
+
variance_ratio = math.inf
|
|
365
|
+
else:
|
|
366
|
+
variance_ratio = max(ref_var, cur_var) / min(ref_var, cur_var)
|
|
367
|
+
if not math.isfinite(variance_ratio):
|
|
368
|
+
raise ArithmeticError("variance ratio overflow")
|
|
369
|
+
except ArithmeticError:
|
|
370
|
+
return ValidationCheck(
|
|
371
|
+
name=name,
|
|
372
|
+
status=CheckStatus.FAIL,
|
|
373
|
+
message="distribution drift cannot be evaluated reliably: numerical overflow",
|
|
374
|
+
details={"reason": "non-finite derived moments or statistics"},
|
|
375
|
+
)
|
|
354
376
|
drifted = mean_shift > max_standardized_mean_shift or variance_ratio > max_variance_ratio
|
|
355
377
|
return ValidationCheck(
|
|
356
378
|
name=name,
|
|
@@ -390,36 +412,51 @@ def check_residual_diagnostics(
|
|
|
390
412
|
if finite.status is CheckStatus.FAIL:
|
|
391
413
|
return finite
|
|
392
414
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
else 0.0
|
|
405
|
-
)
|
|
406
|
-
|
|
407
|
-
midpoint = n // 2
|
|
408
|
-
first = residuals[:midpoint]
|
|
409
|
-
second = residuals[midpoint:]
|
|
410
|
-
|
|
411
|
-
def sample_variance(values: Sequence[float]) -> float:
|
|
412
|
-
local_mean = sum(values) / len(values)
|
|
413
|
-
return sum((value - local_mean) ** 2 for value in values) / max(1, len(values) - 1)
|
|
415
|
+
try:
|
|
416
|
+
n = len(residuals)
|
|
417
|
+
mean = sum(residuals) / n
|
|
418
|
+
centered = [value - mean for value in residuals]
|
|
419
|
+
if not math.isfinite(mean) or any(not math.isfinite(x) for x in centered):
|
|
420
|
+
raise ArithmeticError("derived residual mean or centered values are not finite")
|
|
421
|
+
variance = sum(value * value for value in centered) / (n - 1)
|
|
422
|
+
standard_error = math.sqrt(variance / n) if variance > 0 else 0.0
|
|
423
|
+
bias_z = (
|
|
424
|
+
abs(mean) / standard_error if standard_error > 0 else (0.0 if mean == 0 else math.inf)
|
|
425
|
+
)
|
|
414
426
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
427
|
+
denominator = sum(value * value for value in centered)
|
|
428
|
+
lag1 = (
|
|
429
|
+
sum(centered[index] * centered[index - 1] for index in range(1, n)) / denominator
|
|
430
|
+
if denominator > 0
|
|
431
|
+
else 0.0
|
|
432
|
+
)
|
|
433
|
+
if not all(math.isfinite(x) for x in (variance, standard_error, denominator, lag1)):
|
|
434
|
+
raise ArithmeticError("derived residual variance or dependence is not finite")
|
|
435
|
+
midpoint = n // 2
|
|
436
|
+
first = residuals[:midpoint]
|
|
437
|
+
second = residuals[midpoint:]
|
|
438
|
+
|
|
439
|
+
def sample_variance(values: Sequence[float]) -> float:
|
|
440
|
+
local_mean = sum(values) / len(values)
|
|
441
|
+
return sum((value - local_mean) ** 2 for value in values) / max(1, len(values) - 1)
|
|
442
|
+
|
|
443
|
+
first_var = sample_variance(first)
|
|
444
|
+
second_var = sample_variance(second)
|
|
445
|
+
if first_var <= 1e-24 and second_var <= 1e-24:
|
|
446
|
+
variance_ratio = 1.0
|
|
447
|
+
elif min(first_var, second_var) <= 1e-24:
|
|
448
|
+
variance_ratio = math.inf
|
|
449
|
+
else:
|
|
450
|
+
variance_ratio = max(first_var, second_var) / min(first_var, second_var)
|
|
451
|
+
if not math.isfinite(variance_ratio):
|
|
452
|
+
raise ArithmeticError("segment variance ratio overflow")
|
|
453
|
+
except ArithmeticError:
|
|
454
|
+
return ValidationCheck(
|
|
455
|
+
name=name,
|
|
456
|
+
status=CheckStatus.FAIL,
|
|
457
|
+
message="residual diagnostics cannot be evaluated reliably: numerical overflow",
|
|
458
|
+
details={"reason": "non-finite derived residual statistics"},
|
|
459
|
+
)
|
|
423
460
|
|
|
424
461
|
suspicious = (
|
|
425
462
|
bias_z > max_bias_z or abs(lag1) > max_abs_lag1 or variance_ratio > max_variance_ratio
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/src/cds/validation/drift.py
RENAMED
|
@@ -151,11 +151,25 @@ def screen_ood(
|
|
|
151
151
|
if len(current[0]) != width:
|
|
152
152
|
raise ValueError("reference and observations must have equal feature count")
|
|
153
153
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
# Accumulate divided terms instead of overflowing before division.
|
|
155
|
+
# Compute the population RMS using scaling, so finite 1e308 values
|
|
156
|
+
# do not produce spurious NaN means or OverflowError during squaring.
|
|
157
|
+
means = tuple(
|
|
158
|
+
math.fsum(row[index] / len(baseline) for row in baseline) for index in range(width)
|
|
158
159
|
)
|
|
160
|
+
deviations_list: list[float] = []
|
|
161
|
+
for index, mean in enumerate(means):
|
|
162
|
+
offsets = [row[index] - mean for row in baseline]
|
|
163
|
+
if any(not math.isfinite(offset) for offset in offsets):
|
|
164
|
+
raise ValueError("reference deviations overflowed")
|
|
165
|
+
largest = max(abs(offset) for offset in offsets)
|
|
166
|
+
if largest == 0.0:
|
|
167
|
+
deviations_list.append(0.0)
|
|
168
|
+
else:
|
|
169
|
+
scaled = math.fsum((offset / largest) ** 2 for offset in offsets)
|
|
170
|
+
deviation = largest * math.sqrt(scaled / len(baseline))
|
|
171
|
+
deviations_list.append(deviation)
|
|
172
|
+
deviations = tuple(deviations_list)
|
|
159
173
|
|
|
160
174
|
screened: list[OODObservation] = []
|
|
161
175
|
for row_index, row in enumerate(current):
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""Validation must not certify overflowed scientific diagnostics as PASS."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import math
|
|
6
|
+
|
|
7
|
+
from cds.validation import CheckStatus, check_distribution_drift, check_residual_diagnostics
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def test_drift_rejects_overflowed_finite_means() -> None:
|
|
11
|
+
check = check_distribution_drift([1e308, 1e308], [-1e308, -1e308])
|
|
12
|
+
assert check.status is CheckStatus.FAIL
|
|
13
|
+
assert "numerical overflow" in check.message
|
|
14
|
+
assert "standardized_mean_shift" not in check.details
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def test_drift_rejects_overflowed_finite_variances() -> None:
|
|
18
|
+
check = check_distribution_drift([1e308, -1e308], [1e308, -1e308])
|
|
19
|
+
assert check.status is CheckStatus.FAIL
|
|
20
|
+
assert "numerical overflow" in check.message
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def test_drift_keeps_well_defined_zero_variance_mismatch_as_warning() -> None:
|
|
24
|
+
check = check_distribution_drift([1.0, 1.0], [1.0, 2.0])
|
|
25
|
+
assert check.status is CheckStatus.WARNING
|
|
26
|
+
assert check.details["variance_ratio"] == math.inf
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def test_drift_keeps_identical_finite_sample_as_pass() -> None:
|
|
30
|
+
check = check_distribution_drift([1.0, 2.0, 3.0], [1.0, 2.0, 3.0])
|
|
31
|
+
assert check.status is CheckStatus.PASS
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_residuals_reject_overflowed_finite_means() -> None:
|
|
35
|
+
check = check_residual_diagnostics([1e308] * 4)
|
|
36
|
+
assert check.status is CheckStatus.FAIL
|
|
37
|
+
assert "numerical overflow" in check.message
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def test_residuals_reject_overflowed_finite_squares_without_raising() -> None:
|
|
41
|
+
check = check_residual_diagnostics([1e308, -1e308, 1e308, -1e308])
|
|
42
|
+
assert check.status is CheckStatus.FAIL
|
|
43
|
+
assert "numerical overflow" in check.message
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def test_residuals_reject_overflowed_variances() -> None:
|
|
47
|
+
check = check_residual_diagnostics([1e154, -1e154, 1e154, -1e154])
|
|
48
|
+
assert check.status is CheckStatus.FAIL
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def test_residuals_keep_ordinary_centered_sample_as_pass() -> None:
|
|
52
|
+
check = check_residual_diagnostics([-1.0, 0.5, 1.0, -0.5, 0.5, -1.0, -0.5, 1.0])
|
|
53
|
+
assert check.status is CheckStatus.PASS
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def test_nonfinite_raw_samples_still_fail() -> None:
|
|
57
|
+
assert check_distribution_drift([0.0, float("inf")], [1.0, 2.0]).status is CheckStatus.FAIL
|
|
58
|
+
assert check_residual_diagnostics([0.0, float("nan"), 0.0, 0.0]).status is CheckStatus.FAIL
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""Never turn finite user tolerances into false-positive scientific passes."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import math
|
|
6
|
+
from collections.abc import Callable
|
|
7
|
+
|
|
8
|
+
import pytest
|
|
9
|
+
|
|
10
|
+
from cds.validation.checks import check_conservation, check_ood_ranges, cross_method_agreement
|
|
11
|
+
from cds.validation.report import CheckStatus, ValidationCheck
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@pytest.mark.parametrize(
|
|
15
|
+
("check", "message"),
|
|
16
|
+
[
|
|
17
|
+
(cross_method_agreement, "derived cross-method tolerance"),
|
|
18
|
+
(check_conservation, "derived conservation tolerance"),
|
|
19
|
+
],
|
|
20
|
+
)
|
|
21
|
+
def test_finite_user_tolerance_must_not_overflow_to_false_pass(
|
|
22
|
+
check: Callable[..., ValidationCheck], message: str
|
|
23
|
+
) -> None:
|
|
24
|
+
with pytest.raises(ValueError, match=message):
|
|
25
|
+
check(1e200, -1e200, rtol=1e308)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
@pytest.mark.parametrize("margin_fraction", [1e308, 9e307])
|
|
29
|
+
def test_ood_finite_margin_overflow_never_masks_extreme_outliers(
|
|
30
|
+
margin_fraction: float,
|
|
31
|
+
) -> None:
|
|
32
|
+
with pytest.raises(ValueError, match="derived OOD margins"):
|
|
33
|
+
check_ood_ranges([[0.0], [2.0]], [[1e300]], margin_fraction=margin_fraction)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def test_regular_tolerances_still_have_expected_outcomes() -> None:
|
|
37
|
+
assert cross_method_agreement(1.0, 1.0 + 1e-10).status is CheckStatus.PASS
|
|
38
|
+
assert cross_method_agreement(1.0, 2.0).status is CheckStatus.FAIL
|
|
39
|
+
assert check_conservation(3.0, 3.0).status is CheckStatus.PASS
|
|
40
|
+
assert check_conservation(3.0, 4.0).status is CheckStatus.FAIL
|
|
41
|
+
assert check_ood_ranges([[0.0], [2.0]], [[100.0]]).status is CheckStatus.FAIL
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def test_extreme_finite_outlier_is_not_certified_by_a_normal_margin() -> None:
|
|
45
|
+
result = check_ood_ranges([[0.0], [2.0]], [[1e300]], margin_fraction=0.1)
|
|
46
|
+
assert result.status is CheckStatus.FAIL
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def test_positive_infinite_margin_is_already_rejected() -> None:
|
|
50
|
+
with pytest.raises(ValueError, match="margin_fraction"):
|
|
51
|
+
check_ood_ranges([[0.0], [2.0]], [[1e300]], margin_fraction=math.inf)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Reference tests for extreme finite inputs and scientific CI branches."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import math
|
|
6
|
+
|
|
7
|
+
import pytest
|
|
8
|
+
|
|
9
|
+
from cds.validation import (
|
|
10
|
+
CheckStatus,
|
|
11
|
+
check_distribution_drift,
|
|
12
|
+
check_residual_diagnostics,
|
|
13
|
+
screen_ood,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def test_constant_extreme_reference_does_not_certify_different_observation() -> None:
|
|
18
|
+
report = screen_ood([[1e308], [1e308]], [[0.0], [1e308]])
|
|
19
|
+
assert report.observations[0].out_of_distribution
|
|
20
|
+
assert report.observations[0].max_abs_z == math.inf
|
|
21
|
+
assert report.observations[1].max_abs_z == 0.0
|
|
22
|
+
assert not report.observations[1].out_of_distribution
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def test_large_balanced_reference_has_finite_ood_standard_deviation() -> None:
|
|
26
|
+
report = screen_ood([[1e308], [-1e308]], [[1e308]], z_threshold=4.0)
|
|
27
|
+
assert report.observations[0].max_abs_z == pytest.approx(1.0)
|
|
28
|
+
assert not report.any_ood
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_extreme_mixed_reference_refuses_unrepresentable_centered_values() -> None:
|
|
32
|
+
reference = [[1e308]] * 9 + [[-1e308]]
|
|
33
|
+
with pytest.raises(ValueError, match="reference deviations overflowed"):
|
|
34
|
+
screen_ood(reference, [[0.0]])
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def test_ordinary_multifeature_ood_detects_shift() -> None:
|
|
38
|
+
report = screen_ood(
|
|
39
|
+
[[-1.0, 4.0], [1.0, 4.0], [0.0, 4.0]],
|
|
40
|
+
[[0.0, 4.0], [5.0, 4.0], [0.0, 5.0]],
|
|
41
|
+
z_threshold=3.0,
|
|
42
|
+
)
|
|
43
|
+
assert [row.out_of_distribution for row in report.observations] == [False, True, True]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def test_drift_extreme_mean_shift_overflow_is_fail_not_pass() -> None:
|
|
47
|
+
report = check_distribution_drift([1e307] * 2, [-1e307] * 2)
|
|
48
|
+
assert report.status is CheckStatus.FAIL
|
|
49
|
+
assert "overflow" in report.message
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def test_drift_extreme_variance_ratio_overflow_is_fail_not_pass() -> None:
|
|
53
|
+
report = check_distribution_drift([-1e-11, 1e-11], [-1e153, 1e153])
|
|
54
|
+
assert report.status is CheckStatus.FAIL
|
|
55
|
+
assert "overflow" in report.message
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def test_residual_segment_variance_ratio_overflow_is_fail_not_pass() -> None:
|
|
59
|
+
report = check_residual_diagnostics([1e-10, -1e-10, 1e150, -1e150])
|
|
60
|
+
assert report.status is CheckStatus.FAIL
|
|
61
|
+
assert "overflow" in report.message
|
|
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.8 → scientific_computing_system-2.2.11}/.github/workflows/tests.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/benchmarks/results.json
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/benchmarks/robust_runner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/ARCHITECTURE.md
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/CASE_STUDY_HUBBLE.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/assets/icon.svg
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/assets/logo.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/getting-started.md
RENAMED
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/maintenance.md
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/ml_reference.md
RENAMED
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/research-workflows.md
RENAMED
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/stylesheets/extra.css
RENAMED
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/core_demo.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/fft2_demo.md
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
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/ml_demo.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/nlp_viz.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{scientific_computing_system-2.2.8 → scientific_computing_system-2.2.11}/docs/tutorials/pca_demo.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|