Skip to main content

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
Use the `make` command to generate project artefacts:
  • make all: make everything
  • make 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:

  1. 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 version A.B.C (typically copied from src/opencloning_linkml/datamodel/_models.py after generating the new version).

  2. Create the transformation file: Create a new file src/opencloning_linkml/migrations/transformations/vX_Y_Z_to_vA_B_C.py with a migration function

  3. 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
  4. Add a test: Add a test to tests/test_migration.py to 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)

Source distribution for opencloning-linkml 1.0.0
File Size Uploaded
opencloning_linkml-1.0.0.tar.gz 148.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opencloning-linkml 1.0.0
File Interpreter ABI Platform
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 log

Release 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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page