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 details)

Uploaded Source

File details

Details for the file openreviewio-0.0.43.tar.gz.

File metadata

  • Download URL: openreviewio-0.0.43.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for openreviewio-0.0.43.tar.gz
Algorithm Hash digest
SHA256 579eb93bb58c6f93c80eed320012d501d1372150dcec65320b1d73a9a24492ff
MD5 5ab015f61ad65d35e07b5cb0af71b3b8
BLAKE2b-256 f7ee7d95c73ac93d740aded6bda25dc04955b1a8b65a16b3149065dfce9961ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page