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
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.