algorithm-nexus 1.1.0__tar.gz → 1.1.1__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.
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.agents/skills/add-benchmark-instance/SKILL.md +21 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.pre-commit-config.yaml +5 -5
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/CHANGELOG.md +24 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/PKG-INFO +4 -4
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/benchmarks/add_benchmark_experiment.md +20 -1
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/benchmarks/add_benchmark_problem.md +95 -1
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/benchmarks/add_benchmark_submission.md +1 -1
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/benchmarks/add_instance_binding.md +11 -2
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/benchmarking/benchmark_experiments_and_submissions.md +44 -3
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/benchmarking/logical_benchmarks_and_instances.md +895 -755
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/getting-started/cli-reference.md +18 -3
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/pyproject.toml +3 -3
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/requirements-candidate.txt +891 -836
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/requirements-ecosystem.txt +749 -757
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/requirements-product.txt +857 -831
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/validate.py +328 -7
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/models.py +55 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/logical-benchmark/instances/instance-name/instance.yaml +24 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_validate_logical_benchmarks.py +295 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/uv.lock +2100 -1654
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.agents/skills/add-logical-benchmark/SKILL.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.agents/skills/add-nexus-package/SKILL.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.agents/skills/update-lock-file/SKILL.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.copywrite.hcl +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.github/PULL_REQUEST_TEMPLATE/new_nexus_package.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.github/dco.yml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.gitignore +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.markdownlint-cli2.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.prettierrc.toml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.python-version +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.secrets.baseline +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.yamlfmt +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/CONTRIBUTING.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/LICENSE +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/MAINTAINERS.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/README.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/benchmarks/.gitkeep +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/assets/images/favicon.ico +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/assets/images/logo-ibm-dark.png +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/assets/images/logo-ibm.png +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/add_new_nexus_package.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/benchmarks/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/guidelines.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/owner_responsibilities.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/benchmarking/benchmark_execution.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/benchmarking/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/dependency-resolution.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/nexus_package.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/design/project_release.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/getting-started/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/getting-started/installation.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/requirements/benchmark.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/requirements/index.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/requirements/model_vllm.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/requirements/models_testing.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/requirements/nexus_package.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/requirements/packaging_and_dependency_reqs.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/stylesheets/extra.css +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/theme/favicon.ico +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/theme/logo-ibm-dark.png +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/theme/logo-ibm.png +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/experiments/.gitkeep +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/mendUnifiedAgent.config +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/package.json +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/.gitkeep +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/biomed-multi-alignment/models/biomed.omics.bl.sm.ma-ted-458m/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/biomed-multi-alignment/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/bmfm-targets/models/biomed.rna.llama.32m.mlm.multitask.v1.vllm/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/bmfm-targets/models/biomed.rna.llama.32m.mlm.multitask.v1.vllm/usage.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/bmfm-targets/models/biomed.rna.llama.47m.wced.multitask.v1.vllm/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/bmfm-targets/models/biomed.rna.llama.47m.wced.multitask.v1.vllm/usage.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/bmfm-targets/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/gridfm-graphkit/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terrakit/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/models/prithvi/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/models/prithvi/usage.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/models/terramind_base_fire/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/models/terramind_base_fire/usage.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/models/terramind_base_flood/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/models/terramind_base_flood/usage.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/terratorch/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/tokamind/models/tokamind-base-v2/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/packages/tokamind/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/renovate.json +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/ruff.toml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/__init__.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/cli.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/__init__.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/ado_validator.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/benchmark_manager.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/list.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/run.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/utils.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/src/algorithm_nexus/commands/venv_manager.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/experiment/bindings/binding-name.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/experiment/experiment_package.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/experiment/submissions/submission-name/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/logical-benchmark/benchmark.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/nexus-package-template/README.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/nexus-package-template/models/your-model-name/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/nexus-package-template/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/packages/package-name/README.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/packages/package-name/models/model-name/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/templates/packages/package-name/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/__init__.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/experiments/vllm-performance/experiment_package.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/experiments/vllm-performance/submissions/granite-guidellm/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/experiments/vllm-performance/submissions/granite-vllm/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/experiments-invalid/missing-config/README.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/experiments-invalid/missing-config/submissions/run1/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_binding_unknown_metric.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_binding_unknown_property.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_instance_unknown_property.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_missing_required_field.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_ranking_unknown_metric.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_static_filters_overlap_with_instance_mapping.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/invalid_static_filters_unknown_benchmark_property.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_full.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_instance_field.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_metric_mapping_no_metrics_defined.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_no_bindings.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_ranking_desc.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_ranking_field.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/logical_benchmarks/valid_static_filters_both_directions.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/.gitignore +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/invalid-package/models/broken-model/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/invalid-package/models/undeclared-model/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/invalid-package/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/terratorch/benchmark_submissions/base-test/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/terratorch/models/prithvi/benchmark_submissions/fire-test/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/terratorch/models/prithvi/benchmark_submissions/flood-test/config.json +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/terratorch/models/prithvi/benchmark_submissions/flood-test/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/terratorch/models/prithvi/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/terratorch/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/tokamind/benchmark_submissions/base-test/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/tokamind/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package/AGENTS.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package/models/example-model/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package/models/example-model/usage.md +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package/models/minimal-model/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package-with-benchmarks/models/test-model/benchmark_submissions/flood-segmentation-test/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package-with-benchmarks/models/test-model/benchmark_submissions/performance-baseline/space.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package-with-benchmarks/models/test-model/model.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/fixtures/packages/valid-package-with-benchmarks/nexus.yaml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_cli_list.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_cli_run.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_cli_validation.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_models.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_utils.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tests/test_validate_benchmarks.py +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/tombi.toml +0 -0
- {algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/zensical.toml +0 -0
{algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/.agents/skills/add-benchmark-instance/SKILL.md
RENAMED
|
@@ -91,6 +91,27 @@ problemPropertyValues:
|
|
|
91
91
|
identifier: <property_id_2>
|
|
92
92
|
value: <value_2>
|
|
93
93
|
|
|
94
|
+
# (Optional) Generative properties used to create the instance (e.g. seed).
|
|
95
|
+
# Not declared in benchmark.yaml; must not reuse a problem property identifier.
|
|
96
|
+
instancePropertyValues:
|
|
97
|
+
- property:
|
|
98
|
+
identifier: <generator_property_name>
|
|
99
|
+
value: <value>
|
|
100
|
+
|
|
101
|
+
# (Optional) variants: use when one instance covers several values of a problem property.
|
|
102
|
+
# A property that varies is omitted from problemPropertyValues and given a value in EVERY variant.
|
|
103
|
+
# List every combination of interest; files must exist in the artifact's artifactsLocation.
|
|
104
|
+
variants:
|
|
105
|
+
- problemPropertyValues:
|
|
106
|
+
- property:
|
|
107
|
+
identifier: <varying_property_id>
|
|
108
|
+
value: <value>
|
|
109
|
+
instanceArtifactValues:
|
|
110
|
+
- property:
|
|
111
|
+
identifier: <artifact_property_id>
|
|
112
|
+
values:
|
|
113
|
+
- <file-name>
|
|
114
|
+
|
|
94
115
|
# (Optional) Include instanceArtifacts if the instance ships with input files
|
|
95
116
|
instanceArtifacts:
|
|
96
117
|
- property:
|
|
@@ -17,7 +17,7 @@ repos:
|
|
|
17
17
|
|
|
18
18
|
# Ruff - Python linter and formatter
|
|
19
19
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
20
|
-
rev: v0.
|
|
20
|
+
rev: v0.17.3
|
|
21
21
|
hooks:
|
|
22
22
|
- id: ruff
|
|
23
23
|
args: [--fix]
|
|
@@ -25,7 +25,7 @@ repos:
|
|
|
25
25
|
|
|
26
26
|
# Conventional commits
|
|
27
27
|
- repo: https://github.com/compilerla/conventional-pre-commit
|
|
28
|
-
rev: v4.
|
|
28
|
+
rev: v4.5.0
|
|
29
29
|
hooks:
|
|
30
30
|
- id: conventional-pre-commit
|
|
31
31
|
stages: [commit-msg]
|
|
@@ -43,7 +43,7 @@ repos:
|
|
|
43
43
|
|
|
44
44
|
# UV lock check
|
|
45
45
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
46
|
-
rev: 0.
|
|
46
|
+
rev: 0.13.6
|
|
47
47
|
hooks:
|
|
48
48
|
- id: uv-lock
|
|
49
49
|
- id: uv-export
|
|
@@ -64,7 +64,7 @@ repos:
|
|
|
64
64
|
|
|
65
65
|
# Markdownlint - Markdown linting
|
|
66
66
|
- repo: https://github.com/DavidAnson/markdownlint-cli2
|
|
67
|
-
rev: v0.
|
|
67
|
+
rev: v0.24.0
|
|
68
68
|
hooks:
|
|
69
69
|
- id: markdownlint-cli2
|
|
70
70
|
|
|
@@ -76,7 +76,7 @@ repos:
|
|
|
76
76
|
|
|
77
77
|
# Tombi - TOML formatting
|
|
78
78
|
- repo: https://github.com/tombi-toml/tombi-pre-commit
|
|
79
|
-
rev: v1.
|
|
79
|
+
rev: v1.9.8
|
|
80
80
|
hooks:
|
|
81
81
|
- id: tombi-format
|
|
82
82
|
args: ["--offline"]
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
## [1.1.0](https://github.com/ibm/algorithm-nexus/compare/995ebfa4cccd7d6237dbbeda53ec151ab7fa1743..1.1.0) - 2026-10-13
|
|
2
|
+
#### Features
|
|
3
|
+
- (**Schema**) Updated models and cli to the latest schema for logical benchmarks and experiments (#295) - ([cc441c1](https://github.com/ibm/algorithm-nexus/commit/cc441c18922327912a932d343c2e80b66d3a7d0e)) - Christian Pinto
|
|
4
|
+
- (**benchmarks**) validate instance benchmarkIdentifier matches parent benchmarkIdentifier (#302) - ([33be13b](https://github.com/ibm/algorithm-nexus/commit/33be13b034e34bc78074a94213bcf82b8340b706)) - Vassilis Vassiliadis
|
|
5
|
+
- (**benchmarks**) require exactly one value for each problem property (#305) - ([c2fbd74](https://github.com/ibm/algorithm-nexus/commit/c2fbd74ccac5a49525b38767951c582c31241524)) - Vassilis Vassiliadis
|
|
6
|
+
- (**dependencies**) Removed terrakit from candidate and product dependency groups (#315) - ([3b04e46](https://github.com/ibm/algorithm-nexus/commit/3b04e46b518f56d5c65b03860f6233e20057e58d)) - Christian Pinto
|
|
7
|
+
- (**dependencies**) Updated vllm to version 0.31.0 for candidate and product dependency groups (#313) - ([4111b9b](https://github.com/ibm/algorithm-nexus/commit/4111b9b0f12dbe9f0aa4176982e77db21dbfa7fc)) - Christian Pinto
|
|
8
|
+
- (**design**) support optional metadata in Nexus manifests (#310) - ([f438b6b](https://github.com/ibm/algorithm-nexus/commit/f438b6b7e8e4f20b741958ecd17e2cc18f454541)) - Vassilis Vassiliadis
|
|
9
|
+
- (**design**) Updated logical benchmarks, instances and bindings (#290) - ([574f009](https://github.com/ibm/algorithm-nexus/commit/574f009ecad098f6485d1002cb2a98962c5df98c)) - Christian Pinto
|
|
10
|
+
- (**docs**) Aligned contributing docs to latest schema (#299) - ([7693ef3](https://github.com/ibm/algorithm-nexus/commit/7693ef33764f41054d218b5a7c9773a530dbf76b)) - Christian Pinto
|
|
11
|
+
- (**packages**) Temporarily removing biomed-multi-alignment (#308) - ([8e435f3](https://github.com/ibm/algorithm-nexus/commit/8e435f3287fb3238964a1459007d47f02f1a7fcc)) - Christian Pinto
|
|
12
|
+
- (**skills**) Added skills for creation of logical-benchmark and instance (#303) - ([d488d65](https://github.com/ibm/algorithm-nexus/commit/d488d65eab10ac0f4b9b86aba3c52dc3364aa3f9)) - Christian Pinto
|
|
13
|
+
#### Bug Fixes
|
|
14
|
+
- (**cli**) Solved bug in validate logical-benchmarks that allowed any folder or file to be in a benchmark (#289) - ([c72e1c3](https://github.com/ibm/algorithm-nexus/commit/c72e1c3a49796c5fbc474d6138e040577d810ae5)) - Christian Pinto
|
|
15
|
+
- (**cli**) Updated cli commands to use the new benchmarks/experiments folders structure (#285) - ([daff761](https://github.com/ibm/algorithm-nexus/commit/daff761e16f504668ff45bf6f63d76d78a49a226)) - Christian Pinto
|
|
16
|
+
#### Documentation
|
|
17
|
+
- (**benchmarks**) fix typo (#281) - ([bd6f5c4](https://github.com/ibm/algorithm-nexus/commit/bd6f5c46d578a1f5c33277ccedc1450eb582ca34)) - Vassilis Vassiliadis
|
|
18
|
+
- (**changelog**) add release notes for 1.0.0 (#283) - ([995ebfa](https://github.com/ibm/algorithm-nexus/commit/995ebfa4cccd7d6237dbbeda53ec151ab7fa1743)) - DRL-NextGen
|
|
19
|
+
#### Build system
|
|
20
|
+
- (**deps**) update dependencies (#291) - ([2e16af8](https://github.com/ibm/algorithm-nexus/commit/2e16af88b97319d67ed61be171180fc1ffce749d)) - DRL-NextGen
|
|
21
|
+
- (**hooks**) update pre-commit hooks (#292) - ([5960bec](https://github.com/ibm/algorithm-nexus/commit/5960becdbceb52dcf35d305cffeda55bc34109ff)) - DRL-NextGen
|
|
22
|
+
|
|
23
|
+
- - -
|
|
24
|
+
|
|
1
25
|
## [1.0.0](https://github.com/ibm/algorithm-nexus/compare/f3f8054bba7a0ac14581b1d45e9c655cba984266..1.0.0) - 2026-09-29
|
|
2
26
|
#### Documentation
|
|
3
27
|
- (**benchmarks**) Improved benchmarks terminology and adapted schema accordingly (#250) - ([57fcfa7](https://github.com/ibm/algorithm-nexus/commit/57fcfa75960716c1adadadb5ad8ff819f839f385)) - Christian Pinto
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: algorithm-nexus
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: A comprehensive library for AI model delivery, testing, and benchmarking
|
|
5
5
|
Project-URL: Homepage, https://github.com/IBM/algorithm-nexus
|
|
6
6
|
Project-URL: Issues, https://github.com/IBM/algorithm-nexus/issues
|
|
@@ -13,7 +13,7 @@ Provides-Extra: candidate
|
|
|
13
13
|
Requires-Dist: bmfm-targets[vllm]>=0.20.0; extra == 'candidate'
|
|
14
14
|
Requires-Dist: opencv-python-headless!=5.0.0.93; extra == 'candidate'
|
|
15
15
|
Requires-Dist: terratorch[vllm]==1.2.13; extra == 'candidate'
|
|
16
|
-
Requires-Dist: vllm<0.
|
|
16
|
+
Requires-Dist: vllm<0.34.0,>=0.33.0; extra == 'candidate'
|
|
17
17
|
Provides-Extra: cli
|
|
18
18
|
Requires-Dist: ado-core>=2.0; extra == 'cli'
|
|
19
19
|
Requires-Dist: pydantic>=2.13.3; extra == 'cli'
|
|
@@ -28,8 +28,8 @@ Requires-Dist: terratorch>=1.2.7; extra == 'ecosystem'
|
|
|
28
28
|
Requires-Dist: tokamind; extra == 'ecosystem'
|
|
29
29
|
Provides-Extra: product
|
|
30
30
|
Requires-Dist: opencv-python-headless!=5.0.0.93; extra == 'product'
|
|
31
|
-
Requires-Dist: terratorch[vllm]==1.2.
|
|
32
|
-
Requires-Dist: vllm<0.
|
|
31
|
+
Requires-Dist: terratorch[vllm]==1.2.14; extra == 'product'
|
|
32
|
+
Requires-Dist: vllm<0.34.0,>=0.33.0; extra == 'product'
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
34
34
|
|
|
35
35
|
# Algorithm Nexus
|
|
@@ -123,10 +123,29 @@ experiment_package:
|
|
|
123
123
|
|
|
124
124
|
Each id in the list is available to submissions under this experiment folder.
|
|
125
125
|
|
|
126
|
+
### Label an experiment's compute type
|
|
127
|
+
|
|
128
|
+
To label the compute type of an experiment, add a `compute-type-<experiment>`
|
|
129
|
+
key to the `metadata` block of `experiment_package.yaml`. The `<experiment>`
|
|
130
|
+
part must be one of the ids in the `experiments` list:
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
experiment_package:
|
|
134
|
+
requirement_specifier: "rlx-coloring"
|
|
135
|
+
experiments:
|
|
136
|
+
- rlx_coloring
|
|
137
|
+
|
|
138
|
+
metadata:
|
|
139
|
+
compute-type-rlx_coloring: Classical
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
See [Compute type metadata](../../design/benchmarking/benchmark_experiments_and_submissions.md#6-compute-type-metadata)
|
|
143
|
+
for suggested values.
|
|
144
|
+
|
|
126
145
|
### Author a new experiment package
|
|
127
146
|
|
|
128
147
|
To create the Python package itself, follow the
|
|
129
|
-
[ado custom experiment template](https://ibm.github.io/ado/
|
|
148
|
+
[ado custom experiment template](https://ibm.github.io/ado/latest/developer-guide/creating-custom-experiments/),
|
|
130
149
|
publish the package on PyPI or GitHub, then continue from
|
|
131
150
|
[step 1](#1-create-the-experiment-folder).
|
|
132
151
|
|
|
@@ -196,6 +196,100 @@ benchmarks/graph_coloring/instances/erdos_renyi_50_02/
|
|
|
196
196
|
└── graph.json
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
+
### Cover several values of a property with variants
|
|
200
|
+
|
|
201
|
+
When the files of one instance differ by the value of a problem property (e.g. a
|
|
202
|
+
sweep over `edge_density`), define a single instance with `variants` instead of
|
|
203
|
+
one instance per value. A property that varies is omitted from
|
|
204
|
+
`problemPropertyValues` and given a value in **every** variant. Each variant
|
|
205
|
+
lists the artifact files, in the artifact's `artifactsLocation`, that belong to
|
|
206
|
+
it:
|
|
207
|
+
|
|
208
|
+
```yaml
|
|
209
|
+
instanceIdentifier: erdos_renyi_50
|
|
210
|
+
benchmarkIdentifier: graph_coloring
|
|
211
|
+
description: 50-node Erdos-Renyi graphs with different edge densities
|
|
212
|
+
problemPropertyValues:
|
|
213
|
+
- property:
|
|
214
|
+
identifier: graph_family
|
|
215
|
+
value: erdos_renyi
|
|
216
|
+
- property:
|
|
217
|
+
identifier: num_vertices
|
|
218
|
+
value: 50
|
|
219
|
+
instanceArtifacts:
|
|
220
|
+
- property:
|
|
221
|
+
identifier: graph
|
|
222
|
+
artifactsLocation: graph_files
|
|
223
|
+
variants:
|
|
224
|
+
- problemPropertyValues:
|
|
225
|
+
- property:
|
|
226
|
+
identifier: edge_density
|
|
227
|
+
value: 0.2
|
|
228
|
+
instanceArtifactValues:
|
|
229
|
+
- property:
|
|
230
|
+
identifier: graph
|
|
231
|
+
values:
|
|
232
|
+
- graph_02.dimacs
|
|
233
|
+
- graph_02.json
|
|
234
|
+
- problemPropertyValues:
|
|
235
|
+
- property:
|
|
236
|
+
identifier: edge_density
|
|
237
|
+
value: 0.5
|
|
238
|
+
instanceArtifactValues:
|
|
239
|
+
- property:
|
|
240
|
+
identifier: graph
|
|
241
|
+
values:
|
|
242
|
+
- graph_05.dimacs
|
|
243
|
+
- graph_05.json
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
The instance directory then looks like this:
|
|
247
|
+
|
|
248
|
+
```text
|
|
249
|
+
benchmarks/graph_coloring/instances/erdos_renyi_50/
|
|
250
|
+
├── instance.yaml
|
|
251
|
+
└── graph_files/
|
|
252
|
+
├── graph_02.dimacs
|
|
253
|
+
├── graph_02.json
|
|
254
|
+
├── graph_05.dimacs
|
|
255
|
+
└── graph_05.json
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
- Every value a property can take for this instance must be declared in a
|
|
259
|
+
variant.
|
|
260
|
+
- For artifacts that change with the variant, list all combinations of interest
|
|
261
|
+
for each property that has variants.
|
|
262
|
+
|
|
263
|
+
Validation fails if a variant is missing a value, redefines a property that has
|
|
264
|
+
a top-level value, duplicates another variant, or lists a file that does not
|
|
265
|
+
exist. Bindings need no changes; see
|
|
266
|
+
[Instances with variants](../../design/benchmarking/logical_benchmarks_and_instances.md#instances-with-variants).
|
|
267
|
+
|
|
268
|
+
### Record where a benchmark comes from
|
|
269
|
+
|
|
270
|
+
To record the source of a problem that comes from a public benchmark library,
|
|
271
|
+
add the source keys to the `metadata` block of `benchmark.yaml`:
|
|
272
|
+
|
|
273
|
+
```yaml
|
|
274
|
+
metadata:
|
|
275
|
+
benchmark-source-name: QOBLIB
|
|
276
|
+
benchmark-source-url: https://zib-aopt.github.io/QOBLIB/problem/07/
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
To also point to the matching instance in that source, set the instance keys
|
|
280
|
+
in the `metadata` block of `instance.yaml`. Repeat `benchmark-source-name`,
|
|
281
|
+
since an instance does not inherit the metadata of its benchmark:
|
|
282
|
+
|
|
283
|
+
```yaml
|
|
284
|
+
metadata:
|
|
285
|
+
benchmark-source-name: QOBLIB
|
|
286
|
+
benchmark-instance-source-name: ibm32
|
|
287
|
+
benchmark-instance-source-url: https://zib-aopt.github.io/QOBLIB/instance.html?problem=07&name=ibm32
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
See [Benchmark source metadata](../../design/benchmarking/logical_benchmarks_and_instances.md#9-benchmark-source-metadata)
|
|
291
|
+
for the list of keys.
|
|
292
|
+
|
|
199
293
|
### Add an instance to an existing problem
|
|
200
294
|
|
|
201
295
|
To add another instance of a problem that is already registered, create a new
|
|
@@ -225,7 +319,7 @@ propertyDomain:
|
|
|
225
319
|
```
|
|
226
320
|
|
|
227
321
|
To leave a categorical property open, omit `propertyDomain`. See the
|
|
228
|
-
[ado property domain documentation](https://ibm.github.io/ado/
|
|
322
|
+
[ado property domain documentation](https://ibm.github.io/ado/latest/concepts/properties-and-domains/)
|
|
229
323
|
and
|
|
230
324
|
[section 2 of Logical Benchmarks and Instances](../../design/benchmarking/logical_benchmarks_and_instances.md#2-logical-benchmark-definition).
|
|
231
325
|
|
|
@@ -101,7 +101,7 @@ Here `n_nodes`, `density`, and `graph_type` carry `num_vertices`,
|
|
|
101
101
|
target.
|
|
102
102
|
|
|
103
103
|
See
|
|
104
|
-
[Using your custom experiment in a discoveryspace](https://ibm.github.io/ado/
|
|
104
|
+
[Using your custom experiment in a discoveryspace](https://ibm.github.io/ado/latest/developer-guide/creating-custom-experiments/#using-your-custom-experiment-in-a-discoveryspace)
|
|
105
105
|
for the `space.yaml` syntax.
|
|
106
106
|
|
|
107
107
|
You now have:
|
{algorithm_nexus-1.1.0 → algorithm_nexus-1.1.1}/docs/contributing/benchmarks/add_instance_binding.md
RENAMED
|
@@ -105,8 +105,17 @@ experiments/rlx_coloring/
|
|
|
105
105
|
uv run nexus validate experiments --experiment rlx_coloring
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
A successful run lists the
|
|
109
|
-
|
|
108
|
+
A successful run lists the binding file with status `success`. Besides the
|
|
109
|
+
experiment package, the command checks that:
|
|
110
|
+
|
|
111
|
+
- the binding matches the schema and its `instanceBindingIdentifier` is unique
|
|
112
|
+
- `experimentIdentifier` is listed in the experiment's `experiment_package.yaml`
|
|
113
|
+
- `instanceReference` points to an existing benchmark and instance
|
|
114
|
+
- every mapped metric and problem property exists in the benchmark
|
|
115
|
+
- every `instanceArtifactMapping` names an artifact declared by the instance,
|
|
116
|
+
and each file in `validValues` exists in that artifact's `artifactsLocation`
|
|
117
|
+
|
|
118
|
+
The binding is ready to commit.
|
|
110
119
|
|
|
111
120
|
## 3. Open a pull request
|
|
112
121
|
|
|
@@ -67,7 +67,7 @@ submissions. Logical benchmarks, instances, and results are specified in
|
|
|
67
67
|
- in this design, experiments are declared in
|
|
68
68
|
`experiments/<name>/experiment_package.yaml`
|
|
69
69
|
- All benchmark experiments follow the
|
|
70
|
-
[ADO custom experiment template](https://ibm.github.io/ado/
|
|
70
|
+
[ADO custom experiment template](https://ibm.github.io/ado/latest/developer-guide/creating-custom-experiments/)
|
|
71
71
|
|
|
72
72
|
- **Benchmark submission**
|
|
73
73
|
- one registered use of a benchmark experiment on a benchmark instance for a
|
|
@@ -175,6 +175,11 @@ experiment_package:
|
|
|
175
175
|
- bubble_sort
|
|
176
176
|
- merge_sort
|
|
177
177
|
- quick_sort
|
|
178
|
+
|
|
179
|
+
metadata:
|
|
180
|
+
compute-type-bubble_sort: Classical
|
|
181
|
+
compute-type-merge_sort: Classical
|
|
182
|
+
compute-type-quick_sort: Classical
|
|
178
183
|
```
|
|
179
184
|
|
|
180
185
|
GitHub URL example:
|
|
@@ -192,7 +197,8 @@ experiment_package:
|
|
|
192
197
|
GitHub URL (local paths are rejected by schema validation)
|
|
193
198
|
- `experiment_package.experiments` — required; non-empty list of experiment
|
|
194
199
|
identifiers exposed by the package
|
|
195
|
-
- `metadata` — optional; flat string-to-string dictionary for arbitrary
|
|
200
|
+
- `metadata` — optional; flat string-to-string dictionary for arbitrary
|
|
201
|
+
key-value annotations (keys and values up to 4,096 characters).
|
|
196
202
|
|
|
197
203
|
### 3.2 Benchmark Submissions in `submissions/`
|
|
198
204
|
|
|
@@ -235,7 +241,7 @@ experiments:
|
|
|
235
241
|
identifiers declared in the sibling `experiment_package.yaml`
|
|
236
242
|
|
|
237
243
|
For reference on the expected discoveryspace structure, see
|
|
238
|
-
[Using your custom experiment in a discoveryspace](https://ibm.github.io/ado/
|
|
244
|
+
[Using your custom experiment in a discoveryspace](https://ibm.github.io/ado/latest/developer-guide/creating-custom-experiments/#using-your-custom-experiment-in-a-discoveryspace).
|
|
239
245
|
|
|
240
246
|
---
|
|
241
247
|
|
|
@@ -286,3 +292,38 @@ Fetching details on experiments and submissions — such as expected input,
|
|
|
286
292
|
metrics exported, etc. — can be obtained with a combination of the `nexus` CLI
|
|
287
293
|
for listing and the `ado` CLI for full experiment details after installing the
|
|
288
294
|
relevant experiment package.
|
|
295
|
+
|
|
296
|
+
### 5.4 Leaderboard and Discovery Filtering by Compute Type
|
|
297
|
+
|
|
298
|
+
Leaderboards and experiment discovery interfaces can use the optional `metadata` in `experiment_package.yaml` to
|
|
299
|
+
filter and categorize experiments. For example, a user might want to search for, or filter a leaderboard by,
|
|
300
|
+
experiments of a specific compute type (e.g. classical algorithms, AI-based approaches, or hybrid quantum workflows).
|
|
301
|
+
|
|
302
|
+
Using the metadata conventions, a discovery interface or leaderboard can parse labels like the following to
|
|
303
|
+
automatically tag and filter results:
|
|
304
|
+
|
|
305
|
+
```yaml
|
|
306
|
+
metadata:
|
|
307
|
+
compute-type-bubble_sort: Classical
|
|
308
|
+
compute-type-neural_sort: AI
|
|
309
|
+
compute-type-merge_sort: AI-Classical
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## 6. Compute Type Metadata
|
|
315
|
+
|
|
316
|
+
The optional `metadata` block of `experiment_package.yaml` can label the compute type of each experiment the package
|
|
317
|
+
lists. Nexus does not interpret these keys directly. They are conventions that tools reading Nexus manifests can rely
|
|
318
|
+
on.
|
|
319
|
+
|
|
320
|
+
<!-- markdownlint-disable line-length -->
|
|
321
|
+
|
|
322
|
+
| Key | Description |
|
|
323
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
324
|
+
| `compute-type-<experiment>` | Compute type of `<experiment>`, which is one of the identifiers listed under `experiment_package.experiments` in the same file. |
|
|
325
|
+
|
|
326
|
+
<!-- markdownlint-enable line-length -->
|
|
327
|
+
|
|
328
|
+
The value is a free-form string. Suggested values are `Quantum`, `AI`, and `Classical`. For a hybrid, join two of them
|
|
329
|
+
with a hyphen, for example `Quantum-Classical`, `Quantum-AI`, or `AI-Classical`.
|