Repository navigation
0.6.0: multivalued output_ids, no test_env on test cases, Python 3.10+ - #43
Merged
Merged
Conversation
An expected output can now be named by several CURIEs, any one of which counts as the expected answer. For example, sirolimus is CHEBI:9168 and PUBCHEM.COMPOUND:5284616; node normalization no longer merges these, so Translator returns them as separate answers. This is a breaking change: data still using output_id is rejected by the Pydantic model, and a single CURIE must be given as a one-item list. - schema: output_id -> output_ids (multivalued uriorcurie) - regenerate the datamodels and project artifacts with linkml 1.7.8 - convert the examples, add a two-CURIE sirolimus example, and test the Pydantic model's handling of the new slot - bump version to 0.6.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S2yuREtzxTuRqVGp8Q8a6d
A suite is the same in every environment, so test cases no longer say which one they run in: the TestHarness is told. TestCase and PathfinderTestCase (and so every test case class) drop test_env, and data that still has it is rejected. TestRunSession keeps it, since a record of a run says where it ran. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S2yuREtzxTuRqVGp8Q8a6d
snok/install-poetry installs the latest Poetry, and since 2.3.0 that needs Python 3.10+, so the Python 3.9 test job (and the docs deploy, also on 3.9) failed before running anything. poetry.lock was written by Poetry 1.8, and 1.8.5 is the last 1.x release. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S2yuREtzxTuRqVGp8Q8a6d
Poetry 2.3+ needs Python 3.10+, so rather than pinning an old Poetry in CI, require Python 3.10. CI tests 3.10 to 3.12 (all the package supports) with the latest Poetry again, and the docs and release workflows run on 3.10. poetry.lock is relocked with Poetry 2.5.1: every package keeps its version; importlib-metadata and zipp, needed only on 3.9, drop out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S2yuREtzxTuRqVGp8Q8a6d
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three breaking changes, released together as 0.6.0 so the Tests repo, the Test Harness and the Information Radiator switch over once.
TestAsset.output_id→output_idsAn expected output can now be named by several CURIEs, any of which counts as the expected answer. For example, sirolimus is
CHEBI:9168andPUBCHEM.COMPOUND:5284616; node normalization no longer merges these, so Translator returns them as separate answers with their evidence split.output_idsis a multivalueduriorcuriethat defaults to[](performance assets have no expected output).output_idis rejected, and a single CURIE has to be a one-item list.Good-TestAsset-002.json).test_envremoved from test casesA suite is the same in every environment, so test cases no longer say which one they run in. The Test Harness is told instead (
--env).test_envis removed fromTestCaseandPathfinderTestCase, so from every test case class.TestRunSessionkeeps it, since a record of a run should say where it ran.Python 3.10+
CI was failing because
snok/install-poetryinstalls the latest Poetry, and since 2.3.0 that needs Python 3.10, so the 3.9 job couldn't start.>=3.10,<3.13.poetry.lockis relocked with Poetry 2.5.1. Every package keeps its version;importlib-metadataandzipp, needed only on 3.9, drop out. The lock format is now 2.1, which needs Poetry 2.0 or later.Also
project/artifacts are regenerated with linkml 1.7.8, the version inpoetry.lock. I checked that it reproduces the committed Pydantic model exactly before the change. The large OWL/SHACL diffs are the generators reordering lines; the only real changes in them are the two slots above.tests/test_output_ids.pyandtests/test_test_env.py.Testing
poetry install --no-root,poetry installandmake test, run locally with Poetry 2.5.1 on Python 3.10, 3.11 and 3.12. All pass, with 39 tests and 4 skipped as before.poetry build, run withpoetry-dynamic-versioningand av0.6.0tag, givestranslator_testing_model-0.6.0withRequires-Python: >=3.10,<3.13.poetry install -E docsresolves.Rollout
v0.6.0release, which publishes to PyPI.translator-testing-model==0.6.0; its CI can't install until the release is out. The harness image is on Python 3.11.🤖 Generated with Claude Code
https://claude.ai/code/session_01S2yuREtzxTuRqVGp8Q8a6d