Skip to main content

OpenPecha Toolkit allows state of the art for distributed standoff annotations on moving texts

Project description

OpenPecha Toolkit

PyPI version Test Test Coverage Publish Code style: black

OpenPecha Toolkit allows state of the art for distributed standoff annotations on moving texts, in which Base layer can be edited without affecting annotations.

The motivation for this project it that for perfect base-text, there no big obstacles but the technical problems come in when you have to be able to edit the base-text, which can be correcting or updating the base-text. So the existing solution like using character coordinates won’t work. So we purposed the CCTV (Character Coordinate Translation Vector) to track the annotations from source base-text to edited base-text without worrying about the annotations at all. Then user can export the edited based text with updated annotations in various docuemnt format like .md, .epub, .pdf, etc. But currently it supports only markdown file.

For NLP this toolkit will provide a way to have annoated corpra with minimal errors and extract a particular type of annotation or collection of different type of annotations. NLP researchers can then use these corpus to build language model, annotations to build NER model, entity linking, ect.


  • Python3, you can download from here



First, we need to download all the pecha from OpenPecha.

$ openpecha download --help
Usage: openpecha download [OPTIONS]

  Command to download poti. You need to give a work-id of a poti to download it.

  -n, --number WORK_ID      Work-id of the poti, for single poti download
  --help                    Show this message

Automatic updating annotations from source base-text (original) and destination base-text (edited)

$ openpecha update --help
Usage: openpecha update [OPTIONS] WORK_ID

  Command to update the base text with your edits.

  --help  Show this message and exit.

Exporting and Extracting layer

$ openpecha layer --help 
Usage: openpecha layer [OPTIONS] WORK_ID OUT

  Command to apply a single layer, multiple layers or all available layers
  (by default) and then export to markdown.


      - WORK_ID is the work-id of the poti, from which given layer will be

      - OUT is the filename to the write the result. Currently support only
      Markdown file.

  -n, --name [title|tsawa|yigchung|quotes|sapche]
                                  name of a layer to be applied
  -l, --list TEXT                 list of name of layers to applied,
                                  name of layers should be comma separated
  --help                          Show this message and exit.

Developer Installation.

$ git clone
$ cd openpecha-toolkit
$ pip install -r requirements.txt
$ pip install -e .


$ pytest tests

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for openpecha, version 0.7.75
Filename, size File type Python version Upload date Hashes
Filename, size openpecha-0.7.75.tar.gz (81.3 kB) File type Source Python version None Upload date Hashes View
Filename, size openpecha-0.7.75-py3-none-any.whl (101.5 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page