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.0.6

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.0.6
File Size Uploaded Provenance Actions
go_standard_annotation_schema-0.0.6.tar.gz 191.2 kB With provenance Details for go_standard_annotation_schema-0.0.6.tar.gz

Built distribution (wheel)

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

Total release size: 219.1 kB

Release files / go_standard_annotation_schema-0.0.6.tar.gz

Download URL go_standard_annotation_schema-0.0.6.tar.gz
Size 191.2 kB
Tags Source
SHA-256 checksum
How to use checksums
52f94a95d0dcfe2d5dcc7d205a4f31fdf7475eac42708a2eeeb1ff1aab2f9c7e
BLAKE2b-256 checksum
How to use checksums
689d4ea1a9325b7fd6f6d46603411f39a0010a0dd1ee0c4deb8082b99dc73cca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

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

Download URL go_standard_annotation_schema-0.0.6-py3-none-any.whl
Size 27.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93d18de3fb2d5f0f0fa938a4befe4708fded72fa50a6d95aa06c0af67ee22050
BLAKE2b-256 checksum
How to use checksums
96557353eb5a46801c748d15a19e29058232a0a28481f1f50f2ae3c7ca0442f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 13, 2026.

Transparency log

Security for go-standard-annotation-schema 0.0.6

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.0.6.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 Oct 13, 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