Skip to main content

OpenReviewIO Python API

Project description

/!\ Still in alpha stage and on its way to be stable. Every feedback is welcome!

Overview

OpenReviewIO is a standard that describes a format for sharing media (shots, animations...) review informations. It's main purpose is to guarantee review informations compatibility across media reviewing tools. Please read the specifications for more informations.

OpenReviewIO Python API is the main Python API for the ORIO standard, maintained by the designer of the standard.

Version

The version of the API is related to the version of the standard.
API 1.x.y <=> Standard 1.x

In Alpha stage, the API is 0.x.y but related to 1.x Standard. Will become 1.x.y when first stable release.

Last standard version: 1.0

Usage

import openreviewio as orio

Create a media review

review = orio.MediaReview("/path/to/media.ext")

Create a note

note = orio.Note(author="Alice")

Create content

Contents are defined by the standard version

There is a naming convention about the contents:
- Comment means something related to the whole media.
- Annotation means something related to a specific frame and duration of the media.

Text comment
text_comment = orio.Content.TextComment(body="My text comment")
Text annotation
text_annotation = orio.Content.TextComment(
    body="My text comment",
    frame=17,
    duration=20
)
Image comment
image = orio.Content.Image(path_to_image="/path/to/image_comment.png")
Image annotation
image_annotation = orio.Content.ImageAnnotation(
    frame=17,
    duration=20,
    path_to_image="/path/to/image_annotation.png"
)

Add content to note

# Single content
note.add_content(text_comment)

# Several contents
note.add_content([text_annotation, image, image_annotation])

Add note to review

review.add_note(note)

Write media review to disk

# Write next to the media
review.write()

# Specifying a directory
review.write("/path/to/review_dir")

Export/Import a note as zip

# Export
exported_note_path = note.export("/path/to/folder", compress=True)

# Import
review.import_note(exported_note_path)

Examples

From content to review

# Content
text = orio.Content.TextComment(body="Banana")

# Note
new_note = orio.Note("Michel", content=text)

# Review
review = orio.MediaReview("/path/to/media.ext", note=new_note)

Reply to a note

# Main note
text = orio.Content.TextComment(body="Make the logo bigger.")
main_note = orio.Note("Michel", content=text)

# Reply to the main note
reply = orio.Content.TextComment(body="Done, I'm waiting for my visibility payment.")
note_reply = orio.Note("Michel", content=reply, parent=main_note)

Add a reference image to an image annotation

Useful for keeping an image as reference of the drawing.

image_annotation = orio.Content.ImageAnnotation(
    frame=17,
    duration=20,
    path_to_image="/path/to/image_annotation.png",
    reference_image="/path/to/reference_image.png"
)
# Or
image_annotation.reference_image = "/path/to/reference_image.png"

Copyright 2020, Félix David ©

Project details


Download files

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

Source Distribution

openreviewio-0.0.43.tar.gz (12.1 kB view hashes)

Uploaded source

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