Skip to content
Projects

percevalw/metanno has 32 GitHub stars and 5 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 14:48 UTC. Last push 2026-11-03.

How these counts are measured

Modular Python framework for building customizable annotation interfaces: text, images, and spreadsheet-style data.

Measured star growth

in 24h
0
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Metanno

Tests Documentation PyPI metanno DOI


Metanno brings data exploration and annotation into JupyterLab. Open data prepared in Python, inspect it through tables, text and image views, and save an editable dataset. Move between your notebook and the viewer as you select data, add predictions and review annotations.

Metanno supplies the visualization and annotation components. Pret connects them to shared Python data and saves your work. These components also work directly in notebook outputs and standalone Pret applications.

Start with the tutorials: annotate a first table in five minutes, then select notes in a database, pre-annotate them and build the interface your annotators need.

Features

Annotate anything

In addition to the Pret ecosystem component suite, Metanno provides components for common annotation views:

  • AnnotatedText: display text with highlighted, nestable spans
  • AnnotatedImage: draw shapes (boxes, polygons, etc.) over images.
  • Table: an editable, filterable spreadsheet‑style grid for inspecting and editing annotations.

You can compose these views of the same underlying annotations to get a better grasp of the data you are annotating or inspecting.

Run it your way

Use the JupyterLab application or compose widgets yourself:

  • JupyterLab application: explore sources, open view recipes and save annotations.
  • Standalone app: run a server and use it in your browser.
  • JupyterLab widgets: embed components directly in notebooks, with no extra ports or separate server process.

Develop and test in a notebook. If you prefer, you can also run it as a standalone app.

Installation

pip install metanno
python -m metanno.viewer.explorer_kernel --install

Install it in the environment running JupyterLab. If your notebooks use another environment, install it there too, and run pret update-jupyter-config --apply once so JupyterLab finds the frontend files. See installation for source drivers and separate environments.

Interactive and customizable by design

  • Inspect and edit application state directly from Python.
  • Update the UI from Python; execute a notebook cell to see changes immediately.
  • Register event handlers for clicks, hovers, keystrokes, and more.

Why another annotation software?

Tool choice shapes both the annotation scheme and the workflow. In many out‑of‑the‑box tools, tasks like annotating implicit or document‑level entities, working across multiple documents at once, or coordinating multiple views can be difficult or unsupported. There are many available solutions (see Neves et al.). However, most of these are either proprietary, poorly adapted to document or multi-document annotation, require a complex installation that is not compatible with existing strict remote computing environments, or are difficult to customize.

Metanno takes a different approach: a modular, Python‑first framework that adapts to your schema and to your annotation process, instead of forcing you into fixed layers or rigid UIs.

Demo

Check out the demos!

Contribute

Any contribution is welcome, feel free to open a PR. See CONTRIBUTING.md to set up a development environment and run the tests.

Explore related projects