OpenCloning_LinkML
A LinkML data model for OpenCloning, a standardized schema for describing molecular cloning strategies and DNA assembly protocols.
Website
You can access the model documentation at https://opencloning.github.io/OpenCloning_LinkML
Migration from previous versions of the schema
If you have json files in older formats, you can migrate them to the latest version using the migrate command:
python -m opencloning_linkml.migrations.migrate file.json
This will create a new file with the same name but with the suffix _backup.json with the original data, and overwrite the original file with the migrated data.
You can also specify a target version to migrate to:
python -m opencloning_linkml.migrations.migrate file.json --target-version 0.2.9
And you can skip the backup (simply edit in place):
python -m opencloning_linkml.migrations.migrate file.json --no-backup
Developer Documentation
The python package can be installed from PyPI:
pip install opencloning-linkml
make all: make everythingmake deploy: deploys site
Creating a migration
To add a migration from version X.Y.Z to a new version A.B.C, follow these steps:
-
Archive the current model: Save a copy of the current Pydantic model to
src/opencloning_linkml/migrations/model_archive/vA_B_C.py. This file should contain the complete model classes for versionA.B.C(typically copied fromsrc/opencloning_linkml/datamodel/_models.pyafter generating the new version). -
Create the transformation file: Create a new file
src/opencloning_linkml/migrations/transformations/vX_Y_Z_to_vA_B_C.pywith a migration function -
Register the migration: Add the migration to
src/opencloning_linkml/migrations/__init__.py:- Import the migration function:
from .transformations.vX_Y_Z_to_vA_B_C import migrate_X_Y_Z_to_A_B_C - Add it to the
load_migrations()return dictionary:("X.Y.Z", "A.B.C"): migrate_X_Y_Z_to_A_B_C
- Import the migration function:
-
Add a test: Add a test to
tests/test_migration.pyto ensure the migration works as expected.
Example: See v0_2_8_to_v0_2_9.py for a simple transformation example, or v0_2_9_to_v_0_4_0.py for a more complex migration with ID remapping and structural changes.
Credits
This project was made with linkml-project-cookiecutter.
Metadata
Release files for opencloning-linkml 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opencloning_linkml-1.0.0.tar.gz | 148.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opencloning_linkml-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 232.0 kB
Release files / opencloning_linkml-1.0.0.tar.gz
| Download URL | opencloning_linkml-1.0.0.tar.gz |
|---|---|
| Size | 148.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
318c2ebcb563ca266258cd699d8eac4b2bd61c1d8c8a647131bb7351815a84da
|
|
BLAKE2b-256 checksum How to use checksums |
2abd11e86f45ba5eea10b211e9738304c687743218c96d6780a92c4243f6267e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency logRelease files / opencloning_linkml-1.0.0-py3-none-any.whl
| Download URL | opencloning_linkml-1.0.0-py3-none-any.whl |
|---|---|
| Size | 83.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
59fbb9b77e1170a338c501399f912cd31b605515c525f9cb8b1e88d2e8b8377f
|
|
BLAKE2b-256 checksum How to use checksums |
5d5a707d420d95fbf3d9279a40864b1c7c27f9a1380039bb2ad817158a0181a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency log