Skip to main content

evoontology-explorer

A server-backed explorer for EvoOntology workspaces. It serves the same Ontology Layer Explorer page as the EvoOntology plugin, with the same Cytoscape graph, panels and version comparison, but the browser loads only what it shows: the term layer of one version first, a term's mappings, constraints and evidence when that term is expanded, details on click, search and version diffs from the server. Switching versions releases the previous one. Workspaces with many versions or large graphs stay usable where the single-file page would not.

Install

pip install evoontology-explorer                # local directories
pip install "evoontology-explorer[databricks]"  # Unity Catalog volumes
pip install "evoontology-explorer[s3]"          # S3 prefixes

Run

evoontology-explorer --workspace ./workspace --port 8000
evoontology-explorer --workspace /Volumes/<catalog>/<schema>/<volume>/code
evoontology-explorer --workspace s3://my-bucket/ontology/code

The workspace is the EvoOntology directory that holds active.json and versions/<version>/ (usually a project's .evoontology/). Environment variables replace the flags: EVOONTOLOGY_WORKSPACE, EVOONTOLOGY_TITLE (the page title), DATABRICKS_APP_PORT or PORT.

Several workspaces can be served by one page, with a workspace picker next to the version picker. Repeat --workspace, or separate the entries of EVOONTOLOGY_WORKSPACE with ;. A location ending in /* serves every child directory, relisted at most once a minute, so workspaces added later appear without a restart:

evoontology-explorer --workspace ./snapshots/business --workspace "./snapshots/employees/*"
EVOONTOLOGY_WORKSPACE="/Volumes/<catalog>/<schema>/<volume>/business;/Volumes/<catalog>/<schema>/<volume>/employees/*"

A workspace's id is the last component of its path (business, e1); its label keeps the parent (employees/e1), or is the name of the workspace's project.json when it has one. Duplicate ids get a numeric suffix. ?workspace=<id>&version=<name> opens the page on one.

Credentials come from the usual places: AWS SDK credentials for S3, Databricks SDK unified authentication for volumes (inside a Databricks App the app's own principal is used; it needs READ VOLUME on the volume and USE SCHEMA and USE CATALOG above it).

Deploy as a Databricks App

# app.yaml
command: ["python", "-m", "evoontology_explorer"]
env:
  - name: EVOONTOLOGY_WORKSPACE
    value: /Volumes/<catalog>/<schema>/<volume>/code
# requirements.txt
evoontology-explorer[databricks]==0.1.0

Databricks Apps sign viewers in and admit the principals with CAN_USE on the app.

API

All responses are JSON. Workspaces are addressed by id (w), versions by name.

Route Returns
GET /api/workspaces title and the workspaces (id, label)
GET /api/w/{w} the active version and the versions of a workspace with their kind (candidate for -cN trial versions, otherwise published); GET /api/workspace is the first workspace's
GET /api/w/{w}/versions/{v} counts, warnings, term and satellite counts
GET /api/w/{w}/versions/{v}/graph the term layer: term nodes and relation edges
GET /api/w/{w}/versions/{v}/terms/{id}/satellites one term's mappings, constraints and evidence with their reference edges
GET /api/w/{w}/versions/{v}/satellites every satellite of the version
GET /api/w/{w}/versions/{v}/elements/{id} the detail rows of a node or edge, with links to the records it names
GET /api/w/{w}/versions/{v}/search?q= nodes matching a substring
GET /api/schema, GET /api/w/{w}/versions/{v}/tools, GET /api/w/{w}/versions/{v}/experience the Schema, Tool and Results views
GET /api/w/{w}/compare?left=&right= added, removed and changed records between two versions
GET /health ok

Node ids are <family>:<record id>; relation edges are rel:<record id>.

Library use

from evoontology_explorer import WorkspaceSet, create_app, open_workspace

app = create_app(open_workspace("./workspace"), title="My ontology")
app = create_app(WorkspaceSet(["./snapshots/business", "./snapshots/employees/*"]), title="Snapshots")

Development

pip install -e ".[dev]"
pytest -q

The tests run on a synthetic workspace under tests/fixtures. tests/test_no_private_data.py fails the build when the tree contains anything that looks like a private deployment (email addresses, account ids, bucket or volume paths, hostnames, tokens); keep examples to the placeholders above.

Licence

MIT. See NOTICE for the EvoOntology and Cytoscape.js attributions.

Metadata

Release files for evoontology-explorer 0.3.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 evoontology-explorer 0.3.0
File Size Uploaded Provenance Actions
evoontology_explorer-0.3.0.tar.gz 196.6 kB With provenance Details for evoontology_explorer-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for evoontology-explorer 0.3.0
File Interpreter ABI Platform Actions
evoontology_explorer-0.3.0-py3-none-any.whl Python 3 none any Details for evoontology_explorer-0.3.0-py3-none-any.whl

Total release size: 384.2 kB

Release files / evoontology_explorer-0.3.0.tar.gz

Download URL evoontology_explorer-0.3.0.tar.gz
Size 196.6 kB
Tags Source
SHA-256 checksum
How to use checksums
13f101c2167c15138a85ecb004c58f23a96a6ba384866af698495afabc9ab1a2
BLAKE2b-256 checksum
How to use checksums
86d7a4a357cdc41b4535e3f28cfb7536e62702cae649e764c4d4d3eb989adcc0
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 Oct 21, 2026.

Transparency log

Release files / evoontology_explorer-0.3.0-py3-none-any.whl

Download URL evoontology_explorer-0.3.0-py3-none-any.whl
Size 187.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31fa3974753abbe62a37bde66216c2a4e60cbce4071016fab5b46d1c0fe2ce7e
BLAKE2b-256 checksum
How to use checksums
1e2d7b26e6e584f79ef33c440d968a1ceeeec0941c10bcc1ac28d4eac64b9e99
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 Oct 21, 2026.

Transparency log

Security for evoontology-explorer 0.3.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 evoontology_explorer-0.3.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 Oct 21, 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