Skip to content

Commit a1cd9f9

Browse files
committed
validation
1 parent a975f1d commit a1cd9f9

11 files changed

Lines changed: 37 additions & 16 deletions

ecosystem/validation/test_classifications.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ def labels(toml_file_data):
3434
return [c["name"] for c in toml_file_data["labels"]]
3535

3636

37+
@pytest.fixture
38+
def pattern_steps(toml_file_data):
39+
return [c["name"] for c in toml_file_data["pattern_steps"]]
40+
41+
3742
@pytest.fixture
3843
def support(toml_file_data):
3944
return [c["name"] for c in toml_file_data["maturity"]]
@@ -48,15 +53,29 @@ def test_valid_interfaces(member, interfaces):
4853
for interface in member.interface:
4954
assert (
5055
interface in interfaces
51-
), f"the interface '{interface}' does not exist in labels.toml"
56+
), f"the interface '{interface}' does not exist in classifications.toml"
5257

5358

5459
def test_valid_category(member, categories):
5560
"""008"""
56-
assert member.category in categories, "member.group should exist in labels.toml"
61+
assert (
62+
member.category in categories
63+
), "member.group should exist in classifications.toml"
5764

5865

5966
def test_valid_label(member, labels):
6067
"""009"""
6168
for label in member.labels:
62-
assert label in labels, f"the label '{label}' does not exist in labels.toml"
69+
assert (
70+
label in labels
71+
), f"the label '{label}' does not exist in classifications.toml"
72+
73+
74+
def test_005(member, pattern_steps):
75+
"""All `member.pattern_steps` should exist in https://qisk.it/ecosystem-pattern_steps"""
76+
if not member.pattern_steps:
77+
pytest.skip("No Qiskit Pattern step declared")
78+
for pattern_step in member.pattern_steps:
79+
assert (
80+
pattern_step in pattern_steps
81+
), f"the Qiskit Pattern step '{pattern_step}' does not exist in classifications.toml"

resources/checks.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ description = "If the software depends on Qiskit SDK in some way, there should e
3030
importance = "CRITICAL"
3131
checker = "test_general.py::test_Q20"
3232

33+
[005]
34+
title = "Qiskit Pattern steps have to exist"
35+
description = "All `member.pattern_steps` should exist in https://qisk.it/ecosystem-pattern_steps"
36+
applies_to = "all"
37+
affects = ["member.pattern_steps.*"]
38+
category = "SUBMISSION"
39+
checker = "test_classifications.py::test_005"
40+
importance = "IMPORTANT"
3341

3442
[007]
3543
title = "Interface have to exist"

resources/classifications.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ description = "Translate domain-specific problems into quantum circuits and oper
221221
name = "Optimize"
222222
description = "Optimize quantum circuits into ISA circuits (mapping to physical qubits, converting to hardware basis gates, and reducing operations) to maximize success on the target device."
223223

224-
225224
[[pattern_steps]]
226225
name = "Execute"
227226
description = "Run the quantum circuits using primitives (such as Estimator or Sampler) to get results."

resources/members/arvaklite_7fcadf8b.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ labels = [ "circuit optimization", "optimization", "HPC",]
77
interface = [ "Python",]
88
website = "https://arvak.io"
99
category = "Transpiler plugin"
10-
packages = []
1110
pattern_steps = [ "Optimize",]
11+
packages = []
1212
uuid = "7fcadf8b-f043-4eac-a491-9783a1c00cfe"
1313
maturity = "production-ready"
1414

resources/members/doublequan_6e4e5010.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ last_activity = 2026-04-21T11:22:17Z
2727
url = "https://qisk.it/e-6e4e5010"
2828
style = "flat"
2929

30-
[checks.014]
31-
since = 2026-04-14T08:12:50.128851
32-
details = "Description is 143-character long"
33-
importance = "IMPORTANT"
34-
3530
[checks.PQ1]
3631
since = 2026-04-30T11:32:49.789583
3732
details = "assert False"

resources/members/gulps_0a8128d0.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ contact_info = "[email protected]"
66
labels = [ "circuit building",]
77
interface = [ "Python",]
88
category = "Transpiler plugin"
9+
pattern_steps = [ "Optimize",]
910
reference_paper = "https://arxiv.org/abs/2505.00543"
1011
packages = []
11-
pattern_steps = [ "Optimize",]
1212
uuid = "0a8128d0-2398-411b-a08e-737e2b198387"
1313
maturity = "production-ready"
1414

resources/members/psfzero_ec4cc7b4.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ contact_info = "[email protected]"
66
labels = [ "error mitigation", "optimization",]
77
interface = [ "Python",]
88
category = "Transpiler plugin"
9+
pattern_steps = [ "Map", "Optimize",]
910
documentation = "https://github.com/love-os-architect/README/blob/main/LOVE_OS_WHITE_PAPER_V1.md"
1011
packages = []
11-
pattern_steps = [ "Map", "Optimize",]
1212
uuid = "ec4cc7b4-0953-4a29-bea9-d9abeeddc16a"
1313
maturity = "production-ready"
1414

resources/members/qbcompiler_2334d2a1.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ labels = [ "circuit optimization", "error mitigation",]
77
interface = [ "Python",]
88
website = "https://qubitboost.io/compiler"
99
category = "Transpiler plugin"
10+
pattern_steps = [ "Optimize",]
1011
documentation = "https://mwpwalshe.github.io/qb-compiler/"
1112
packages = []
12-
pattern_steps = [ "Optimize",]
1313
uuid = "2334d2a1-93bc-4652-8e15-ac395b2d3dd9"
1414
maturity = "production-ready"
1515

resources/members/qvoting_64b432d7.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ contact_info = "[email protected]"
66
labels = [ "error mitigation", "error correction", "optimization", "research",]
77
interface = [ "Python",]
88
category = "Application"
9-
packages = []
109
pattern_steps = [ "Post-process",]
10+
packages = []
1111
uuid = "64b432d7-f5f5-487f-8789-caadba593ce9"
1212
maturity = "production-ready"
1313

resources/members/satsynthes_2e6b95b1.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ importance = "IMPORTANT"
3434

3535
[checks.008]
3636
since = 2026-04-23T18:17:37.676459
37-
details = "member.group should exist in labels.toml"
37+
details = "member.group should exist in classifications.toml"
3838
importance = "IMPORTANT"
3939

4040
[pypi.qiskit-sat-synthesis]

0 commit comments

Comments
 (0)