Skip to main content

Copier Badge

go-standard-annotation-schema

LinkML schema for GO Standard Annotations

Documentation Website

https://geneontology.github.io/go-standard-annotation-schema

Repository Structure

Developer Tools

uv is the only required development tool. It installs the project dependencies and the locked copy of just:

uv sync
uv run --locked just check
uv run --locked just test

Run uv run --locked just to see focused checks, generation commands, and documentation recipes. See CONTRIBUTING.md for automatic fixes, optional Git hooks, and editor integration.

If you have just installed globally, you can omit the uv run --locked prefix and run just directly.

Reading GPAD and GPI files

GpadReader and GpiReader stream validated annotations and entities without loading the whole file into memory. Both readers support only version 2.0 of their respective formats. A path ending in .gz is opened as a gzip-compressed text file; other paths are opened as ordinary text files.

Use a reader as a context manager to inspect its header metadata and iterate over its records:

from go_standard_annotation_schema.io import GpadReader

with GpadReader("annotations.gpad.gz") as reader:
  print(reader.metadata.generated_by)
  for annotation in reader:
    print(annotation.db_object_id)

By default, an invalid data row raises RowError. Use errors="skip" to continue after invalid rows, and on_error to inspect every skipped row:

def report(issue):
  print(issue.source, issue.line_number, issue.code)


with GpadReader("annotations.gpad", errors="skip", on_error=report) as reader:
  for annotation in reader:
    consume(annotation)
  print(reader.stats.rows_skipped)

For an individual headerless GPI data row, use the class-level parser:

from go_standard_annotation_schema.io import GpiReader

entity = GpiReader.parse_line(line)
print(entity.db_object_symbol)

For an individual headerless GPAD data row, the class-level parser returns every annotation produced by that row:

from go_standard_annotation_schema.io import GpadReader

(annotation,) = GpadReader.parse_line(line)
print(annotation.ontology_class_id)

For GPAD columns 7 and 11, pipes separate alternative annotations and commas separate values within one annotation. When either field contains pipes, the reader emits one Annotation for each Cartesian-product combination. Therefore GpadReader.parse_line() returns a tuple, even when a row produces one annotation.

Interacting taxon identifiers are split only on pipes. Other content is passed unchanged to Annotation.model_validate() for model-level validation.

See the official GPAD 2.0 format documentation and GPI 2.0 format documentation.

Credits

This project uses the template linkml-project-copier.

Metadata

Release files for go-standard-annotation-schema 0.1.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 go-standard-annotation-schema 0.1.0
File Size Uploaded Provenance Actions
go_standard_annotation_schema-0.1.0.tar.gz 204.1 kB With provenance Details for go_standard_annotation_schema-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for go-standard-annotation-schema 0.1.0
File Interpreter ABI Platform Actions
go_standard_annotation_schema-0.1.0-py3-none-any.whl Python 3 none any Details for go_standard_annotation_schema-0.1.0-py3-none-any.whl

Total release size: 236.9 kB

Release files / go_standard_annotation_schema-0.1.0.tar.gz

Download URL go_standard_annotation_schema-0.1.0.tar.gz
Size 204.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ed776ca4fac3a6c8ea611752e6811aa09e8efd585d7405053dcc37bf965c3bf8
BLAKE2b-256 checksum
How to use checksums
624c6191ccb91cc31419680aba2e6945cc7e0ea44e88eca3209475f3f72be6b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Release files / go_standard_annotation_schema-0.1.0-py3-none-any.whl

Download URL go_standard_annotation_schema-0.1.0-py3-none-any.whl
Size 32.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16314d31175cf1fea5fe1eec63babc57ac6721c785f98e3f1f53921ef429a3da
BLAKE2b-256 checksum
How to use checksums
71e07f83e8976596647f8428d6ca2f1be2fdc4fe9f17c16c15f2dd7005909764
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 6, 2026.

Transparency log

Security for go-standard-annotation-schema 0.1.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for go_standard_annotation_schema-0.1.0.tar.gz

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 Nov 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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