sunnbear 0.2.2__tar.gz → 0.2.4__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.
- {sunnbear-0.2.2 → sunnbear-0.2.4}/.gitignore +0 -3
- {sunnbear-0.2.2 → sunnbear-0.2.4}/PKG-INFO +22 -12
- {sunnbear-0.2.2 → sunnbear-0.2.4}/pyproject.toml +33 -26
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/builtin/mc_tuples/manifest.json +5 -6
- sunnbear-0.2.4/src/sunnbear/_core/artifacts/builtin/mc_tuples/mc_tuples.csv +1025 -0
- sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/__init__.py +28 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/mc_tuples/artifact.py +1 -2
- sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/__init__.py +14 -0
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/construction_allocation.py → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/allocation.py +113 -58
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/construction_correction.py → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/correction.py +35 -31
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/construction.py → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/generator.py +44 -62
- sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/population.py +87 -0
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/construction_result.py → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/size_result.py +12 -8
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/construction_solve.py → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction/solve.py +36 -36
- sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/core/__init__.py +4 -0
- {sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/core}/sizes.py +15 -1
- {sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/core}/tuples.py +2 -2
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/protocol/correctness.py +7 -4
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/anderson_bjorck/state.py +3 -5
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/brent/solver.py +6 -10
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/illinois/state.py +3 -2
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/itp/solver.py +7 -5
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/modab/solver.py +10 -10
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/pegasus/state.py +3 -5
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/toms748/solver.py +5 -9
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/interval.py +3 -3
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/solver.py +5 -5
- sunnbear-0.2.4/src/sunnbear/_core/utils/floats.py +7 -0
- sunnbear-0.2.4/src/sunnbear/_core/utils/spread_over_grid.py +48 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/exceptions.py +1 -1
- sunnbear-0.2.2/src/sunnbear/_core/artifacts/builtin/mc_tuples/mc_tuples.csv +0 -1025
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/__init__.py +0 -19
- sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples/construction_population.py +0 -157
- {sunnbear-0.2.2 → sunnbear-0.2.4}/LICENSE +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/archiver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/data_release_client.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/declaration.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/exceptions.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/listing.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/manifest.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/registry.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/source.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/store.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/aggregation/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/aggregation/derived_results.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/aggregation/summary.py +0 -0
- {sunnbear-0.2.2/src/sunnbear/_core/benchmark/mc_tuples → sunnbear-0.2.4/src/sunnbear/_core/benchmark/mc_tuples/construction}/exceptions.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/protocol/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/protocol/seeds.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/protocol/tolerances.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/exceptions.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/results_schema.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/run_dir.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/run_info.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/run_settings.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/runner.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/task.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/benchmark/runner/worker_pool.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/exceptions/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/exceptions/base.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c01_existing_benchmark_suites/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c02_standard_function_families/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c02_standard_function_families/c01_polynomials/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c02_standard_function_families/c01_polynomials/f01_cubic.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c02_standard_function_families/c01_polynomials/f02_odd_power.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c03_purpose_built_functions/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/catalog/c99_user_defined_functions/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/category.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/exceptions.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/formula.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/identity.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/param_values.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/recipes.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/registry.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/taxonomy.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/test_cases.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/test_function.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/functions/core/types.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/anderson_bjorck/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/anderson_bjorck/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/anderson_bjorck/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/bisection/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/bisection/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/bisection/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/brent/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/brent/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/carf/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/carf/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/carf/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/chandrupatla/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/chandrupatla/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/chandrupatla/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/illinois/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/illinois/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/illinois/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/itp/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/itp/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/itp/state.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/itp/variant.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/modab/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/modab/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/pegasus/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/pegasus/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/pegasus/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/regula_falsi/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/regula_falsi/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/regula_falsi/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/ridders/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/ridders/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/ridders/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/ridders/variant.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/steffen_brent/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/steffen_brent/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/steffen_brent/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/toms748/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/bracketing/toms748/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/config.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/exceptions.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/registry.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/result.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/role.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/state.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/core/wrapped_function.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/open/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/open/secant/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/open/secant/configs.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/solvers/open/secant/solver.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/stats/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/stats/pairwise_l1.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/stats/pseudo_quantiles/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/stats/pseudo_quantiles/geometric_pseudo_quantile.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/stats/pseudo_quantiles/ordered_weighted_geomean.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/utils/__init__.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/utils/class_origin.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/utils/grouping.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/utils/mapping_comparison.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/utils/slugify.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/benchmark.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/data.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/functions.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/py.typed +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/solvers.py +0 -0
- {sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/stats.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sunnbear
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Under construction.
|
|
5
5
|
Project-URL: Source, https://github.com/bertpl/sunnbear
|
|
6
6
|
Project-URL: ChangeLog, https://github.com/bertpl/sunnbear/blob/main/CHANGELOG.md
|
|
@@ -16,34 +16,44 @@ Classifier: Operating System :: OS Independent
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.14
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
19
20
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
20
21
|
Classifier: Typing :: Typed
|
|
21
22
|
Requires-Python: >=3.12
|
|
22
23
|
Requires-Dist: backports-zstd>=1.0.0; python_version < '3.14'
|
|
23
|
-
Requires-Dist: counted-float>=1.2.1
|
|
24
|
+
Requires-Dist: counted-float>=1.2.1; python_version < '3.15'
|
|
25
|
+
Requires-Dist: counted-float>=2.6.0; python_version >= '3.15'
|
|
24
26
|
Requires-Dist: matplotlib>=3.10.7; python_version == '3.12'
|
|
25
27
|
Requires-Dist: matplotlib>=3.10.7; python_version == '3.13'
|
|
26
|
-
Requires-Dist: matplotlib>=3.10.7; python_version
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: matplotlib>=3.10.7; python_version == '3.14'
|
|
29
|
+
Requires-Dist: matplotlib>=3.11.2; python_version >= '3.15'
|
|
30
|
+
Requires-Dist: max-div>=0.21.1; python_version < '3.15'
|
|
31
|
+
Requires-Dist: max-div>=0.21.3; python_version >= '3.15'
|
|
32
|
+
Requires-Dist: mpl-composite>=0.1.2; python_version < '3.15'
|
|
33
|
+
Requires-Dist: mpl-composite>=0.1.4; python_version >= '3.15'
|
|
29
34
|
Requires-Dist: numba>=0.60.0; python_version == '3.12'
|
|
30
35
|
Requires-Dist: numba>=0.66.0; python_version == '3.13'
|
|
31
|
-
Requires-Dist: numba>=0.66.0; python_version
|
|
36
|
+
Requires-Dist: numba>=0.66.0; python_version == '3.14'
|
|
37
|
+
Requires-Dist: numba>=0.68.0; python_version >= '3.15'
|
|
32
38
|
Requires-Dist: numpy>=2.0.0; python_version == '3.12'
|
|
33
39
|
Requires-Dist: numpy>=2.1.0; python_version == '3.13'
|
|
34
|
-
Requires-Dist: numpy>=2.3.2; python_version
|
|
40
|
+
Requires-Dist: numpy>=2.3.2; python_version == '3.14'
|
|
41
|
+
Requires-Dist: numpy>=2.5.2; python_version >= '3.15'
|
|
35
42
|
Requires-Dist: platformdirs>=4.0
|
|
36
|
-
Requires-Dist: polars>=1.0.0
|
|
37
|
-
Requires-Dist:
|
|
43
|
+
Requires-Dist: polars>=1.0.0; python_version < '3.15'
|
|
44
|
+
Requires-Dist: polars>=2.0.0; python_version >= '3.15'
|
|
45
|
+
Requires-Dist: pydantic>=2.12; python_version == '3.14'
|
|
46
|
+
Requires-Dist: pydantic>=2.14; python_version >= '3.15'
|
|
38
47
|
Requires-Dist: pydantic>=2.7; python_version == '3.12'
|
|
39
48
|
Requires-Dist: pydantic>=2.9; python_version == '3.13'
|
|
40
|
-
Requires-Dist: snuffled>=0.1.6
|
|
49
|
+
Requires-Dist: snuffled>=0.1.6; python_version < '3.15'
|
|
50
|
+
Requires-Dist: snuffled>=0.1.9; python_version >= '3.15'
|
|
41
51
|
Requires-Dist: typing-extensions>=4.4
|
|
42
52
|
Description-Content-Type: text/markdown
|
|
43
53
|
|
|
44
54
|
[](https://github.com/bertpl/sunnbear/actions/workflows/push_to_main.yml)
|
|
45
55
|
[](https://github.com/bertpl/sunnbear/actions/workflows/push_to_main.yml)
|
|
46
|
-
[](https://github.com/bertpl/sunnbear/actions/workflows/push_to_main.yml)
|
|
47
57
|
[](https://pypi.org/project/sunnbear/)
|
|
48
58
|
[](https://pypi.org/project/sunnbear/)
|
|
49
59
|
[](https://github.com/bertpl/sunnbear/blob/main/LICENSE)
|
|
@@ -54,4 +64,4 @@ Description-Content-Type: text/markdown
|
|
|
54
64
|
|
|
55
65
|
Under construction.
|
|
56
66
|
|
|
57
|
-

|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sunnbear"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.4"
|
|
4
4
|
description = "Under construction."
|
|
5
5
|
# readme is dynamic: hatch-fancy-pypi-readme builds the PyPI long-description from README.md,
|
|
6
6
|
# rewriting the relative splash link to a tag-pinned absolute URL (config below).
|
|
@@ -15,31 +15,45 @@ dependencies = [
|
|
|
15
15
|
# Per-Python minimal versions: each is the earliest version shipping a wheel for that
|
|
16
16
|
# CPython (and, for numpy, admitted by the numba minimal version on the same interpreter),
|
|
17
17
|
# so `lowest-direct` installs (not source-builds) across the whole matrix.
|
|
18
|
+
#
|
|
19
|
+
# A pure-Python package ships 1 wheel that installs on every Python version, so the rule above does
|
|
20
|
+
# not apply to it: where its minimal version does not declare 3.15 support, a separate dependency line
|
|
21
|
+
# for 3.15 raises its minimal version to the earliest release that does.
|
|
18
22
|
"numpy>=2.0.0; python_version == '3.12'",
|
|
19
23
|
"numpy>=2.1.0; python_version == '3.13'",
|
|
20
|
-
"numpy>=2.3.2; python_version
|
|
24
|
+
"numpy>=2.3.2; python_version == '3.14'",
|
|
25
|
+
"numpy>=2.5.2; python_version >= '3.15'",
|
|
21
26
|
"numba>=0.60.0; python_version == '3.12'",
|
|
22
27
|
"numba>=0.66.0; python_version == '3.13'",
|
|
23
|
-
"numba>=0.66.0; python_version
|
|
28
|
+
"numba>=0.66.0; python_version == '3.14'",
|
|
29
|
+
"numba>=0.68.0; python_version >= '3.15'",
|
|
24
30
|
"matplotlib>=3.10.7; python_version == '3.12'",
|
|
25
31
|
"matplotlib>=3.10.7; python_version == '3.13'",
|
|
26
|
-
"matplotlib>=3.10.7; python_version
|
|
27
|
-
"
|
|
32
|
+
"matplotlib>=3.10.7; python_version == '3.14'",
|
|
33
|
+
"matplotlib>=3.11.2; python_version >= '3.15'",
|
|
34
|
+
"counted-float>=1.2.1; python_version < '3.15'",
|
|
35
|
+
"counted-float>=2.6.0; python_version >= '3.15'",
|
|
28
36
|
# These pydantic minimal versions equal counted-float's own pydantic minimal versions; counted-float
|
|
29
37
|
# depends on pydantic, so every install already satisfies them.
|
|
30
38
|
"pydantic>=2.7; python_version == '3.12'",
|
|
31
39
|
"pydantic>=2.9; python_version == '3.13'",
|
|
32
|
-
"pydantic>=2.12; python_version
|
|
40
|
+
"pydantic>=2.12; python_version == '3.14'",
|
|
41
|
+
"pydantic>=2.14; python_version >= '3.15'",
|
|
33
42
|
"typing-extensions>=4.4", # TypeVar defaults (PEP 696) on Python < 3.13
|
|
34
43
|
"platformdirs>=4.0", # platformdirs finds the user's cache directory for downloaded data artifacts
|
|
35
44
|
# backports.zstd provides zstd for the archives of downloaded data artifacts; the standard library has it from 3.14.
|
|
36
45
|
"backports.zstd>=1.0.0; python_version < '3.14'",
|
|
37
|
-
"snuffled>=0.1.6",
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
"
|
|
46
|
+
"snuffled>=0.1.6; python_version < '3.15'",
|
|
47
|
+
"snuffled>=0.1.9; python_version >= '3.15'",
|
|
48
|
+
# max-div 0.21.1 adds DiversityMetric.gpq_separation(q), the diversity metric that sunnbear maximizes when it builds the Monte Carlo (MC) tuple set.
|
|
49
|
+
"max-div>=0.21.1; python_version < '3.15'",
|
|
50
|
+
"max-div>=0.21.3; python_version >= '3.15'",
|
|
51
|
+
"mpl-composite>=0.1.2; python_version < '3.15'",
|
|
52
|
+
"mpl-composite>=0.1.4; python_version >= '3.15'",
|
|
53
|
+
# polars holds the benchmark results. Its wheels use the stable CPython ABI, so they install on every Python
|
|
54
|
+
# version, but on 3.15 the benchmark runner fails with polars 1.x.
|
|
55
|
+
"polars>=1.0.0; python_version < '3.15'",
|
|
56
|
+
"polars>=2.0.0; python_version >= '3.15'",
|
|
43
57
|
]
|
|
44
58
|
classifiers = [
|
|
45
59
|
"Development Status :: 2 - Pre-Alpha",
|
|
@@ -50,6 +64,7 @@ classifiers = [
|
|
|
50
64
|
"Programming Language :: Python :: 3.12",
|
|
51
65
|
"Programming Language :: Python :: 3.13",
|
|
52
66
|
"Programming Language :: Python :: 3.14",
|
|
67
|
+
"Programming Language :: Python :: 3.15",
|
|
53
68
|
"Topic :: Scientific/Engineering :: Mathematics",
|
|
54
69
|
"Typing :: Typed",
|
|
55
70
|
]
|
|
@@ -65,24 +80,18 @@ dev = [
|
|
|
65
80
|
# exact tool versions are pinned by the tracked uv.lock (used by pre-commit,
|
|
66
81
|
# `make lint`, and CI); these ranges just set the floor.
|
|
67
82
|
"ruff>=0.15.11",
|
|
68
|
-
|
|
83
|
+
# The solver tests compare against scipy's root finders; scipy is never a runtime dependency. On 3.15,
|
|
84
|
+
# its minimal version is its first release with a 3.15 wheel.
|
|
85
|
+
"scipy>=1.16.2; python_version < '3.15'",
|
|
86
|
+
"scipy>=1.18.1; python_version >= '3.15'",
|
|
69
87
|
"ty==0.0.56", # pre-1.0 type checker — pin exactly; its ruleset is still evolving
|
|
70
88
|
]
|
|
71
|
-
#
|
|
72
|
-
#
|
|
73
|
-
notebooks = [
|
|
74
|
-
"jupyterlab>=4.4.6",
|
|
75
|
-
"notebook>=7.4.5",
|
|
76
|
-
]
|
|
77
|
-
# packaging-integrity tooling for the _package_check.yml CI gate; opt-in via
|
|
78
|
-
# `--group package`, kept out of the default dev/notebooks sync.
|
|
89
|
+
# This group holds the packaging-integrity tooling for the _package_check.yml CI gate, which installs it with
|
|
90
|
+
# `--group package`.
|
|
79
91
|
package = [
|
|
80
92
|
"check-wheel-contents>=0.6.2",
|
|
81
93
|
]
|
|
82
94
|
|
|
83
|
-
[tool.uv]
|
|
84
|
-
default-groups = ["dev", "notebooks"]
|
|
85
|
-
|
|
86
95
|
[project.urls]
|
|
87
96
|
Source = "https://github.com/bertpl/sunnbear"
|
|
88
97
|
ChangeLog = "https://github.com/bertpl/sunnbear/blob/main/CHANGELOG.md"
|
|
@@ -189,8 +198,6 @@ invalid-method-override = "ignore"
|
|
|
189
198
|
[tool.codespell]
|
|
190
199
|
# "intoto": the in-toto attestation format (provenance.intoto.jsonl).
|
|
191
200
|
ignore-words-list = "intoto"
|
|
192
|
-
# Notebooks embed base64 image outputs that codespell misreads as typos.
|
|
193
|
-
skip = "*.ipynb"
|
|
194
201
|
|
|
195
202
|
[tool.pytest.ini_options]
|
|
196
203
|
addopts = "--strict-markers"
|
{sunnbear-0.2.2 → sunnbear-0.2.4}/src/sunnbear/_core/artifacts/builtin/mc_tuples/manifest.json
RENAMED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"build_date": "2026-10-
|
|
2
|
+
"build_date": "2026-10-11",
|
|
3
3
|
"built_with": {
|
|
4
4
|
"max-div": "0.21.1",
|
|
5
|
-
"sunnbear": "0.2.
|
|
5
|
+
"sunnbear": "0.2.4"
|
|
6
6
|
},
|
|
7
|
-
"content_hash": "
|
|
7
|
+
"content_hash": "1320f273948e2774ac3bcaea09cbf215b345e823c59a9d2a3fcbca7d262262b7",
|
|
8
8
|
"files": [
|
|
9
9
|
{
|
|
10
10
|
"path": "mc_tuples.csv",
|
|
11
|
-
"sha256": "
|
|
12
|
-
"size_bytes":
|
|
11
|
+
"sha256": "dde1983bfec52fa3ee3bcd2ff005416410cf8bc6bf92e7ef688ea107981e02ff",
|
|
12
|
+
"size_bytes": 39540
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"generated_by": {
|
|
16
16
|
"arguments": {
|
|
17
|
-
"allocation_epsilon": 0.1,
|
|
18
17
|
"max_size": 1024,
|
|
19
18
|
"n_population": 1048576,
|
|
20
19
|
"n_workers": 32,
|