This release includes an experimental implementation for helpers to slice text_value
from text documents.
mmif.utils.text_document_helper
module to address #280
Minor release to add/improve helper methods.
video_document_helper
now has convenient helpers to grabTimeFrame
annotations'representative
points. (#278)
Mmif.__getitem__()
now works with short annotation IDs (#279)
This release contains small fixes and improvements.
- added getter helpers at various levels to access errors encoded in MMIF json in human-friendly format
Mmif.get_view_with_error
Mmif.get_views_with_error
Mmif.get_last_error
View.get_error
ViewMetadata.get_error_as_text
- "empty" annotation property values are correctly retrievable
This version includes small, but helpful improvements.
Annotation
object now haslong_id
property that returns the cross-view reference-ready ID inview_id:annotation_id
form- time unit conversion is now more stable (change of rounding)
- video frame sampling can now use fractional sampling rate (in terms of frame numbers)
Hot-fixing a wrong field name.
views[].metadata.app_configuration
is renamed toappConfiguration
, correctly following the MMIF json schema.
This release includes changes from MMIF spec 1.0.3 and 1.0.4, and a new helper module to handle sequence annotations
mmif.utils.sequence_helper
module (fixing #267) is added to provide- a generalized label re-mapper for "post-binning" of labels
- conversion from a list of CLAMS annotations (with
classification
props) into a list of reals (scores by labels), can be combined with the label re-mapper mentioned above smooth_outlying_short_intervals()
: a simple smoothing algorithm by trimming "short" outlier sequences
- added support for the new
views[].metadata.appConfiguration
field (clamsproject/mmif#208 & #269)
- fixed querying views by strings of annotation types weren't working (#263)
- added annotation type prop aliases added in MMIF 1.0.3 (clamsproject/mmif#222)
- getting start or end anchor points on annotations objects only with
targets
are no longer require the targets list is already sorted - sphinx-based public API documentation for old versions is back
This version includes minor bug fixes and support for MMIF spec 1.0.2.
- support for aliases for annotation properties. This is due to MMIF spec 1.0.2's introduction of the general
label
property that replacesframeType
andboxType
properties inTimeFrame
andBoundingBox
respectively. Specifically, for example, the value oflabel
orframeType
property of aTimeFrame
annotation object is accessible either viatimeframe.get_property("label")
ortimeframe.get_property("frameType")
. This is primarily only for backward-compatibility , and for the future, usingframeType
/boxType
is NOT recommended in preference to the more generallabel
property.
- The
mmif-python
SDK website no longer holds API docs for old versions. - ISO-like time unit conversion now consistently returns only to third decimal place.
This is a feature-packed release.
- Based on MMIF 1.0.1
- Added a default handler for
http://
/https://
document locations - Added
get_start
andget_end
methods toMmif
class to help getting start and end points ofInterval
andTimepoint
vocabulrary types (#253) - Added a conversion helper for ISO-format time strings (#258)
- Fixed
Document.text_value()
was only working withfile://
location (#246) Annotation
objects'properties
attribute is no longer limited to primitives and list of primitives (clamsproject/mmif#215)- Fixed annotation URI equivalence checker wasn't working in set-like collections (#257)
This release includes polishing and bug fixes around the mmif.utils.video_document_helper
module.
- API documentation for the module is now included in the public documentation website (#242)
- when opening a video file using
vdhelper.capture
function, an error is now raised the video file is not found in the local file system (#243) frameCount
andduration
of a video are recorded as document properties #244)Annotation.get_property
now provide more intuitive access to "view-level" annotation properties found inview.metadata.contains.some_at_type
dict
Minor updates in VideoDucment helper module
- when a VideoDocument is open, the total duration of the video is now recorded as a document property.
This release relaxes checks for optional CV dependencies in video utils module, so that users don't have install all of [cv]
dependencies when they don't use them all.
- when any of
[cv]
dependencies is not found duringmmif.utils.video_document_helper
module is being loaded, instead of raising and an error, a warning is issued.
This release contains a minor fix in video_document_helper module
- fixed time unit normalization was missing some important string
This release fixes installation error in the previous version.
This release is primarily about adding mmif.utils
package and mmif.utils.video_document_helper
module. The module provides many helper functions to handle frame-based and time-based documents and annotations.
mmif.utils
package andmmif.utils.video_document_helper
module (#233)
- dropped support for
mmif-utils-
plugins (#230) - fixed bug in
Annotation.get_property
(#232)
This release includes support for plugins, and a "magic" helper for using Annotation
annotations for documents in MMIF.
- a "magic" helper to automatically generate the "capital"
Annotation
annotations when an app adds properties toDocument
objects usingDocument.add_property()
method. (#226) - support for
mmif-docloc-
plugins for arbitrary URI scheme inDocument.location
property. (#222) - (EXPERIMENTAL) support for
mmif-utils-
plugins for monkeypatchingMmifObject
classes (#224)
mmif-python
1.0.0 included MMIF 0.5.0 instead of MMIF 1.0.0. This release fixes it
- now based on MMIF specification 1.0.0
This release will be numbered as 1.0.0, but actually is re-numbering of 0.5.2, hence no technical changes are included in 1.0.0.
This release fixes an oversight bug in __eq__
in MmifObject
s. Also includes updates of the sphinx documentation.
- Fixed bug some fields must be ignored when computing differences in
__eq__
(#214 ) - Updated sphinx documentation (#215 )
This release includes "fuzzy" matching of at_types and sanitized serialize
of Mmif
objects.
- CLAMS vocab type subclasses now support "fuzzy"
__eq__
check (#209 . Fuzzy matching will ignore differences in versions of two at_types, but still issue python warnings when there's a version mismatch. By default, all CLAMS vocab type subclasses are initiated with fuzzy mode "on". Mmif. serialize
now supports sanitizing the output JSON (#205) . Can be turned on by passingsanitize=True
argument. Sanitizing will perform- removal of non-existing annotation types from
contains
metadata - validating output using built-in MMIF jsonschema
- removal of non-existing annotation types from
- fixed a small bug in
Mmif.get_alignments
- fixed
view.metadata
serialized into an invalid MMIF due to a oneOf condition in jsonschema
This release is a synchronization of mmif-python
with the latest MMIF 0.5.0 release.
- Enum-like subclasses for annotation
@type
s in themmif.vocabulary
package are updated to accommodate the new way of checking I/O compatibility (as__eq__()
in the SDK).
This is a small PR that doesn't include any code in the SDK, but the target MMIF version is bumped up to 0.4.2.
This release includes
- removed "freezing" behaviors of MMIF objects (#193)
- made
properties
map to behave like a map (#194) - updated python dependencies (#196, #198)
This release includes
- fixes in the development & release pipelines. (#189 #187)
- upgrade in the text retrieval from TextDocument (#185)
This release contains minor bug fixes
- fixed
view.new_annotation
wasn't adding annotation properties correctly - fixed how
develop
version of vocab URIs were handled - colon (
:
) is now a class constant for gluing view_id and annotation_id
This release contains small but breaking changes. See d5198cb2304ad488975644a87fba51906abc5299 for details.
This release fixes minor bugs from the previous version.
This release adds new_textdocument
helper method to View
class.
The release contains a small bug fix in deserialization of Mmif
object.
New release to correspond to the MMIF specification 0.4.0.
The release includes ...
- re-designed
vocabulary
module and howAnnotationTypes
works better with version compatibility (#64) - automatic annotation ID generation (also #64)
- full implementation of backward (+forward?) version compatibility is WIP (#163)
- various bug fixes and clean-up
This release includes major bug fixes (#131, #164) and a new documentation generation pipeline (#167).
This release contains various bug fixes.
A version to match changes in the specification 0.3.1.
0.3.1 contains mostly small bugfixes.
release note for mmif-python 0.3.0
- new in specification: added support for
parameters
- new in specification: file paths are now stored as
file://
URIs - bugfix: added type restrictions to annotation properties