Skip to main content

neverblink-linkml

Fast and robust LinkML schema validation and code generation for Python, backed by LinkML-Scala compiled to a native shared library.

Install

pip install neverblink-linkml

Usage

import linkml_scala

with linkml_scala.load_file("model.yaml") as schema:
    print(schema.json_schema())
    print(schema.shacl())
    for issue in schema.issues(linkml_scala.WARNING):
        print(issue["severity"], issue["message"])

load_file() will automatically resolve imports and parse the schema. You can reuse the Schema object for multiple generator calls, and it will automatically cache the parsed form of any imported schemas.

Generators available on a Schema: json_schema(), shacl(), rdfs(), linkml(), frictionless(), graphql(), er_diagram(), translation(), ossie(), and scala(), plus lint() for validation.

Going the other way, linkml_scala.from_ossie() reads an Apache Ossie (incubating) ontology and returns the corresponding LinkML schema as YAML or JSON.

To work from memory instead of the file system, use load_string() for a single schema or load_path() when imports are involved:

schema = linkml_scala.load_path("model.yaml", {
    "model.yaml": "...",
    "person.yaml": "...",  # referenced via `imports: - person`
})

Supported platforms

We provide both sdist (source distribution) and pre-built wheels for popular platforms (Linux, macOS, Windows, x86-64 and ARM64).

To build the package from source (sdist) you must have Java 17+ and Clang installed on your system. Please open an issue if you encounter any issues with the installation process.

Documentation

License

Apache 2.0.

Release files for neverblink-linkml 0.16.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neverblink-linkml 0.16.2
File Size Uploaded
neverblink_linkml-0.16.2.tar.gz 62.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for neverblink-linkml 0.16.2
File
neverblink_linkml-0.16.2-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
neverblink_linkml-0.16.2-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
neverblink_linkml-0.16.2-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
neverblink_linkml-0.16.2-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
neverblink_linkml-0.16.2-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
neverblink_linkml-0.16.2-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
neverblink_linkml-0.16.2-py3-none-macosx_14_0_x86_64.whl Python 3 none macOS 14.0+ x86-64 Details
neverblink_linkml-0.16.2-py3-none-macosx_14_0_arm64.whl Python 3 none macOS 14.0+ ARM64 Details

Total release size: 85.6 MB

Release history Release notifications | RSS feed

This release

0.16.2 This release

9 release files

0.16.1

9 release files

0.16.0

9 release files

0.15.0

6 release files

0.14.0

6 release files

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