skillfed

pronto

Python frontend to ontologies.

pronto v2.7.3 142.9K downloads/30d#11,195 on PyPI267
Permissive license MIT License Copyright (c) 2016-2026 Martin Larralde <martin.larralde@embl.de> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated… (full text in the JSON record) AGING released

What it is and what it does

Pronto is a Python library that acts as a frontend to ontologies, allowing you to load, manipulate, and export biomedical ontology data. It implements the Open Biomedical Ontologies 1.4 specification and supports three major formats: OBO, OBO Graphs in JSON, and OWL2 in RDF/XML. The library presents ontologies as navigable Python objects—you can access terms by identifier, traverse class hierarchies, create new terms, and serialize back to any supported format.

The package depends on chardet, fastobo, networkx, and python-dateutil. It is typed and supports Python 3.7 through 3.14. The library is explicit about non-standard assumptions and missing capabilities, surfacing these as warnings rather than silent failures.

Use it for:

  • Load and query biomedical ontologies to programmatically access term definitions and hierarchies.
  • Convert OWL2 ontologies to OBO format for downstream tools requiring OBO.
  • Build or extend ontologies by creating new terms, setting relationships, and exporting.
  • Iterate over all terms to identify leaf nodes, compute statistics, or validate structure.
  • Integrate ontology data into bioinformatics pipelines needing structured semantic information.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pronto parses, browses, creates, and exports ontologies in OBO, OBO Graphs JSON, and OWL2 RDF/XML formats, providing a high-level Python interface to biomedical ontology data.

Yes. Pronto is a mature, well-maintained library for a specialized but important use case in bioinformatics. Low install friction, no known vulnerabilities, permissive licensing, and broad Python version support make it a low-risk addition. The aging maintenance status is typical for stable libraries. Install it if you need to work with biomedical ontologies in Python.

Install

pronto on PyPI

pip

pip install pronto

uv

uv add pronto

poetry

poetry add pronto

Installing pronto

Before you install

Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 214 days ago—but the repository remains active with recent commits and marked Production/Stable.

License in practice

MIT License permits unrestricted use, modification, and distribution with minimal restrictions, suitable for both commercial and open-source projects.

Quickstart

from pronto import Ontology

go = Ontology("tests/data/go.obo.gz")
term = go['CL:0002116']
print(term.name)

Verify before relying

  • Performance characteristics when working with large ontologies or deeply nested hierarchies.
  • Completeness of OBO 1.4 format support across the full OBO Foundry catalog.
  • Stability guarantees for OBO Graphs JSON format, noted as not yet stabilized.

Package facts

License MIT License Copyright (c) 2016-2026 Martin Larralde <martin.larralde@embl.de> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 4 — chardet, fastobo, networkx, python-dateutil
Maintenance aging — 214 days since the last release
Last repo commit
First released
Downloads 142,935/month — #11,195 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pronto-2.7.3-py3-none-any.whl

Keywords: bioinformatics, ontology, OBO, OWL

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Healthcare IndustryIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/Engineering :: Bio-InformaticsTopic :: Scientific/Engineering :: Medical Science Apps.Topic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

Tags

ontology parser pythonOBO format librarybiomedical ontology toolsOWL to OBO conversionontology graph traversal
bioinformaticsontology-parsingsemantic-web

More Python Modules packages