diff --git a/CHANGELOG.md b/CHANGELOG.md index cddc991..697ff23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ +## releasing 1.3.0 (2024-07-22) +### Overview +This version added two universal runtime parameters that make some aspects of the runtime environment are recorded in the views' metadata. + + +### Additions +- `hwFetch` universal parameter will record CPU architecture and CUDA devices in `view.metadata.appRunningHardware` +- `runningTime` universal parameter will record app's running time in `view.metadata.appRunningTime` +- See https://github.com/clamsproject/clams-python/issues/236 for rationale behind + + + ## releasing 1.2.6 (2024-07-15) ### Overview Patch release to update mmif SDK version, and minor improvements diff --git a/docs/.doctrees/appmetadata.doctree b/docs/.doctrees/appmetadata.doctree index 7fb2667..2558fd1 100644 Binary files a/docs/.doctrees/appmetadata.doctree and b/docs/.doctrees/appmetadata.doctree differ diff --git a/docs/.doctrees/autodoc/clams.app.doctree b/docs/.doctrees/autodoc/clams.app.doctree index 617484b..ea8e429 100644 Binary files a/docs/.doctrees/autodoc/clams.app.doctree and b/docs/.doctrees/autodoc/clams.app.doctree differ diff --git a/docs/.doctrees/autodoc/clams.appmetadata.doctree b/docs/.doctrees/autodoc/clams.appmetadata.doctree index 2260ecc..5acdcd2 100644 Binary files a/docs/.doctrees/autodoc/clams.appmetadata.doctree and b/docs/.doctrees/autodoc/clams.appmetadata.doctree differ diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle index 82cc411..79242d3 100644 Binary files a/docs/.doctrees/environment.pickle and b/docs/.doctrees/environment.pickle differ diff --git a/docs/.doctrees/input-output.doctree b/docs/.doctrees/input-output.doctree index a067b05..0893c9d 100644 Binary files a/docs/.doctrees/input-output.doctree and b/docs/.doctrees/input-output.doctree differ diff --git a/docs/_sources/appmetadata.rst.txt b/docs/_sources/appmetadata.rst.txt index b308928..537c90c 100644 --- a/docs/_sources/appmetadata.rst.txt +++ b/docs/_sources/appmetadata.rst.txt @@ -91,7 +91,7 @@ input specification can be as simple as the following: # and more app metadata fields, } -In the above example, the developer is declaring the app is expecting ``Token``annotation objects, with a ``posTagSet`` +In the above example, the developer is declaring the app is expecting ``Token`` annotation objects, with a ``posTagSet`` property of which value is the URL of the Penn Treebank POS tag set, *verbatim*, in the input MMIF, and all other existing annotation types in the input MMIF will be ignored during processing. There are some *grammar* of how this ``input`` list can be written. diff --git a/docs/_sources/autodoc/clams.appmetadata.rst.txt b/docs/_sources/autodoc/clams.appmetadata.rst.txt index 329f8e6..19dcc1a 100644 --- a/docs/_sources/autodoc/clams.appmetadata.rst.txt +++ b/docs/_sources/autodoc/clams.appmetadata.rst.txt @@ -6,3 +6,15 @@ Module contents .. autoclass:: clams.appmetadata.AppMetadata :members: + +.. autoclass:: clams.appmetadata.Input + :members: + :inherited-members: + +.. autoclass:: clams.appmetadata.Output + :members: + :inherited-members: + +.. autoclass:: clams.appmetadata.RuntimeParameter + :members: + :inherited-members: diff --git a/docs/appdirectory.html b/docs/appdirectory.html index 76c0e0d..477779a 100644 --- a/docs/appdirectory.html +++ b/docs/appdirectory.html @@ -37,7 +37,7 @@ clams-python
- 1.2.6 + 1.3.0
diff --git a/docs/appmetadata.html b/docs/appmetadata.html index 8e3fd8e..4e98c75 100644 --- a/docs/appmetadata.html +++ b/docs/appmetadata.html @@ -37,7 +37,7 @@ clams-python
- 1.2.6 + 1.3.0
@@ -182,7 +182,7 @@
Simple case - using types as defined in the vocabularies}
-

In the above example, the developer is declaring the app is expecting Token``annotation objects, with a ``posTagSet +

In the above example, the developer is declaring the app is expecting Token annotation objects, with a posTagSet property of which value is the URL of the Penn Treebank POS tag set, verbatim, in the input MMIF, and all other existing annotation types in the input MMIF will be ignored during processing. There are some grammar of how this input list can be written.

diff --git a/docs/autodoc/clams.app.html b/docs/autodoc/clams.app.html index 12abf90..9bb3db3 100644 --- a/docs/autodoc/clams.app.html +++ b/docs/autodoc/clams.app.html @@ -37,7 +37,7 @@ clams-python
- 1.2.6 + 1.3.0
@@ -296,7 +296,7 @@

clams.app package
-universal_parameters = [{'name': 'pretty', 'type': 'boolean', 'choices': None, 'default': False, 'multivalued': False, 'description': 'The JSON body of the HTTP response will be re-formatted with 2-space indentation'}][source]
+universal_parameters = [{'name': 'pretty', 'type': 'boolean', 'choices': None, 'default': False, 'multivalued': False, 'description': 'The JSON body of the HTTP response will be re-formatted with 2-space indentation'}, {'name': 'runningTime', 'type': 'boolean', 'choices': None, 'default': False, 'multivalued': False, 'description': 'The running time of the app will be recorded in the view metadata'}, {'name': 'hwFetch', 'type': 'boolean', 'choices': None, 'default': False, 'multivalued': False, 'description': 'The hardware information (architecture, GPU and vRAM) will be recorded in the view metadata'}][source]
diff --git a/docs/autodoc/clams.appmetadata.html b/docs/autodoc/clams.appmetadata.html index 44063f4..33805a8 100644 --- a/docs/autodoc/clams.appmetadata.html +++ b/docs/autodoc/clams.appmetadata.html @@ -36,7 +36,7 @@ clams-python
- 1.2.6 + 1.3.0
@@ -65,6 +65,9 @@
  • clams.appmetadata package @@ -103,7 +106,7 @@

    clams.appmetadata package

    -class clams.appmetadata.AppMetadata(*, name: str, description: str, app_version: str = None, mmif_version: str = None, analyzer_version: str = None, app_license: str, analyzer_license: str = None, identifier: AnyHttpUrl, url: AnyHttpUrl, input: List[Input | List[Input]] = [], output: List[Output] = [], parameters: List[RuntimeParameter] = [], dependencies: List[str] = None, more: Dict[str, str] = None)[source]
    +class clams.appmetadata.AppMetadata(*, name: str, description: str, app_version: str = None, mmif_version: str = None, analyzer_version: str = None, app_license: str, analyzer_license: str = None, identifier: AnyHttpUrl, url: AnyHttpUrl, input: List[Input | List[Input]] = [], output: List[Output] = [], parameters: List[RuntimeParameter] = [], dependencies: List[str] = None, more: Dict[str, str] = None)[source]

    Data model that describes a CLAMS app.

    Can be initialized by simply passing all required key-value pairs.

    If you have a pre-generated metadata as an external file, you can read in the file as a dict and use it as @@ -112,7 +115,7 @@

    Module contentsCLAMS App Metadata> for the metadata specification.

    -add_input(at_type: str | TypesBase, required: bool = True, **properties) Input[source]
    +add_input(at_type: str | TypesBase, required: bool = True, **properties) Input[source]

    Helper method to add an element to the input list.

    Parameters:
    @@ -138,7 +141,7 @@

    Module contents
    -add_output(at_type: str | TypesBase, **properties) Output[source]
    +add_output(at_type: str | TypesBase, **properties) Output[source]

    Helper method to add an element to the output list.

    Parameters:
    @@ -161,6 +164,192 @@

    Module contents +
    +class clams.appmetadata.Input(*args, at_type: AnyHttpUrl, description: str | None = None, properties: Dict[str, int | float | bool | str] = {}, required: bool = None)[source]
    +

    Data model that describes input specification of a CLAMS app.

    +

    CLAMS apps are expected to have at least one input type, and each type must +be defined by a @type URI string. If the type has specific properties and values required by the app, +they can be described in the (optional) properties field. Finally, a human-readable +verbose description can be provided in the (optional) description field for users.

    +

    Developers should take diligent care to include all input types and their properties in the app metadata.

    +
    +
    +add_description(description: str)[source]
    +

    Add description string to the type specification.

    +
    + +
    +
    +classmethod construct(_fields_set: SetStr | None = None, **values: Any) Model[source]
    +

    Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. +Default values are respected, but no other validation is performed. +Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

    +
    + +
    +
    +copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: DictStrAny | None = None, deep: bool = False) Model[source]
    +

    Duplicate a model, optionally choose which fields to include, exclude and change.

    +
    +
    Parameters:
    +
      +
    • include – fields to include in new model

    • +
    • exclude – fields to exclude from new model, as with values this takes precedence over include

    • +
    • update – values to change/add in the new model. Note: the data is not validated before creating +the new model: you should trust this data

    • +
    • deep – set to True to make a deep copy of the model

    • +
    +
    +
    Returns:
    +

    new model instance

    +
    +
    +
    + +
    +
    +dict(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny[source]
    +

    Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

    +
    + +
    +
    +json(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode[source]
    +

    Generate a JSON representation of the model, include and exclude arguments as per dict().

    +

    encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

    +
    + +
    +
    +classmethod update_forward_refs(**localns: Any) None[source]
    +

    Try to update ForwardRefs on fields based on this Model, globalns and localns.

    +
    + +

    + +
    +
    +class clams.appmetadata.Output(*, at_type: AnyHttpUrl, description: str | None = None, properties: Dict[str, int | float | bool | str] = {})[source]
    +

    Data model that describes output specification of a CLAMS app.

    +

    CLAMS apps are expected to have at least one output type, and each type must +be defined by a @type URI string. If the type has common properties and values generated by the app, +they can be described in the (optional) properties field. Finally, a human-readable +verbose description can be provided in the (optional) description field for users.

    +

    Developers should take diligent care to include all output types and their properties in the app metadata. To +specify the property values, developers can use an actual value (for full match) or '*' (for any value).

    +
    +
    +add_description(description: str)[source]
    +

    Add description string to the type specification.

    +
    + +
    +
    +classmethod construct(_fields_set: SetStr | None = None, **values: Any) Model[source]
    +

    Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. +Default values are respected, but no other validation is performed. +Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

    +
    + +
    +
    +copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: DictStrAny | None = None, deep: bool = False) Model[source]
    +

    Duplicate a model, optionally choose which fields to include, exclude and change.

    +
    +
    Parameters:
    +
      +
    • include – fields to include in new model

    • +
    • exclude – fields to exclude from new model, as with values this takes precedence over include

    • +
    • update – values to change/add in the new model. Note: the data is not validated before creating +the new model: you should trust this data

    • +
    • deep – set to True to make a deep copy of the model

    • +
    +
    +
    Returns:
    +

    new model instance

    +
    +
    +
    + +
    +
    +dict(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny[source]
    +

    Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

    +
    + +
    +
    +json(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode[source]
    +

    Generate a JSON representation of the model, include and exclude arguments as per dict().

    +

    encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

    +
    + +
    +
    +classmethod update_forward_refs(**localns: Any) None[source]
    +

    Try to update ForwardRefs on fields based on this Model, globalns and localns.

    +
    + +
    + +
    +
    +class clams.appmetadata.RuntimeParameter(*, name: str, description: str, type: Literal['integer', 'number', 'string', 'boolean', 'map'], choices: List[int | float | bool | str] = None, default: int | float | bool | str | List[int | float | bool | str] = None, multivalued: bool)[source]
    +

    Defines a data model that describes a single runtime configuration of a CLAMS app. +Usually, an app keeps a list of these configuration specifications in the parameters field. +When initializing a RuntimeParameter object in python the value for the default field must be a string. +For example, if you want to set a default value for a boolean parameter, use any of 'True', 'true', 't', +or their falsy counterpart, instead of True or False

    +
    +
    +classmethod construct(_fields_set: SetStr | None = None, **values: Any) Model[source]
    +

    Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. +Default values are respected, but no other validation is performed. +Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

    +
    + +
    +
    +copy(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, update: DictStrAny | None = None, deep: bool = False) Model[source]
    +

    Duplicate a model, optionally choose which fields to include, exclude and change.

    +
    +
    Parameters:
    +
      +
    • include – fields to include in new model

    • +
    • exclude – fields to exclude from new model, as with values this takes precedence over include

    • +
    • update – values to change/add in the new model. Note: the data is not validated before creating +the new model: you should trust this data

    • +
    • deep – set to True to make a deep copy of the model

    • +
    +
    +
    Returns:
    +

    new model instance

    +
    +
    +
    + +
    +
    +dict(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny[source]
    +

    Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

    +
    + +
    +
    +json(*, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, by_alias: bool = False, skip_defaults: bool | None = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Callable[[Any], Any] | None = None, models_as_dict: bool = True, **dumps_kwargs: Any) unicode[source]
    +

    Generate a JSON representation of the model, include and exclude arguments as per dict().

    +

    encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

    +
    + +
    +
    +classmethod update_forward_refs(**localns: Any) None[source]
    +

    Try to update ForwardRefs on fields based on this Model, globalns and localns.

    +
    + +
    + diff --git a/docs/autodoc/clams.restify.html b/docs/autodoc/clams.restify.html index 071250d..2f26d4c 100644 --- a/docs/autodoc/clams.restify.html +++ b/docs/autodoc/clams.restify.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/autodoc/clams.source.html b/docs/autodoc/clams.source.html index 007c7fd..bddf81e 100644 --- a/docs/autodoc/clams.source.html +++ b/docs/autodoc/clams.source.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/clamsapp.html b/docs/clamsapp.html index 3fe3870..a8efa68 100644 --- a/docs/clamsapp.html +++ b/docs/clamsapp.html @@ -35,7 +35,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/cli.html b/docs/cli.html index ad640df..57031dd 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/genindex.html b/docs/genindex.html index fa684aa..5af1ebb 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -34,7 +34,7 @@ clams-python
    - 1.2.6 + 1.3.0
    @@ -89,8 +89,10 @@

    Index

    _ | A | C + | D | F | G + | I | J | M | O @@ -128,16 +130,22 @@

    _

    A

    - + +
    -
    • clams.source @@ -177,10 +183,42 @@

      C

    • module
    +
    + +

    D

    + +
    @@ -204,8 +242,26 @@

    G

    +

    I

    + + +
    +

    J

    + - +
    @@ -300,6 +362,14 @@

    U

    diff --git a/docs/index.html b/docs/index.html index 93796f8..5f76742 100644 --- a/docs/index.html +++ b/docs/index.html @@ -36,7 +36,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/input-output.html b/docs/input-output.html index ad29712..6a986d3 100644 --- a/docs/input-output.html +++ b/docs/input-output.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    @@ -133,195 +133,199 @@

    MMIF version and CLAMS apps

    1.2.6

    +

    1.3.0

    1.0.18

    1.0.5

    -

    1.2.5

    +

    1.2.6

    +

    1.0.18

    +

    1.0.5

    + +

    1.2.5

    1.0.17

    1.0.5

    -

    1.2.4

    +

    1.2.4

    1.0.16

    1.0.4

    -

    1.2.3

    +

    1.2.3

    1.0.15

    1.0.4

    -

    1.2.2

    +

    1.2.2

    1.0.14

    1.0.4

    -

    1.2.1

    +

    1.2.1

    1.0.13

    1.0.4

    -

    1.2.0

    +

    1.2.0

    1.0.13

    1.0.4

    -

    1.1.6

    +

    1.1.6

    1.0.13

    1.0.4

    -

    1.1.5

    +

    1.1.5

    1.0.11

    1.0.4

    -

    1.1.4

    +

    1.1.4

    1.0.11

    1.0.4

    -

    1.1.3

    +

    1.1.3

    1.0.10

    1.0.2

    -

    1.1.2

    +

    1.1.2

    1.0.9

    1.1.0

    -

    1.1.1

    +

    1.1.1

    1.0.8

    1.0.0

    -

    1.1.0

    +

    1.1.0

    1.0.8

    1.0.0

    -

    1.0.9

    +

    1.0.9

    1.0.8

    1.0.0

    -

    1.0.8

    +

    1.0.8

    1.0.8

    1.0.0

    -

    1.0.7

    +

    1.0.7

    1.0.6

    1.0.0

    -

    1.0.6

    +

    1.0.6

    1.0.6

    1.0.0

    -

    1.0.5

    +

    1.0.5

    1.0.5

    1.0.0

    -

    1.0.4

    +

    1.0.4

    1.0.4

    1.0.0

    -

    1.0.3

    +

    1.0.3

    1.0.1

    1.0.0

    -

    1.0.2

    +

    1.0.2

    1.0.1

    1.0.0

    -

    1.0.1

    +

    1.0.1

    1.0.1

    1.0.0

    -

    1.0.0

    +

    1.0.0

    1.0.0

    0.5.0

    -

    0.6.3

    +

    0.6.3

    0.5.2

    0.5.0

    -

    0.6.2

    +

    0.6.2

    0.5.2

    0.5.0

    -

    0.6.1

    +

    0.6.1

    0.5.2

    0.5.0

    -

    0.6.0

    +

    0.6.0

    0.5.1

    0.5.0

    -

    0.5.3

    +

    0.5.3

    0.4.8

    0.4.2

    -

    0.5.2

    +

    0.5.2

    0.4.6

    0.4.0

    -

    0.5.1

    +

    0.5.1

    0.4.6

    0.4.0

    -

    0.5.0

    +

    0.5.0

    0.4.5

    0.4.0

    -

    0.4.4

    +

    0.4.4

    0.4.5

    0.4.0

    -

    0.4.3

    +

    0.4.3

    0.4.4

    0.4.0

    -

    0.4.2

    +

    0.4.2

    0.4.2

    0.4.0

    -

    0.4.1

    +

    0.4.1

    0.4.1

    0.4.0

    -

    0.4.0

    +

    0.4.0

    0.4.1

    0.4.0

    -

    0.3.0

    +

    0.3.0

    0.3.5

    0.3.1

    -

    0.2.4

    +

    0.2.4

    0.3.3

    0.3.1

    -

    0.2.3

    +

    0.2.3

    0.3.1

    0.3.0

    -

    0.2.2

    +

    0.2.2

    0.3.1

    0.3.0

    -

    0.2.1

    +

    0.2.1

    0.3.0

    0.3.0

    -

    0.2.0

    +

    0.2.0

    0.2.2

    0.2.1

    -

    0.1.8

    +

    0.1.8

    0.2.2

    0.2.1

    -

    0.1.7

    +

    0.1.7

    0.2.2

    0.2.1

    -

    0.1.6

    +

    0.1.6

    0.2.1

    0.2.1

    -

    0.1.5

    +

    0.1.5

    0.2.1

    0.2.1

    -

    0.1.4

    +

    0.1.4

    0.2.1

    0.2.1

    diff --git a/docs/introduction.html b/docs/introduction.html index 98fb4a8..49eb9af 100644 --- a/docs/introduction.html +++ b/docs/introduction.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/modules.html b/docs/modules.html index a5fe6dd..daa8a43 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    @@ -166,6 +166,32 @@

    clams packageAppMetadata.add_parameter()

  • +
  • Input +
  • +
  • Output +
  • +
  • RuntimeParameter +
  • diff --git a/docs/objects.inv b/docs/objects.inv index 7019b80..c403644 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/py-modindex.html b/docs/py-modindex.html index 0d0bbe5..3494637 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/runtime-params.html b/docs/runtime-params.html index 30de041..70c5504 100644 --- a/docs/runtime-params.html +++ b/docs/runtime-params.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/search.html b/docs/search.html index a1948d5..9f7aba6 100644 --- a/docs/search.html +++ b/docs/search.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/docs/searchindex.js b/docs/searchindex.js index 7859442..563445a 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["appdirectory", "appmetadata", "autodoc/clams.app", "autodoc/clams.appmetadata", "autodoc/clams.restify", "autodoc/clams.source", "clamsapp", "cli", "index", "input-output", "introduction", "modules", "runtime-params", "tutorial"], "filenames": ["appdirectory.rst", "appmetadata.rst", "autodoc/clams.app.rst", "autodoc/clams.appmetadata.rst", "autodoc/clams.restify.rst", "autodoc/clams.source.rst", "clamsapp.md", "cli.rst", "index.rst", "input-output.rst", "introduction.rst", "modules.rst", "runtime-params.rst", "tutorial.md"], "titles": ["CLAMS App Directory", "CLAMS App Metadata", "clams.app package", "clams.appmetadata package", "clams.restify package", "clams.source package", "Using CLAMS App", "clams shell command", "Welcome to CLAMS Python SDK documentation!", "I/O Specification", "Getting started", "clams package", "Runtime Configuration", "Tutorial: Wrapping an NLP Application"], "terms": {"i": [0, 2, 3, 4, 5, 6, 7, 8, 10, 13], "public": [0, 1, 2, 6, 8, 9, 10, 13], "registri": [0, 6, 10], "free": [0, 8], "open": [0, 2, 6, 8, 9], "avail": [0, 1, 6, 7, 10, 13], "http": [0, 1, 2, 4, 8, 13], "ai": [0, 1, 2, 6, 8, 10, 13], "To": [0, 1, 7, 8, 9, 10, 13], "submit": 0, "your": [0, 2, 5, 6, 10, 12, 13], "registr": 0, "pleas": [0, 1, 3, 6, 9, 10], "find": [0, 9, 10, 13], "submiss": [0, 1], "guidelin": [0, 1], "websit": [0, 6, 9, 10], "everi": 1, "must": [1, 2, 6, 9, 10, 12, 13], "provid": [1, 2, 4, 5, 6, 8, 10, 13], "inform": [1, 2, 6, 9, 10], "about": [1, 6, 9, 10, 13], "itself": [1, 6, 10, 13], "we": [1, 6, 8, 9, 10, 12, 13], "call": [1, 2, 5, 10, 13], "thi": [1, 2, 3, 4, 5, 6, 9, 10, 12, 13], "set": [1, 2, 6, 8, 12, 13], "A": [1, 2, 4, 5, 9, 10, 13], "should": [1, 2, 5, 10, 12, 13], "abl": [1, 9], "serial": [1, 2, 4, 9, 10, 13], "json": [1, 2, 4, 5, 6, 8, 9, 10], "string": [1, 2, 3, 5, 6, 9, 10, 12, 13], "essenti": [1, 2], "all": [1, 2, 3, 5, 6, 9, 10, 12, 13], "ar": [1, 2, 3, 5, 6, 8, 9, 10, 13], "design": [1, 6], "take": [1, 4, 9, 10, 13], "one": [1, 10, 13], "file": [1, 2, 3, 5, 6, 7, 8, 9, 10, 13], "produc": [1, 5, 11, 13], "anoth": [1, 6, 13], "In": [1, 2, 6, 10, 13], "section": [1, 6, 12], "discuss": [1, 9, 10], "how": [1, 6, 10, 13], "specifi": [1, 2, 6, 10, 12, 13], "semant": 1, "term": 1, "concret": 1, "list": [1, 2, 3, 5, 6, 12, 13], "where": [1, 2, 6, 10, 13], "encod": [1, 2], "part": [1, 6, 9, 10, 12, 13], "full": [1, 13], "below": [1, 6, 9, 10, 12, 13], "when": [1, 2, 4, 5, 6, 9, 10, 12, 13], "an": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12], "publish": [1, 6, 10], "directori": [1, 6, 8, 10, 13], "render": 1, "html": 1, "page": [1, 8, 13], "some": [1, 2, 4, 6, 9, 10, 13], "addit": [1, 2, 3, 4, 6, 10, 13], "visit": [1, 6, 9], "see": [1, 2, 4, 6, 7, 10, 12, 13], "As": [1, 6, 8, 9, 10, 13], "describ": [1, 3, 6, 12, 13], "document": [1, 2, 5, 6, 7, 9, 10, 11], "can": [1, 2, 3, 5, 6, 8, 9, 10, 12, 13], "contain": [1, 10, 13], "variou": [1, 8, 10], "current": [1, 5, 6, 13], "team": [1, 6, 10], "follow": [1, 6, 8, 12, 13], "pre": [1, 3, 6, 10, 13], "lapp": [1, 13], "each": [1, 5, 6, 10, 12, 13], "object": [1, 2, 3, 4, 5, 6, 13], "ha": [1, 2, 5, 6, 10, 13], "uniqu": [1, 13], "uri": [1, 13], "valu": [1, 2, 3, 5, 10, 12, 13], "field": [1, 13], "howev": [1, 6, 9, 10], "more": [1, 2, 3, 6, 9, 10, 12, 13], "import": [1, 6, 9, 10], "context": [1, 2], "develop": [1, 4, 6, 8, 9, 10, 13], "These": [1, 10], "differ": [1, 6, 8, 9, 10, 12, 13], "between": [1, 4, 6, 8, 9], "The": [1, 2, 4, 5, 6, 7, 8, 9, 10], "intend": 1, "common": [1, 2, 5, 6, 10, 13], "group": 1, "same": [1, 4, 5, 6, 9, 12, 13], "while": [1, 2, 10], "individu": 1, "instanc": [1, 4], "practic": [1, 6], "place": [1, 10, 13], "view": [1, 2, 4, 6, 7, 10, 12], "metatadata": 1, "becaus": [1, 6, 9, 10, 13], "lack": 1, "distinct": 1, "refer": [1, 3, 6, 9, 10, 13], "both": [1, 13], "intention": 1, "kept": 1, "minim": [1, 13], "underspecifi": 1, "meant": 1, "For": [1, 2, 4, 6, 9, 10, 12, 13], "exampl": [1, 6, 10, 12, 13], "token": [1, 6, 8], "primarili": [1, 6], "repres": [1, 6], "natur": 1, "languag": [1, 13], "text": [1, 10, 12, 13], "usag": [1, 6, 13], "sub": 1, "word": [1, 13], "machin": [1, 6, 13], "learn": [1, 9, 10], "model": [1, 3, 6], "unit": [1, 12], "sign": [1, 2, 12, 13], "video": [1, 10], "If": [1, 3, 6, 10, 13], "need": [1, 6, 9, 10, 13], "add": [1, 2, 3, 5, 6, 13], "thei": [1, 5, 10, 13], "do": [1, 2, 6, 10, 13], "so": [1, 2, 5, 6, 9, 10, 12, 13], "arbitrari": [1, 2], "action": [1, 10], "expect": [1, 10, 13], "explan": 1, "have": [1, 3, 5, 6, 9, 10, 13], "requir": [1, 2, 3, 10, 13], "descript": [1, 2, 3, 13], "human": 1, "readabl": [1, 6], "option": [1, 3, 4, 5, 6, 10, 12, 13], "kei": [1, 2, 3, 5, 10], "pair": [1, 2, 3, 5, 10, 13], "boolean": [1, 2, 3, 13], "indic": [1, 6], "whether": [1, 3], "default": [1, 2, 3, 4, 6, 10, 12, 13], "true": [1, 3, 4, 6, 10, 12, 13], "Not": [1, 9], "applic": [1, 2, 6, 8, 10], "simplest": [1, 13], "mere": 1, "re": [1, 2, 5, 6, 10, 13], "other": [1, 6, 10, 13], "vocab": [1, 13], "lappsgrid": [1, 13], "org": [1, 4, 6, 12, 13], "postagset": 1, "www": 1, "ling": 1, "upenn": 1, "edu": 1, "cours": 1, "fall_2003": 1, "ling001": 1, "penn_treebank_po": 1, "abov": [1, 6, 9, 10, 12, 13], "declar": 1, "which": [1, 3, 6, 8, 10, 13], "url": [1, 3, 6, 10, 12, 13], "penn": 1, "treebank": 1, "po": [1, 13], "tag": [1, 13], "verbatim": 1, "exist": [1, 6, 10], "ignor": 1, "dure": 1, "process": [1, 2, 8, 9, 10, 13], "There": [1, 10, 13], "grammar": 1, "written": [1, 6], "ani": [1, 2, 4, 5, 6, 10, 13], "multipl": [1, 5, 10, 12], "And": [1, 9, 10, 13], "those": [1, 13], "nest": 1, "One": [1, 6, 13], "mean": [1, 2, 9, 13], "final": [1, 6, 13], "e": [1, 2, 6, 10], "fals": [1, 2, 3, 4], "extra": 1, "from": [1, 2, 4, 5, 7, 9, 10, 13], "recommend": [1, 2, 6, 10, 13], "here": [1, 6, 9, 10, 13], "complex": 1, "audiodocu": [1, 6], "v1": [1, 6, 13], "videodocu": 1, "timefram": 1, "v5": 1, "label": [1, 12], "speech": 1, "automat": [1, 3, 9, 10, 13], "recognit": 1, "either": [1, 6, 13], "audio": [1, 6, 10], "transcrib": 1, "also": [1, 4, 6, 8, 9, 10, 12, 13], "time": [1, 9, 10, 12], "frame": 1, "perform": [1, 10], "transcript": 1, "onli": [1, 2, 4, 6, 9, 12, 13], "segment": 1, "save": [1, 10, 13], "comput": [1, 6, 8, 10], "power": 1, "even": [1, 13], "timeunit": 1, "slate": 1, "chyron": 1, "doesn": [1, 13], "t": [1, 4, 6, 9, 10, 13], "matter": 1, "unfortun": 1, "wai": [1, 6, 13], "within": [1, 13], "let": [1, 10, 13], "": [1, 2, 6, 9, 10, 13], "look": [1, 6, 13], "scene": 1, "timepoint": 1, "v4": 1, "still": [1, 9, 13], "level": [1, 10], "imag": [1, 2, 10, 13], "classif": 1, "result": [1, 2, 6, 10, 13], "millisecond": 1, "labelset": 1, "talk": [1, 10], "head": [1, 4], "note": [1, 4, 6, 8, 10, 12, 13], "actual": [1, 6, 9, 13], "store": [1, 2, 6, 10, 13], "subset": 1, "check": [1, 13], "downstream": 1, "well": [1, 2, 9, 13], "reader": 1, "understand": [1, 6, 9], "fly": 1, "form": 1, "doe": [1, 6, 9, 10, 13], "chang": [1, 5, 6, 9, 13], "verbos": 1, "extens": 1, "run": [1, 4, 7, 8, 10, 11, 12, 13], "server": [1, 4, 8, 10, 13], "prefer": [1, 6], "stateless": [1, 6, 12], "accept": [1, 6, 10, 13], "request": [1, 4, 6, 10, 12, 13], "data": [1, 2, 3, 5, 6, 9, 10, 13], "payload": 1, "bodi": [1, 2, 6, 10], "expos": [1, 6, 10, 12], "configur": [1, 2, 4, 8, 10, 13], "read": [1, 3, 6, 9, 10, 13], "queri": [1, 6, 10, 12], "That": [1, 6, 9, 10], "said": [1, 10], "allow": [1, 7, 13], "user": [1, 2, 6, 8, 10, 12, 13], "pass": [1, 2, 3, 4, 6, 9, 10, 12, 13], "henc": [1, 6, 9, 10], "respons": [1, 2, 4, 6, 10, 13], "pars": 1, "appropri": 1, "python": [1, 2, 4, 7, 9, 10, 13], "sdk": [1, 2, 3, 6, 10, 12, 13], "basic": [1, 10], "function": [1, 2, 10, 13], "web": [1, 2, 4, 8, 10], "framework": 1, "wrapper": [1, 2, 4, 8, 10, 13], "At": [1, 6, 10], "among": 1, "integ": [1, 3], "number": [1, 3, 4, 6, 9, 10, 13], "map": [1, 2, 3, 4, 10, 13], "properli": [1, 6], "notic": [1, 6, 13], "NO": 1, "multivalu": [1, 2, 3, 12], "detail": [1, 6, 9, 10, 12, 13], "built": [1, 2, 4, 6], "work": [1, 2, 5, 6, 9, 10, 12, 13], "scheme": [1, 9], "you": [1, 3, 5, 6, 7, 9, 10, 12, 13], "download": 1, "initi": [1, 3, 13], "simpli": [1, 3, 6], "gener": [1, 2, 3, 5, 6, 8, 10, 13], "extern": [1, 3], "dict": [1, 2, 3, 5], "keyword": [1, 2, 3, 10, 12, 13], "argument": [1, 2, 3, 6, 10, 12, 13], "But": [1, 3], "care": [1, 3], "name": [1, 2, 3, 6, 10, 12, 13], "short": 1, "longer": [1, 2], "what": [1, 10, 13], "etc": [1, 6], "app_vers": [1, 3], "version": [1, 6, 8, 10, 13], "auto": 1, "NOT": 1, "manual": [1, 6, 10], "fill": [1, 2, 13], "mmif_vers": [1, 3], "analyzer_vers": [1, 3, 13], "analyz": [1, 10], "softwar": [1, 6, 8, 10], "app_licens": [1, 3, 13], "licens": 1, "analyzer_licens": [1, 3, 13], "identifi": [1, 3, 13], "partli": 1, "iri": 1, "give": [1, 13], "singl": [1, 5, 12], "compos": 1, "valid": [1, 2, 6, 9], "charact": [1, 6], "whitespac": 1, "prepend": 1, "append": [1, 6, 10], "1": [1, 9, 10, 13], "0": [1, 4, 9, 10, 13], "otherwis": [1, 12], "suffix": 1, "leav": [1, 13], "out": [1, 6, 13], "maxlength": 1, "65536": 1, "minlength": 1, "repositori": [1, 6, 10, 13], "sourc": [1, 2, 3, 4, 7, 8, 9, 10, 11, 13], "code": [1, 4, 10, 13], "git": [1, 6], "base": [1, 2, 4, 5, 6, 8, 9, 10, 12, 13], "least": 1, "element": [1, 3], "iter": [1, 5], "exhaust": 1, "meticul": 1, "manner": 1, "pai": 1, "attent": 1, "includ": [1, 6, 13], "2": [1, 2, 4, 9, 10, 13], "interpret": [1, 6], "conjunct": 1, "AND": 1, "oneof": 1, "disjunct": 1, "OR": 1, "typea": 1, "req": 1, "typeb": 1, "typec": 1, "addition": [1, 6], "g": [1, 2, 6, 10], "arrai": 1, "item": [1, 13], "anyof": 1, "empti": [1, 6, 7, 9, 13], "runtimeparamet": [1, 3], "depend": [1, 3, 6, 9, 10, 13], "complet": [1, 6], "most": [1, 6, 9, 10, 13], "separ": [1, 6, 13], "codebas": 1, "txt": [1, 6, 13], "pom": 1, "xml": 1, "maven": 1, "java": 1, "kind": 1, "structur": [1, 9, 10], "thu": [1, 13], "packag": [1, 6, 8, 10, 13], "its": [1, 2, 13], "minimum": [1, 6], "3": [1, 6, 9, 10, 13], "additionalproperti": 1, "dilig": 1, "purpos": [1, 2], "particular": 1, "consum": [1, 2], "expans": 1, "beyond": [1, 13], "mandatori": [1, 3], "match": [1, 5, 6, 13], "usual": [1, 6, 9, 13], "keep": [1, 6, 13], "want": [1, 5, 6, 10, 12, 13], "falsi": 1, "counterpart": 1, "instead": [1, 2, 10, 13], "forc": [1, 6], "perspect": 1, "colon": 1, "rememb": 1, "impli": 1, "alwai": [1, 6, 10, 12, 13], "handl": [1, 8, 10], "up": [1, 6, 8, 10, 13], "precis": 1, "desir": [1, 5], "dictionari": [1, 2], "key1": 1, "value1": 1, "key2": 1, "value2": 1, "enum": 1, "choic": [1, 2, 3], "make": [1, 6, 10, 12, 13], "singleton": 1, "_annot": [1, 2, 10, 11], "via": [1, 10, 12, 13], "class": [2, 3, 4, 5, 8, 9, 10, 12], "clamsapp": [2, 4, 10, 11, 12, 13], "abc": 2, "abstract": 2, "defin": [2, 4, 5, 10, 13], "api": [2, 4, 9, 11, 13], "inherit": [2, 10], "us": [2, 3, 4, 5, 8, 9, 10, 12], "restifi": [2, 8, 10, 11, 13], "_raw_params_kei": [2, 11], "raw": 2, "_abc_impl": [2, 11], "_abc_data": 2, "mmif": [2, 4, 5, 6, 7, 8, 10, 11, 13], "_raw_paramet": 2, "none": [2, 3, 4, 5], "refined_paramet": 2, "method": [2, 3, 4, 5, 10, 11, 12, 13], "load": 2, "elsewher": 2, "metadata": [2, 3, 4, 5, 8, 10, 12], "runtim": [2, 8, 10, 13], "implement": [2, 8, 9, 10, 13], "bulk": [2, 13], "logic": [2, 13], "go": [2, 9, 13], "typic": [2, 13], "would": [2, 13], "creat": [2, 6, 7, 10], "new": [2, 5, 7, 8, 9, 10, 12], "new_view": [2, 13], "input": [2, 3, 8, 9, 10, 12, 13], "sign_view": [2, 11, 13], "paramet": [2, 3, 4, 5, 6, 10, 12, 13], "record": [2, 10, 13], "new_contain": [2, 13], "annot": [2, 4, 6, 11, 12], "properti": [2, 3, 5, 6], "them": [2, 6, 13], "get": [2, 4, 11, 12, 13], "help": [2, 6, 7, 10, 13], "documenttyp": [2, 13], "annotationtyp": [2, 13], "type": [2, 3, 6, 10, 12, 13], "return": [2, 3, 4, 5, 6, 9, 10, 12, 13], "runtime_param": 2, "k": [2, 3], "v": [2, 3, 6, 13], "output": [2, 3, 4, 6, 8, 9, 10, 12, 13], "readi": [2, 4, 6, 10], "_appmetadata": [2, 10, 11, 13], "appmetadata": [2, 4, 8, 11, 13], "serializ": 2, "static": [2, 4], "_check_mmif_compat": [2, 11], "target_specv": 2, "input_specv": 2, "_load_appmetadata": [2, 10, 11], "privat": 2, "__init__": [2, 12], "onc": [2, 5, 6, 10], "three": [2, 6, 10, 13], "order": 2, "prioriti": 2, "py": [2, 10, 13], "self": [2, 12, 13], "legaci": 2, "case": [2, 6, 9, 10, 13], "specif": [2, 3, 6, 8, 10, 13], "jsonschema": [2, 9], "_refine_param": [2, 11], "str": [2, 3, 4, 5, 10], "realli": 2, "copi": [2, 13], "param": [2, 3], "ad": [2, 3, 5, 6], "rais": [2, 13], "valueerror": 2, "found": [2, 6, 10], "invok": 2, "primari": 2, "It": [2, 6, 10], "around": [2, 10, 13], "oper": 2, "kwarg": [2, 10], "get_configur": [2, 11], "open_document_loc": [2, 11], "openerarg": 2, "own": [2, 10], "By": [2, 6, 10, 13], "locat": [2, 6], "pil": 2, "record_error": [2, 11], "runtime_conf": 2, "error": [2, 6, 13], "log": 2, "occur": 2, "encount": 2, "set_error_view": [2, 11], "begin": [2, 5], "popul": [2, 5], "universal_paramet": [2, 10, 11], "pretti": [2, 6, 10, 13], "format": [2, 6, 8, 9, 10], "space": [2, 13], "indent": [2, 6], "validate_document_loc": [2, 11], "zero": 2, "filenotfounderror": 2, "anyhttpurl": 3, "app": [3, 4, 7, 8, 11, 12], "add_input": [3, 11, 13], "at_typ": 3, "typesbas": 3, "bool": [3, 4], "helper": [3, 4], "newli": [3, 10], "add_mor": [3, 11], "add_output": [3, 11, 13], "add_paramet": [3, 11, 13], "liter": 3, "int": [3, 4], "float": 3, "clamshttpapi": [4, 11], "cla_inst": 4, "resourc": 4, "verb": 4, "constructor": 4, "json_to_respons": [4, 11], "json_str": 4, "statu": 4, "200": 4, "convert": [4, 10], "numer": 4, "respond": 4, "send": [4, 6, 12], "classvar": 4, "collect": [4, 12], "post": [4, 6, 10, 11, 12, 13], "put": [4, 11, 13], "regist": 4, "rout": [4, 10], "add_url_rul": 4, "now": [4, 10, 13], "app_inst": 4, "loopback": 4, "port": [4, 6, 10, 13], "5000": [4, 6, 10, 12, 13], "debug": [4, 6, 10], "simpl": [4, 10, 13], "turn": [4, 6], "flak": 4, "reli": [4, 9], "flask": [4, 8, 10, 13], "wrap": [4, 8, 10], "listen": [4, 6, 10], "localhost": [4, 6, 10, 13], "mode": [4, 6, 10], "start": [4, 13], "serve_develop": [4, 11], "webapp": 4, "werkzeug": [4, 10], "palletsproject": 4, "com": [4, 6, 10, 13], "en": 4, "x": [4, 6, 10, 13], "serve_product": [4, 10, 11], "product": [4, 6, 10, 13], "gunicorn": [4, 10, 13], "doc": [4, 6, 10, 13], "stabl": 4, "test_client": [4, 11], "test": [4, 6, 10, 13], "client": [4, 6, 12], "workflowsourc": [5, 11], "common_documents_json": 5, "common_metadata_json": 5, "workflow": [5, 6, 8, 10], "media": 5, "repeatedli": 5, "doc_list": 5, "add_docu": [5, 11], "done": [5, 13], "fetch": 5, "medium": 5, "change_metadata": [5, 11], "entri": 5, "from_data": [5, 11], "metadata_obj": 5, "mmifmetadata": 5, "pairwis": 5, "zip": [5, 6], "togeth": [5, 8, 9], "prime": [5, 11], "fresh": 5, "reset": 5, "without": [5, 6, 10, 13], "been": 5, "prepar": [5, 12, 13], "instruct": [6, 10, 13], "mai": [6, 13], "advis": 6, "manag": 6, "docker": [6, 8, 10], "podman": 6, "command": [6, 8, 10, 13], "python3": [6, 13], "modul": [6, 8, 11, 13], "8": [6, 9, 10], "higher": 6, "execut": 6, "analysi": [6, 8, 10], "util": 6, "curl": [6, 10, 13], "come": [6, 7, 9, 10], "librari": [6, 8, 9, 10], "could": [6, 13], "non": [6, 13], "project": [6, 10], "distribut": [6, 9, 10], "directli": 6, "quick": [6, 8], "easi": [6, 13], "flexibl": 6, "modifi": 6, "hw": 6, "quickest": 6, "pull": 6, "prebulit_image_nam": 6, "altern": 6, "adjust": [6, 10], "hardwar": 6, "environ": 6, "engin": [6, 8, 10], "plugin": 6, "clone": 6, "address": 6, "termin": [6, 10, 13], "assum": 6, "f": [6, 13], "containerfil": [6, 10, 13], "image_name_you_pick": 6, "equival": 6, "session": [6, 10], "first": [6, 10, 12, 13], "cover": 6, "path": [6, 13], "p": [6, 13], "image_nam": 6, "host": [6, 10, 13], "insid": [6, 13], "second": [6, 10, 13], "1024": 6, "fine": 6, "mount": [6, 13], "just": [6, 13], "veri": 6, "mac": 6, "recent": [6, 13], "maco": 6, "airplai": 6, "receiv": 6, "off": 6, "system": [6, 10, 13], "releas": [6, 9], "safe": 6, "iana": 6, "wikipedia": 6, "appl": 6, "silicon": 6, "m1": [6, 13], "m2": [6, 13], "cpu": 6, "might": [6, 10], "messag": 6, "platform": [6, 8, 10], "linux": 6, "amd64": 6, "detect": 6, "arm64": 6, "v8": 6, "wa": 6, "try": [6, 9, 10], "intel": 6, "amd": 6, "x64": 6, "emul": 6, "layer": 6, "cach": [6, 13], "persist": 6, "particularli": [6, 13], "handi": 6, "fairli": 6, "larg": [6, 13], "pretrain": 6, "next": 6, "unlik": 6, "fix": 6, "tempt": 6, "bind": 6, "entir": 6, "across": 6, "sensit": 6, "browser": 6, "authent": 6, "pose": 6, "great": 6, "secur": 6, "risk": 6, "remot": 6, "through": [6, 13], "obtain": 6, "sure": [6, 10, 13], "pypi": [6, 9, 10], "_": 6, "pip": [6, 10], "mp3": 6, "y": [6, 13], "z": [6, 13], "vocabulari": [6, 13], "mime": [6, 13], "id": [6, 13], "d1": [6, 13], "suffic": 6, "absolut": [6, 8], "ensur": 6, "especi": [6, 10], "why": 6, "side": 6, "access": [6, 13], "alreadi": [6, 13], "sequenc": 6, "todo": 6, "link": 6, "h": [6, 10], "d": [6, 10, 13], "bash": 6, "pipelin": 6, "better": 6, "shell": [6, 8, 10, 13], "escap": 6, "prevent": 6, "special": 6, "foremost": 6, "support": [6, 8, 10], "line": [6, 7, 13], "interfac": [6, 7, 10, 12], "previou": [6, 10], "like": [6, 10, 13], "main": [6, 10], "container": [6, 8], "Be": 6, "larger": 6, "traffic": 6, "volum": 6, "cmd": [6, 13], "print": [6, 10, 13], "two": [6, 10, 13], "guarante": 6, "mimic": 6, "behavior": [6, 10], "posit": 6, "input_mmif": [6, 12], "output_mmif": 6, "write": [6, 10, 13], "respect": [6, 10, 13], "unix": 6, "stdin": 6, "stdout": 6, "cat": [6, 13], "prefix": [6, 13], "overrid": 6, "correctli": 6, "interact": 6, "cli": 7, "templat": [7, 8, 13], "select": 7, "instal": [7, 8, 9, 13], "aim": 8, "multimedia": 8, "materi": 8, "believ": 8, "bring": 8, "mani": [8, 10, 13], "benefit": 8, "technic": 8, "advanc": 8, "archiv": 8, "museum": 8, "achiev": 8, "interoper": 8, "vendor": 8, "necessari": [8, 12, 13], "friendli": 8, "interchang": 8, "assist": 8, "cooki": [8, 13], "cutter": [8, 13], "everyth": 8, "histori": 8, "patch": 8, "overview": [8, 13], "prerequisit": 8, "o": [8, 10, 13], "tutori": [8, 10], "nlp": [8, 10], "tool": [8, 10], "index": 8, "search": 8, "ld": 9, "compon": [9, 10], "issu": 9, "tracker": 9, "new_mmif": 9, "fail": 9, "under": 9, "schema": 9, "won": 9, "possibl": [9, 13], "incompat": 9, "saw": 9, "ship": 9, "don": [9, 10, 13], "worri": 9, "compat": [9, 10], "__specver__": 9, "exactli": 9, "consider": 9, "updat": 9, "share": 9, "syntact": 9, "big": 9, "avoid": 9, "much": 9, "unavoid": 9, "major": [9, 10], "increment": 9, "relat": [9, 10, 13], "our": [9, 13], "decis": 9, "subject": 9, "tabl": 9, "mention": 9, "6": 9, "18": 9, "5": [9, 13], "17": 9, "4": [9, 13], "16": 9, "15": 9, "14": 9, "13": 9, "11": 9, "10": [9, 13], "9": 9, "7": [9, 10], "move": [10, 13], "custom": 10, "high": 10, "easili": 10, "deploi": 10, "site": 10, "applianc": 10, "autom": 10, "content": [10, 11], "stream": 10, "explain": [10, 13], "latest": 10, "newer": 10, "plan": 10, "choos": 10, "mind": 10, "companion": 10, "regard": [10, 13], "cookiecutt": 10, "readm": 10, "md": 10, "four": 10, "underli": 10, "speak": 10, "dockerfil": [10, 13], "core": 10, "essenc": [10, 13], "further": 10, "good": [10, 13], "along": 10, "docstr": 10, "mostli": [10, 13], "concern": [10, 13], "relev": [10, 13], "over": [10, 13], "insert": [10, 13], "sampl": 10, "rate": 10, "resample_r": 10, "reproduc": [10, 13], "univers": 10, "commonli": 10, "announc": 10, "step": 10, "fact": [10, 13], "shouldn": 10, "futur": 10, "integr": 10, "serv": 10, "anapp": 10, "__name__": 10, "__main__": [10, 13], "hostnam": 10, "root": 10, "parametercast": 10, "suitabl": 10, "robust": 10, "asynchron": 10, "spin": 10, "multi": 10, "worker": 10, "window": 10, "end": [10, 13], "dai": 10, "poke": 10, "servic": 10, "seamless": 10, "deploy": 10, "independ": 10, "being": [10, 13], "complic": 10, "opencv": 10, "ffmpeg": 10, "inlin": 10, "comment": 10, "scratch": 10, "github": [10, 13], "clamsproject": [10, 13], "organ": [10, 13], "build": [10, 13], "push": 10, "familiar": 10, "offici": [10, 13], "instanti": 10, "debian": [10, 13], "moment": 10, "finish": 10, "local": [10, 13], "commandlin": 10, "combin": 12, "namedentityrecognizerapp": 12, "def": [12, 13], "super": 12, "ner_model": 12, "_load_model": 12, "preambl": [12, 13], "labels_to_us": 12, "person": [12, 13], "gpe": 12, "get_text": 12, "ne": [12, 13], "ent": 12, "label_": 12, "add_annot": 12, "start_char": 12, "end_char": 12, "clam": [12, 13], "state": 12, "enter": 12, "articl": 13, "focus": 13, "lot": 13, "sens": 13, "glanc": 13, "ultra": 13, "regular": 13, "express": 13, "offset": 13, "__version__": 13, "tok": 13, "span": 13, "findit": 13, "w": 13, "fido": 13, "bark": 13, "skeleton": 13, "rest": 13, "tokenizerwrapp": 13, "starter": 13, "n": 13, "flag": 13, "convent": 13, "script": 13, "strict": 13, "sever": 13, "thing": 13, "subclass": 13, "block": 13, "third": 13, "asid": 13, "few": 13, "standard": 13, "discrimin": 13, "came": 13, "linguist": 13, "conveni": 13, "sinc": 13, "u": 13, "attribut": 13, "variabl": 13, "point": 13, "attr": 13, "dir": 13, "startswith": 13, "__": 13, "getattr": 13, "join": 13, "chunk": 13, "constitu": 13, "coref": 13, "date": 13, "dependency_structur": 13, "generic_rel": 13, "lemma": 13, "lookup": 13, "markabl": 13, "nchunk": 13, "paragraph": 13, "phrase_structur": 13, "semantic_rol": 13, "sentenc": 13, "vchunk": 13, "With": 13, "introduc": 13, "background": 13, "connect": 13, "appmetdata": 13, "apach": 13, "tokenizer_licens": 13, "tokenizer_vers": 13, "appli": 13, "textdocu": 13, "throw": 13, "eol": 13, "boundari": 13, "warn": 13, "left": 13, "statement": 13, "shown": 13, "noth": 13, "ll": 13, "interest": 13, "long": 13, "somewher": 13, "descipt": 13, "explanatori": 13, "think": 13, "snippet": 13, "caller": 13, "refin": 13, "befor": 13, "correct": 13, "willi": 13, "nilli": 13, "arg": 13, "val": 13, "except": 13, "isinst": 13, "els": 13, "get_documents_by_typ": 13, "_view_": 13, "_new_view": 13, "long_id": 13, "continu": 13, "_run_nlp_tool": 13, "task": 13, "retriev": 13, "anchor": 13, "invoc": 13, "hand": 13, "possibli": 13, "live": 13, "docid": 13, "runtime_config": 13, "after": 13, "timestamp": 13, "repeat": 13, "text_valu": 13, "p1": 13, "p2": 13, "new_annot": 13, "parent": 13, "target": 13, "back": 13, "add_properti": 13, "loop": 13, "bother": 13, "straight": 13, "dockerignor": 13, "ghcr": 13, "io": 13, "workdir": 13, "edit": 13, "apt": 13, "pip3": 13, "r": 13, "reduc": 13, "size": 13, "small": 13, "pick": 13, "idea": 13, "rm": 13, "4000": 13, "break": 13, "down": 13, "stop": 13, "later": 13, "tell": 13, "remov": 13, "hello": 13, "jim": 13, "lehrer": 13, "newshour": 13, "pb": 13, "nineteen": 13, "eighti": 13, "dog": 13, "increasingli": 13, "becom": 13, "problem": 13, "urban": 13, "area": 13, "setup": 13, "laid": 13, "pwd": 13, "given": 13, "plain": 13, "again": 13}, "objects": {"clams": [[2, 0, 0, "-", "app"], [4, 0, 0, "-", "restify"], [5, 0, 0, "-", "source"]], "clams.app": [[2, 1, 1, "", "ClamsApp"]], "clams.app.ClamsApp": [[2, 2, 1, "", "_RAW_PARAMS_KEY"], [2, 2, 1, "", "_abc_impl"], [2, 3, 1, "", "_annotate"], [2, 3, 1, "", "_appmetadata"], [2, 3, 1, "", "_check_mmif_compatibility"], [2, 3, 1, "", "_load_appmetadata"], [2, 3, 1, "", "_refine_params"], [2, 3, 1, "", "annotate"], [2, 3, 1, "", "appmetadata"], [2, 3, 1, "", "get_configuration"], [2, 3, 1, "", "open_document_location"], [2, 3, 1, "", "record_error"], [2, 3, 1, "", "set_error_view"], [2, 3, 1, "", "sign_view"], [2, 2, 1, "", "universal_parameters"], [2, 3, 1, "", "validate_document_locations"]], "clams.appmetadata": [[3, 1, 1, "", "AppMetadata"]], "clams.appmetadata.AppMetadata": [[3, 3, 1, "", "add_input"], [3, 3, 1, "", "add_more"], [3, 3, 1, "", "add_output"], [3, 3, 1, "", "add_parameter"]], "clams.restify": [[4, 1, 1, "", "ClamsHTTPApi"], [4, 1, 1, "", "Restifier"]], "clams.restify.ClamsHTTPApi": [[4, 3, 1, "", "get"], [4, 3, 1, "", "json_to_response"], [4, 2, 1, "", "methods"], [4, 3, 1, "", "post"], [4, 3, 1, "", "put"]], "clams.restify.Restifier": [[4, 3, 1, "", "run"], [4, 3, 1, "", "serve_development"], [4, 3, 1, "", "serve_production"], [4, 3, 1, "", "test_client"]], "clams.source": [[5, 1, 1, "", "WorkflowSource"]], "clams.source.WorkflowSource": [[5, 3, 1, "", "add_document"], [5, 3, 1, "", "change_metadata"], [5, 3, 1, "", "from_data"], [5, 2, 1, "", "mmif"], [5, 3, 1, "", "prime"], [5, 3, 1, "", "produce"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"]}, "titleterms": {"clam": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "app": [0, 1, 2, 6, 9, 10, 13], "directori": 0, "metadata": [1, 6, 13], "overview": [1, 10], "format": 1, "input": [1, 6], "output": 1, "type": 1, "specif": [1, 9], "annot": [1, 10, 13], "mmif": [1, 9], "syntax": 1, "i": [1, 9], "o": [1, 9], "simpl": 1, "case": 1, "us": [1, 6, 13], "defin": 1, "vocabulari": 1, "extend": 1, "ad": [1, 13], "custom": 1, "properti": [1, 13], "definit": 1, "runtim": [1, 12], "paramet": 1, "schema": 1, "appmetadata": [1, 3, 10], "packag": [2, 3, 4, 5, 9, 11], "modul": [2, 3, 4, 5], "content": [2, 3, 4, 5, 8], "restifi": 4, "sourc": [5, 6], "requir": 6, "instal": [6, 10], "download": 6, "prebuilt": 6, "imag": 6, "build": 6, "an": [6, 13], "from": [6, 8], "code": 6, "run": 6, "start": [6, 8, 10], "http": [6, 10, 12], "server": [6, 12], "contain": 6, "invok": 6, "To": 6, "get": [6, 8, 10], "process": 6, "media": 6, "configur": [6, 12], "cli": 6, "program": 6, "python": [6, 8, 12], "entri": 6, "point": 6, "py": 6, "local": 6, "shell": 7, "command": 7, "welcom": 8, "sdk": 8, "document": [8, 13], "project": 8, "now": 8, "For": 8, "more": 8, "api": [8, 10, 12], "indic": 8, "tabl": 8, "version": 9, "target": 9, "prerequisit": 10, "quick": 10, "templat": 10, "webapp": 10, "container": [10, 13], "As": 12, "tutori": 13, "wrap": 13, "nlp": 13, "applic": 13, "The": 13, "tool": 13, "token": 13, "import": 13, "class": 13, "_annot": 13, "creat": 13, "new": 13, "view": 13, "docker": 13, "locat": 13}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 58}, "alltitles": {"CLAMS App Directory": [[0, "clams-app-directory"]], "CLAMS App Metadata": [[1, "clams-app-metadata"]], "Overview": [[1, "overview"], [10, "overview"]], "Format": [[1, "format"]], "Input/Output type specification": [[1, "input-output-type-specification"]], "Annotation types in MMIF": [[1, "annotation-types-in-mmif"]], "Syntax for I/O specification in App Metadata": [[1, "syntax-for-i-o-specification-in-app-metadata"]], "Simple case - using types as defined in the vocabularies": [[1, "simple-case-using-types-as-defined-in-the-vocabularies"]], "Extended case - adding custom properties to the type definition": [[1, "extended-case-adding-custom-properties-to-the-type-definition"]], "Runtime parameter specification": [[1, "runtime-parameter-specification"]], "Syntax for parameter specification in App Metadata": [[1, "syntax-for-parameter-specification-in-app-metadata"]], "Metadata Schema": [[1, "metadata-schema"]], "CLAMS AppMetadata": [[1, "clams-appmetadata"]], "CLAMS Input Specification": [[1, "clams-input-specification"]], "CLAMS Output Specification": [[1, "clams-output-specification"]], "CLAMS App Runtime Parameter": [[1, "clams-app-runtime-parameter"]], "clams.app package": [[2, "clams-app-package"]], "Module contents": [[2, "module-clams.app"], [3, "module-contents"], [4, "module-clams.restify"], [5, "module-clams.source"]], "clams.appmetadata package": [[3, "clams-appmetadata-package"]], "clams.restify package": [[4, "clams-restify-package"]], "clams.source package": [[5, "clams-source-package"]], "Using CLAMS App": [[6, "using-clams-app"]], "Requirements": [[6, "requirements"]], "Installation": [[6, "installation"], [10, "installation"]], "Download prebuilt image": [[6, "download-prebuilt-image"]], "Build an image from source code": [[6, "build-an-image-from-source-code"]], "Running CLAMS App": [[6, "running-clams-app"]], "Starting the HTTP server as a container": [[6, "starting-the-http-server-as-a-container"]], "Invoking the app server": [[6, "invoking-the-app-server"]], "To get app metadata": [[6, "to-get-app-metadata"]], "To process input media": [[6, "to-process-input-media"]], "Configuring the app": [[6, "configuring-the-app"]], "Using CLAMS App as a CLI program": [[6, "using-clams-app-as-a-cli-program"]], "Python entry points": [[6, "python-entry-points"]], "app.py: Running app as a local HTTP server": [[6, "app-py-running-app-as-a-local-http-server"]], "metadata.py: Getting app metadata": [[6, "metadata-py-getting-app-metadata"]], "cli.py: Running as a CLI program": [[6, "cli-py-running-as-a-cli-program"]], "clams shell command": [[7, "clams-shell-command"]], "Welcome to CLAMS Python SDK documentation!": [[8, "welcome-to-clams-python-sdk-documentation"]], "CLAMS project": [[8, "clams-project"]], "clams-python": [[8, "clams-python"]], "Start now from Getting Started!": [[8, "start-now-from-getting-started"]], "For more \u2026": [[8, "for-more"]], "Contents": [[8, null]], "API documentation:": [[8, null]], "Indices and tables": [[8, "indices-and-tables"]], "I/O Specification": [[9, "i-o-specification"]], "mmif package": [[9, "mmif-package"]], "MMIF version and CLAMS apps": [[9, "mmif-version-and-clams-apps"]], "Target Specification Versions": [[9, "id1"]], "Getting started": [[10, "getting-started"]], "Prerequisites": [[10, "prerequisites"]], "Quick Start with the App Template": [[10, "quick-start-with-the-app-template"]], "CLAMS App API": [[10, "clams-app-api"]], "annotate()": [[10, "annotate"]], "appmetadata()": [[10, "appmetadata"]], "HTTP webapp": [[10, "http-webapp"]], "Containerization": [[10, "containerization"]], "clams package": [[11, "clams-package"]], "Runtime Configuration": [[12, "runtime-configuration"]], "As Python API": [[12, "as-python-api"]], "As HTTP Server": [[12, "as-http-server"]], "Tutorial: Wrapping an NLP Application": [[13, "tutorial-wrapping-an-nlp-application"]], "The NLP tool": [[13, "the-nlp-tool"]], "Wrapping the tokenizer": [[13, "wrapping-the-tokenizer"]], "Imports": [[13, "imports"]], "The application class": [[13, "the-application-class"]], "App Metadata": [[13, "app-metadata"]], "_annotate()": [[13, "annotate"]], "Creating a new view:": [[13, "creating-a-new-view"]], "Adding annotations:": [[13, "adding-annotations"]], "Containerization with Docker": [[13, "containerization-with-docker"]], "Using the document.location property": [[13, "using-the-document-location-property"]]}, "indexentries": {"clamsapp (class in clams.app)": [[2, "clams.app.ClamsApp"]], "_raw_params_key (clams.app.clamsapp attribute)": [[2, "clams.app.ClamsApp._RAW_PARAMS_KEY"]], "_abc_impl (clams.app.clamsapp attribute)": [[2, "clams.app.ClamsApp._abc_impl"]], "_annotate() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._annotate"]], "_appmetadata() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._appmetadata"]], "_check_mmif_compatibility() (clams.app.clamsapp static method)": [[2, "clams.app.ClamsApp._check_mmif_compatibility"]], "_load_appmetadata() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._load_appmetadata"]], "_refine_params() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._refine_params"]], "annotate() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.annotate"]], "appmetadata() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.appmetadata"]], "clams.app": [[2, "module-clams.app"]], "get_configuration() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.get_configuration"]], "module": [[2, "module-clams.app"], [4, "module-clams.restify"], [5, "module-clams.source"]], "open_document_location() (clams.app.clamsapp static method)": [[2, "clams.app.ClamsApp.open_document_location"]], "record_error() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.record_error"]], "set_error_view() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.set_error_view"]], "sign_view() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.sign_view"]], "universal_parameters (clams.app.clamsapp attribute)": [[2, "clams.app.ClamsApp.universal_parameters"]], "validate_document_locations() (clams.app.clamsapp static method)": [[2, "clams.app.ClamsApp.validate_document_locations"]], "appmetadata (class in clams.appmetadata)": [[3, "clams.appmetadata.AppMetadata"]], "add_input() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_input"]], "add_more() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_more"]], "add_output() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_output"]], "add_parameter() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_parameter"]], "clamshttpapi (class in clams.restify)": [[4, "clams.restify.ClamsHTTPApi"]], "restifier (class in clams.restify)": [[4, "clams.restify.Restifier"]], "clams.restify": [[4, "module-clams.restify"]], "get() (clams.restify.clamshttpapi method)": [[4, "clams.restify.ClamsHTTPApi.get"]], "json_to_response() (clams.restify.clamshttpapi static method)": [[4, "clams.restify.ClamsHTTPApi.json_to_response"]], "methods (clams.restify.clamshttpapi attribute)": [[4, "clams.restify.ClamsHTTPApi.methods"]], "post() (clams.restify.clamshttpapi method)": [[4, "clams.restify.ClamsHTTPApi.post"]], "put() (clams.restify.clamshttpapi method)": [[4, "clams.restify.ClamsHTTPApi.put"]], "run() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.run"]], "serve_development() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.serve_development"]], "serve_production() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.serve_production"]], "test_client() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.test_client"]], "workflowsource (class in clams.source)": [[5, "clams.source.WorkflowSource"]], "add_document() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.add_document"]], "change_metadata() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.change_metadata"]], "clams.source": [[5, "module-clams.source"]], "from_data() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.from_data"]], "mmif (clams.source.workflowsource attribute)": [[5, "clams.source.WorkflowSource.mmif"]], "prime() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.prime"]], "produce() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.produce"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["appdirectory", "appmetadata", "autodoc/clams.app", "autodoc/clams.appmetadata", "autodoc/clams.restify", "autodoc/clams.source", "clamsapp", "cli", "index", "input-output", "introduction", "modules", "runtime-params", "tutorial"], "filenames": ["appdirectory.rst", "appmetadata.rst", "autodoc/clams.app.rst", "autodoc/clams.appmetadata.rst", "autodoc/clams.restify.rst", "autodoc/clams.source.rst", "clamsapp.md", "cli.rst", "index.rst", "input-output.rst", "introduction.rst", "modules.rst", "runtime-params.rst", "tutorial.md"], "titles": ["CLAMS App Directory", "CLAMS App Metadata", "clams.app package", "clams.appmetadata package", "clams.restify package", "clams.source package", "Using CLAMS App", "clams shell command", "Welcome to CLAMS Python SDK documentation!", "I/O Specification", "Getting started", "clams package", "Runtime Configuration", "Tutorial: Wrapping an NLP Application"], "terms": {"i": [0, 2, 3, 4, 5, 6, 7, 8, 10, 13], "public": [0, 1, 2, 6, 8, 9, 10, 13], "registri": [0, 6, 10], "free": [0, 8], "open": [0, 2, 6, 8, 9], "avail": [0, 1, 6, 7, 10, 13], "http": [0, 1, 2, 4, 8, 13], "ai": [0, 1, 2, 6, 8, 10, 13], "To": [0, 1, 3, 7, 8, 9, 10, 13], "submit": 0, "your": [0, 2, 5, 6, 10, 12, 13], "registr": 0, "pleas": [0, 1, 3, 6, 9, 10], "find": [0, 9, 10, 13], "submiss": [0, 1], "guidelin": [0, 1], "websit": [0, 6, 9, 10], "everi": 1, "must": [1, 2, 3, 6, 9, 10, 12, 13], "provid": [1, 2, 3, 4, 5, 6, 8, 10, 13], "inform": [1, 2, 6, 9, 10], "about": [1, 6, 9, 10, 13], "itself": [1, 6, 10, 13], "we": [1, 6, 8, 9, 10, 12, 13], "call": [1, 2, 5, 10, 13], "thi": [1, 2, 3, 4, 5, 6, 9, 10, 12, 13], "set": [1, 2, 3, 6, 8, 12, 13], "A": [1, 2, 4, 5, 9, 10, 13], "should": [1, 2, 3, 5, 10, 12, 13], "abl": [1, 9], "serial": [1, 2, 4, 9, 10, 13], "json": [1, 2, 3, 4, 5, 6, 8, 9, 10, 11], "string": [1, 2, 3, 5, 6, 9, 10, 12, 13], "essenti": [1, 2], "all": [1, 2, 3, 5, 6, 9, 10, 12, 13], "ar": [1, 2, 3, 5, 6, 8, 9, 10, 13], "design": [1, 6], "take": [1, 3, 4, 9, 10, 13], "one": [1, 3, 10, 13], "file": [1, 2, 3, 5, 6, 7, 8, 9, 10, 13], "produc": [1, 5, 11, 13], "anoth": [1, 6, 13], "In": [1, 2, 6, 10, 13], "section": [1, 6, 12], "discuss": [1, 9, 10], "how": [1, 6, 10, 13], "specifi": [1, 2, 3, 6, 10, 12, 13], "semant": 1, "term": 1, "concret": 1, "list": [1, 2, 3, 5, 6, 12, 13], "where": [1, 2, 6, 10, 13], "encod": [1, 2, 3], "part": [1, 6, 9, 10, 12, 13], "full": [1, 3, 13], "below": [1, 6, 9, 10, 12, 13], "when": [1, 2, 3, 4, 5, 6, 9, 10, 12, 13], "an": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12], "publish": [1, 6, 10], "directori": [1, 6, 8, 10, 13], "render": 1, "html": 1, "page": [1, 8, 13], "some": [1, 2, 4, 6, 9, 10, 13], "addit": [1, 2, 3, 4, 6, 10, 13], "visit": [1, 6, 9], "see": [1, 2, 4, 6, 7, 10, 12, 13], "As": [1, 6, 8, 9, 10, 13], "describ": [1, 3, 6, 12, 13], "document": [1, 2, 5, 6, 7, 9, 10, 11], "can": [1, 2, 3, 5, 6, 8, 9, 10, 12, 13], "contain": [1, 10, 13], "variou": [1, 8, 10], "current": [1, 5, 6, 13], "team": [1, 6, 10], "follow": [1, 6, 8, 12, 13], "pre": [1, 3, 6, 10, 13], "lapp": [1, 13], "each": [1, 3, 5, 6, 10, 12, 13], "object": [1, 2, 3, 4, 5, 6, 13], "ha": [1, 2, 3, 5, 6, 10, 13], "uniqu": [1, 13], "uri": [1, 3, 13], "valu": [1, 2, 3, 5, 10, 12, 13], "field": [1, 3, 13], "howev": [1, 6, 9, 10], "more": [1, 2, 3, 6, 9, 10, 12, 13], "import": [1, 6, 9, 10], "context": [1, 2], "develop": [1, 3, 4, 6, 8, 9, 10, 13], "These": [1, 10], "differ": [1, 6, 8, 9, 10, 12, 13], "between": [1, 4, 6, 8, 9], "The": [1, 2, 4, 5, 6, 7, 8, 9, 10], "intend": 1, "common": [1, 2, 3, 5, 6, 10, 13], "group": 1, "same": [1, 4, 5, 6, 9, 12, 13], "while": [1, 2, 10], "individu": 1, "instanc": [1, 3, 4], "practic": [1, 6], "place": [1, 10, 13], "view": [1, 2, 4, 6, 7, 10, 12], "metatadata": 1, "becaus": [1, 6, 9, 10, 13], "lack": 1, "distinct": 1, "refer": [1, 3, 6, 9, 10, 13], "both": [1, 13], "intention": 1, "kept": 1, "minim": [1, 13], "underspecifi": 1, "meant": 1, "For": [1, 2, 3, 4, 6, 9, 10, 12, 13], "exampl": [1, 3, 6, 10, 12, 13], "token": [1, 6, 8], "primarili": [1, 6], "repres": [1, 6], "natur": 1, "languag": [1, 13], "text": [1, 10, 12, 13], "usag": [1, 6, 13], "sub": 1, "word": [1, 13], "machin": [1, 6, 13], "learn": [1, 9, 10], "model": [1, 3, 6], "unit": [1, 12], "sign": [1, 2, 12, 13], "video": [1, 10], "If": [1, 3, 6, 10, 13], "need": [1, 6, 9, 10, 13], "add": [1, 2, 3, 5, 6, 13], "thei": [1, 3, 5, 10, 13], "do": [1, 2, 6, 10, 13], "so": [1, 2, 5, 6, 9, 10, 12, 13], "arbitrari": [1, 2], "action": [1, 10], "expect": [1, 3, 10, 13], "explan": 1, "have": [1, 3, 5, 6, 9, 10, 13], "requir": [1, 2, 3, 10, 13], "descript": [1, 2, 3, 13], "human": [1, 3], "readabl": [1, 3, 6], "option": [1, 3, 4, 5, 6, 10, 12, 13], "kei": [1, 2, 3, 5, 10], "pair": [1, 2, 3, 5, 10, 13], "boolean": [1, 2, 3, 13], "indic": [1, 6], "whether": [1, 3], "default": [1, 2, 3, 4, 6, 10, 12, 13], "true": [1, 3, 4, 6, 10, 12, 13], "Not": [1, 9], "applic": [1, 2, 6, 8, 10], "simplest": [1, 13], "mere": 1, "re": [1, 2, 5, 6, 10, 13], "other": [1, 3, 6, 10, 13], "vocab": [1, 13], "lappsgrid": [1, 13], "org": [1, 4, 6, 12, 13], "postagset": 1, "www": 1, "ling": 1, "upenn": 1, "edu": 1, "cours": 1, "fall_2003": 1, "ling001": 1, "penn_treebank_po": 1, "abov": [1, 6, 9, 10, 12, 13], "declar": 1, "which": [1, 3, 6, 8, 10, 13], "url": [1, 3, 6, 10, 12, 13], "penn": 1, "treebank": 1, "po": [1, 13], "tag": [1, 13], "verbatim": 1, "exist": [1, 6, 10], "ignor": 1, "dure": 1, "process": [1, 2, 8, 9, 10, 13], "There": [1, 10, 13], "grammar": 1, "written": [1, 6], "ani": [1, 2, 3, 4, 5, 6, 10, 13], "multipl": [1, 5, 10, 12], "And": [1, 9, 10, 13], "those": [1, 13], "nest": 1, "One": [1, 6, 13], "mean": [1, 2, 9, 13], "final": [1, 3, 6, 13], "e": [1, 2, 6, 10], "fals": [1, 2, 3, 4], "extra": [1, 3], "from": [1, 2, 3, 4, 5, 7, 9, 10, 13], "recommend": [1, 2, 6, 10, 13], "here": [1, 6, 9, 10, 13], "complex": 1, "audiodocu": [1, 6], "v1": [1, 6, 13], "videodocu": 1, "timefram": 1, "v5": 1, "label": [1, 12], "speech": 1, "automat": [1, 3, 9, 10, 13], "recognit": 1, "either": [1, 6, 13], "audio": [1, 6, 10], "transcrib": 1, "also": [1, 4, 6, 8, 9, 10, 12, 13], "time": [1, 2, 9, 10, 12], "frame": 1, "perform": [1, 3, 10], "transcript": 1, "onli": [1, 2, 4, 6, 9, 12, 13], "segment": 1, "save": [1, 10, 13], "comput": [1, 6, 8, 10], "power": 1, "even": [1, 13], "timeunit": 1, "slate": 1, "chyron": 1, "doesn": [1, 13], "t": [1, 3, 4, 6, 9, 10, 13], "matter": 1, "unfortun": 1, "wai": [1, 6, 13], "within": [1, 13], "let": [1, 10, 13], "": [1, 2, 6, 9, 10, 13], "look": [1, 6, 13], "scene": 1, "timepoint": 1, "v4": 1, "still": [1, 9, 13], "level": [1, 10], "imag": [1, 2, 10, 13], "classif": 1, "result": [1, 2, 6, 10, 13], "millisecond": 1, "labelset": 1, "talk": [1, 10], "head": [1, 4], "note": [1, 3, 4, 6, 8, 10, 12, 13], "actual": [1, 3, 6, 9, 13], "store": [1, 2, 6, 10, 13], "subset": 1, "check": [1, 13], "downstream": 1, "well": [1, 2, 9, 13], "reader": 1, "understand": [1, 6, 9], "fly": 1, "form": 1, "doe": [1, 6, 9, 10, 13], "chang": [1, 3, 5, 6, 9, 13], "verbos": [1, 3], "extens": 1, "run": [1, 2, 4, 7, 8, 10, 11, 12, 13], "server": [1, 4, 8, 10, 13], "prefer": [1, 6], "stateless": [1, 6, 12], "accept": [1, 6, 10, 13], "request": [1, 4, 6, 10, 12, 13], "data": [1, 2, 3, 5, 6, 9, 10, 13], "payload": 1, "bodi": [1, 2, 6, 10], "expos": [1, 6, 10, 12], "configur": [1, 2, 3, 4, 8, 10, 13], "read": [1, 3, 6, 9, 10, 13], "queri": [1, 6, 10, 12], "That": [1, 6, 9, 10], "said": [1, 10], "allow": [1, 3, 7, 13], "user": [1, 2, 3, 6, 8, 10, 12, 13], "pass": [1, 2, 3, 4, 6, 9, 10, 12, 13], "henc": [1, 6, 9, 10], "respons": [1, 2, 4, 6, 10, 13], "pars": 1, "appropri": 1, "python": [1, 2, 3, 4, 7, 9, 10, 13], "sdk": [1, 2, 3, 6, 10, 12, 13], "basic": [1, 10], "function": [1, 2, 3, 10, 13], "web": [1, 2, 4, 8, 10], "framework": 1, "wrapper": [1, 2, 4, 8, 10, 13], "At": [1, 6, 10], "among": 1, "integ": [1, 3], "number": [1, 3, 4, 6, 9, 10, 13], "map": [1, 2, 3, 4, 10, 13], "properli": [1, 6], "notic": [1, 6, 13], "NO": 1, "multivalu": [1, 2, 3, 12], "detail": [1, 6, 9, 10, 12, 13], "built": [1, 2, 4, 6], "work": [1, 2, 5, 6, 9, 10, 12, 13], "scheme": [1, 9], "you": [1, 3, 5, 6, 7, 9, 10, 12, 13], "download": 1, "initi": [1, 3, 13], "simpli": [1, 3, 6], "gener": [1, 2, 3, 5, 6, 8, 10, 13], "extern": [1, 3], "dict": [1, 2, 3, 5, 11], "keyword": [1, 2, 3, 10, 12, 13], "argument": [1, 2, 3, 6, 10, 12, 13], "But": [1, 3], "care": [1, 3], "name": [1, 2, 3, 6, 10, 12, 13], "short": 1, "longer": [1, 2], "what": [1, 10, 13], "etc": [1, 6], "app_vers": [1, 3], "version": [1, 6, 8, 10, 13], "auto": 1, "NOT": 1, "manual": [1, 6, 10], "fill": [1, 2, 13], "mmif_vers": [1, 3], "analyzer_vers": [1, 3, 13], "analyz": [1, 10], "softwar": [1, 6, 8, 10], "app_licens": [1, 3, 13], "licens": 1, "analyzer_licens": [1, 3, 13], "identifi": [1, 3, 13], "partli": 1, "iri": 1, "give": [1, 13], "singl": [1, 3, 5, 12], "compos": 1, "valid": [1, 2, 3, 6, 9], "charact": [1, 6], "whitespac": 1, "prepend": 1, "append": [1, 6, 10], "1": [1, 9, 10, 13], "0": [1, 4, 9, 10, 13], "otherwis": [1, 12], "suffix": 1, "leav": [1, 13], "out": [1, 6, 13], "maxlength": 1, "65536": 1, "minlength": 1, "repositori": [1, 6, 10, 13], "sourc": [1, 2, 3, 4, 7, 8, 9, 10, 11, 13], "code": [1, 4, 10, 13], "git": [1, 6], "base": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13], "least": [1, 3], "element": [1, 3], "iter": [1, 5], "exhaust": 1, "meticul": 1, "manner": 1, "pai": 1, "attent": 1, "includ": [1, 3, 6, 13], "2": [1, 2, 4, 9, 10, 13], "interpret": [1, 6], "conjunct": 1, "AND": 1, "oneof": 1, "disjunct": 1, "OR": 1, "typea": 1, "req": 1, "typeb": 1, "typec": 1, "addition": [1, 6], "g": [1, 2, 6, 10], "arrai": 1, "item": [1, 13], "anyof": 1, "empti": [1, 6, 7, 9, 13], "runtimeparamet": [1, 3, 11], "depend": [1, 3, 6, 9, 10, 13], "complet": [1, 6], "most": [1, 6, 9, 10, 13], "separ": [1, 6, 13], "codebas": 1, "txt": [1, 6, 13], "pom": 1, "xml": 1, "maven": 1, "java": 1, "kind": 1, "structur": [1, 9, 10], "thu": [1, 13], "packag": [1, 6, 8, 10, 13], "its": [1, 2, 13], "minimum": [1, 6], "3": [1, 6, 9, 10, 13], "additionalproperti": 1, "dilig": [1, 3], "purpos": [1, 2], "particular": 1, "consum": [1, 2], "expans": 1, "beyond": [1, 13], "mandatori": [1, 3], "match": [1, 3, 5, 6, 13], "usual": [1, 3, 6, 9, 13], "keep": [1, 3, 6, 13], "want": [1, 3, 5, 6, 10, 12, 13], "falsi": [1, 3], "counterpart": [1, 3], "instead": [1, 2, 3, 10, 13], "forc": [1, 6], "perspect": 1, "colon": 1, "rememb": 1, "impli": 1, "alwai": [1, 6, 10, 12, 13], "handl": [1, 8, 10], "up": [1, 6, 8, 10, 13], "precis": 1, "desir": [1, 5], "dictionari": [1, 2, 3], "key1": 1, "value1": 1, "key2": 1, "value2": 1, "enum": 1, "choic": [1, 2, 3], "make": [1, 3, 6, 10, 12, 13], "singleton": 1, "_annot": [1, 2, 10, 11], "via": [1, 10, 12, 13], "class": [2, 3, 4, 5, 8, 9, 10, 12], "clamsapp": [2, 4, 10, 11, 12, 13], "abc": 2, "abstract": 2, "defin": [2, 3, 4, 5, 10, 13], "api": [2, 4, 9, 11, 13], "inherit": [2, 10], "us": [2, 3, 4, 5, 8, 9, 10, 12], "restifi": [2, 8, 10, 11, 13], "_raw_params_kei": [2, 11], "raw": 2, "_abc_impl": [2, 11], "_abc_data": 2, "mmif": [2, 4, 5, 6, 7, 8, 10, 11, 13], "_raw_paramet": 2, "none": [2, 3, 4, 5], "refined_paramet": 2, "method": [2, 3, 4, 5, 10, 11, 12, 13], "load": 2, "elsewher": 2, "metadata": [2, 3, 4, 5, 8, 10, 12], "runtim": [2, 3, 8, 10, 13], "implement": [2, 8, 9, 10, 13], "bulk": [2, 13], "logic": [2, 13], "go": [2, 9, 13], "typic": [2, 13], "would": [2, 13], "creat": [2, 3, 6, 7, 10], "new": [2, 3, 5, 7, 8, 9, 10, 12], "new_view": [2, 13], "input": [2, 3, 8, 9, 10, 11, 12, 13], "sign_view": [2, 11, 13], "paramet": [2, 3, 4, 5, 6, 10, 12, 13], "record": [2, 10, 13], "new_contain": [2, 13], "annot": [2, 4, 6, 11, 12], "properti": [2, 3, 5, 6], "them": [2, 6, 13], "get": [2, 4, 11, 12, 13], "help": [2, 6, 7, 10, 13], "documenttyp": [2, 13], "annotationtyp": [2, 13], "type": [2, 3, 6, 10, 12, 13], "return": [2, 3, 4, 5, 6, 9, 10, 12, 13], "runtime_param": 2, "k": [2, 3], "v": [2, 3, 6, 13], "output": [2, 3, 4, 6, 8, 9, 10, 11, 12, 13], "readi": [2, 4, 6, 10], "_appmetadata": [2, 10, 11, 13], "appmetadata": [2, 4, 8, 11, 13], "serializ": 2, "static": [2, 4], "_check_mmif_compat": [2, 11], "target_specv": 2, "input_specv": 2, "_load_appmetadata": [2, 10, 11], "privat": 2, "__init__": [2, 12], "onc": [2, 5, 6, 10], "three": [2, 6, 10, 13], "order": 2, "prioriti": 2, "py": [2, 10, 13], "self": [2, 12, 13], "legaci": 2, "case": [2, 6, 9, 10, 13], "specif": [2, 3, 6, 8, 10, 13], "jsonschema": [2, 9], "_refine_param": [2, 11], "str": [2, 3, 4, 5, 10], "realli": 2, "copi": [2, 3, 11, 13], "param": [2, 3], "ad": [2, 3, 5, 6], "rais": [2, 13], "valueerror": 2, "found": [2, 6, 10], "invok": 2, "primari": 2, "It": [2, 6, 10], "around": [2, 10, 13], "oper": 2, "kwarg": [2, 10], "get_configur": [2, 11], "open_document_loc": [2, 11], "openerarg": 2, "own": [2, 10], "By": [2, 6, 10, 13], "locat": [2, 6], "pil": 2, "record_error": [2, 11], "runtime_conf": 2, "error": [2, 6, 13], "log": 2, "occur": 2, "encount": 2, "set_error_view": [2, 11], "begin": [2, 5], "popul": [2, 5], "universal_paramet": [2, 10, 11], "pretti": [2, 6, 10, 13], "format": [2, 6, 8, 9, 10], "space": [2, 13], "indent": [2, 6], "runningtim": 2, "hwfetch": 2, "hardwar": [2, 6], "architectur": 2, "gpu": 2, "vram": 2, "validate_document_loc": [2, 11], "zero": 2, "filenotfounderror": 2, "anyhttpurl": 3, "app": [3, 4, 7, 8, 11, 12], "add_input": [3, 11, 13], "at_typ": 3, "typesbas": 3, "bool": [3, 4], "helper": [3, 4], "newli": [3, 10], "add_mor": [3, 11], "add_output": [3, 11, 13], "add_paramet": [3, 11, 13], "liter": 3, "int": [3, 4], "float": 3, "arg": [3, 13], "add_descript": [3, 11], "classmethod": 3, "construct": [3, 11], "_fields_set": 3, "setstr": 3, "__dict__": 3, "__fields_set__": 3, "trust": 3, "respect": [3, 6, 10, 13], "behav": 3, "config": 3, "wa": [3, 6], "sinc": [3, 13], "abstractsetintstr": 3, "mappingintstrani": 3, "exclud": 3, "updat": [3, 9], "dictstrani": 3, "deep": 3, "duplic": 3, "choos": [3, 10], "preced": 3, "over": [3, 10, 13], "befor": [3, 13], "by_alia": 3, "skip_default": 3, "exclude_unset": 3, "exclude_default": 3, "exclude_non": 3, "represent": 3, "callabl": 3, "models_as_dict": 3, "dumps_kwarg": 3, "unicod": 3, "per": 3, "suppli": 3, "dump": 3, "update_forward_ref": [3, 11], "localn": 3, "try": [3, 6, 9, 10], "forwardref": 3, "globaln": 3, "clamshttpapi": [4, 11], "cla_inst": 4, "resourc": 4, "verb": 4, "constructor": 4, "json_to_respons": [4, 11], "json_str": 4, "statu": 4, "200": 4, "convert": [4, 10], "numer": 4, "respond": 4, "send": [4, 6, 12], "classvar": 4, "collect": [4, 12], "post": [4, 6, 10, 11, 12, 13], "put": [4, 11, 13], "regist": 4, "rout": [4, 10], "add_url_rul": 4, "now": [4, 10, 13], "app_inst": 4, "loopback": 4, "port": [4, 6, 10, 13], "5000": [4, 6, 10, 12, 13], "debug": [4, 6, 10], "simpl": [4, 10, 13], "turn": [4, 6], "flak": 4, "reli": [4, 9], "flask": [4, 8, 10, 13], "wrap": [4, 8, 10], "listen": [4, 6, 10], "localhost": [4, 6, 10, 13], "mode": [4, 6, 10], "start": [4, 13], "serve_develop": [4, 11], "webapp": 4, "werkzeug": [4, 10], "palletsproject": 4, "com": [4, 6, 10, 13], "en": 4, "x": [4, 6, 10, 13], "serve_product": [4, 10, 11], "product": [4, 6, 10, 13], "gunicorn": [4, 10, 13], "doc": [4, 6, 10, 13], "stabl": 4, "test_client": [4, 11], "test": [4, 6, 10, 13], "client": [4, 6, 12], "workflowsourc": [5, 11], "common_documents_json": 5, "common_metadata_json": 5, "workflow": [5, 6, 8, 10], "media": 5, "repeatedli": 5, "doc_list": 5, "add_docu": [5, 11], "done": [5, 13], "fetch": 5, "medium": 5, "change_metadata": [5, 11], "entri": 5, "from_data": [5, 11], "metadata_obj": 5, "mmifmetadata": 5, "pairwis": 5, "zip": [5, 6], "togeth": [5, 8, 9], "prime": [5, 11], "fresh": 5, "reset": 5, "without": [5, 6, 10, 13], "been": 5, "prepar": [5, 12, 13], "instruct": [6, 10, 13], "mai": [6, 13], "advis": 6, "manag": 6, "docker": [6, 8, 10], "podman": 6, "command": [6, 8, 10, 13], "python3": [6, 13], "modul": [6, 8, 11, 13], "8": [6, 9, 10], "higher": 6, "execut": 6, "analysi": [6, 8, 10], "util": 6, "curl": [6, 10, 13], "come": [6, 7, 9, 10], "librari": [6, 8, 9, 10], "could": [6, 13], "non": [6, 13], "project": [6, 10], "distribut": [6, 9, 10], "directli": 6, "quick": [6, 8], "easi": [6, 13], "flexibl": 6, "modifi": 6, "hw": 6, "quickest": 6, "pull": 6, "prebulit_image_nam": 6, "altern": 6, "adjust": [6, 10], "environ": 6, "engin": [6, 8, 10], "plugin": 6, "clone": 6, "address": 6, "termin": [6, 10, 13], "assum": 6, "f": [6, 13], "containerfil": [6, 10, 13], "image_name_you_pick": 6, "equival": 6, "session": [6, 10], "first": [6, 10, 12, 13], "cover": 6, "path": [6, 13], "p": [6, 13], "image_nam": 6, "host": [6, 10, 13], "insid": [6, 13], "second": [6, 10, 13], "1024": 6, "fine": 6, "mount": [6, 13], "just": [6, 13], "veri": 6, "mac": 6, "recent": [6, 13], "maco": 6, "airplai": 6, "receiv": 6, "off": 6, "system": [6, 10, 13], "releas": [6, 9], "safe": 6, "iana": 6, "wikipedia": 6, "appl": 6, "silicon": 6, "m1": [6, 13], "m2": [6, 13], "cpu": 6, "might": [6, 10], "messag": 6, "platform": [6, 8, 10], "linux": 6, "amd64": 6, "detect": 6, "arm64": 6, "v8": 6, "intel": 6, "amd": 6, "x64": 6, "emul": 6, "layer": 6, "cach": [6, 13], "persist": 6, "particularli": [6, 13], "handi": 6, "fairli": 6, "larg": [6, 13], "pretrain": 6, "next": 6, "unlik": 6, "fix": 6, "tempt": 6, "bind": 6, "entir": 6, "across": 6, "sensit": 6, "browser": 6, "authent": 6, "pose": 6, "great": 6, "secur": 6, "risk": 6, "remot": 6, "through": [6, 13], "obtain": 6, "sure": [6, 10, 13], "pypi": [6, 9, 10], "_": 6, "pip": [6, 10], "mp3": 6, "y": [6, 13], "z": [6, 13], "vocabulari": [6, 13], "mime": [6, 13], "id": [6, 13], "d1": [6, 13], "suffic": 6, "absolut": [6, 8], "ensur": 6, "especi": [6, 10], "why": 6, "side": 6, "access": [6, 13], "alreadi": [6, 13], "sequenc": 6, "todo": 6, "link": 6, "h": [6, 10], "d": [6, 10, 13], "bash": 6, "pipelin": 6, "better": 6, "shell": [6, 8, 10, 13], "escap": 6, "prevent": 6, "special": 6, "foremost": 6, "support": [6, 8, 10], "line": [6, 7, 13], "interfac": [6, 7, 10, 12], "previou": [6, 10], "like": [6, 10, 13], "main": [6, 10], "container": [6, 8], "Be": 6, "larger": 6, "traffic": 6, "volum": 6, "cmd": [6, 13], "print": [6, 10, 13], "two": [6, 10, 13], "guarante": 6, "mimic": 6, "behavior": [6, 10], "posit": 6, "input_mmif": [6, 12], "output_mmif": 6, "write": [6, 10, 13], "unix": 6, "stdin": 6, "stdout": 6, "cat": [6, 13], "prefix": [6, 13], "overrid": 6, "correctli": 6, "interact": 6, "cli": 7, "templat": [7, 8, 13], "select": 7, "instal": [7, 8, 9, 13], "aim": 8, "multimedia": 8, "materi": 8, "believ": 8, "bring": 8, "mani": [8, 10, 13], "benefit": 8, "technic": 8, "advanc": 8, "archiv": 8, "museum": 8, "achiev": 8, "interoper": 8, "vendor": 8, "necessari": [8, 12, 13], "friendli": 8, "interchang": 8, "assist": 8, "cooki": [8, 13], "cutter": [8, 13], "everyth": 8, "histori": 8, "patch": 8, "overview": [8, 13], "prerequisit": 8, "o": [8, 10, 13], "tutori": [8, 10], "nlp": [8, 10], "tool": [8, 10], "index": 8, "search": 8, "ld": 9, "compon": [9, 10], "issu": 9, "tracker": 9, "new_mmif": 9, "fail": 9, "under": 9, "schema": 9, "won": 9, "possibl": [9, 13], "incompat": 9, "saw": 9, "ship": 9, "don": [9, 10, 13], "worri": 9, "compat": [9, 10], "__specver__": 9, "exactli": 9, "consider": 9, "share": 9, "syntact": 9, "big": 9, "avoid": 9, "much": 9, "unavoid": 9, "major": [9, 10], "increment": 9, "relat": [9, 10, 13], "our": [9, 13], "decis": 9, "subject": 9, "tabl": 9, "mention": 9, "18": 9, "5": [9, 13], "6": 9, "17": 9, "4": [9, 13], "16": 9, "15": 9, "14": 9, "13": 9, "11": 9, "10": [9, 13], "9": 9, "7": [9, 10], "move": [10, 13], "custom": 10, "high": 10, "easili": 10, "deploi": 10, "site": 10, "applianc": 10, "autom": 10, "content": [10, 11], "stream": 10, "explain": [10, 13], "latest": 10, "newer": 10, "plan": 10, "mind": 10, "companion": 10, "regard": [10, 13], "cookiecutt": 10, "readm": 10, "md": 10, "four": 10, "underli": 10, "speak": 10, "dockerfil": [10, 13], "core": 10, "essenc": [10, 13], "further": 10, "good": [10, 13], "along": 10, "docstr": 10, "mostli": [10, 13], "concern": [10, 13], "relev": [10, 13], "insert": [10, 13], "sampl": 10, "rate": 10, "resample_r": 10, "reproduc": [10, 13], "univers": 10, "commonli": 10, "announc": 10, "step": 10, "fact": [10, 13], "shouldn": 10, "futur": 10, "integr": 10, "serv": 10, "anapp": 10, "__name__": 10, "__main__": [10, 13], "hostnam": 10, "root": 10, "parametercast": 10, "suitabl": 10, "robust": 10, "asynchron": 10, "spin": 10, "multi": 10, "worker": 10, "window": 10, "end": [10, 13], "dai": 10, "poke": 10, "servic": 10, "seamless": 10, "deploy": 10, "independ": 10, "being": [10, 13], "complic": 10, "opencv": 10, "ffmpeg": 10, "inlin": 10, "comment": 10, "scratch": 10, "github": [10, 13], "clamsproject": [10, 13], "organ": [10, 13], "build": [10, 13], "push": 10, "familiar": 10, "offici": [10, 13], "instanti": 10, "debian": [10, 13], "moment": 10, "finish": 10, "local": [10, 13], "commandlin": 10, "combin": 12, "namedentityrecognizerapp": 12, "def": [12, 13], "super": 12, "ner_model": 12, "_load_model": 12, "preambl": [12, 13], "labels_to_us": 12, "person": [12, 13], "gpe": 12, "get_text": 12, "ne": [12, 13], "ent": 12, "label_": 12, "add_annot": 12, "start_char": 12, "end_char": 12, "clam": [12, 13], "state": 12, "enter": 12, "articl": 13, "focus": 13, "lot": 13, "sens": 13, "glanc": 13, "ultra": 13, "regular": 13, "express": 13, "offset": 13, "__version__": 13, "tok": 13, "span": 13, "findit": 13, "w": 13, "fido": 13, "bark": 13, "skeleton": 13, "rest": 13, "tokenizerwrapp": 13, "starter": 13, "n": 13, "flag": 13, "convent": 13, "script": 13, "strict": 13, "sever": 13, "thing": 13, "subclass": 13, "block": 13, "third": 13, "asid": 13, "few": 13, "standard": 13, "discrimin": 13, "came": 13, "linguist": 13, "conveni": 13, "u": 13, "attribut": 13, "variabl": 13, "point": 13, "attr": 13, "dir": 13, "startswith": 13, "__": 13, "getattr": 13, "join": 13, "chunk": 13, "constitu": 13, "coref": 13, "date": 13, "dependency_structur": 13, "generic_rel": 13, "lemma": 13, "lookup": 13, "markabl": 13, "nchunk": 13, "paragraph": 13, "phrase_structur": 13, "semantic_rol": 13, "sentenc": 13, "vchunk": 13, "With": 13, "introduc": 13, "background": 13, "connect": 13, "appmetdata": 13, "apach": 13, "tokenizer_licens": 13, "tokenizer_vers": 13, "appli": 13, "textdocu": 13, "throw": 13, "eol": 13, "boundari": 13, "warn": 13, "left": 13, "statement": 13, "shown": 13, "noth": 13, "ll": 13, "interest": 13, "long": 13, "somewher": 13, "descipt": 13, "explanatori": 13, "think": 13, "snippet": 13, "caller": 13, "refin": 13, "correct": 13, "willi": 13, "nilli": 13, "val": 13, "except": 13, "isinst": 13, "els": 13, "get_documents_by_typ": 13, "_view_": 13, "_new_view": 13, "long_id": 13, "continu": 13, "_run_nlp_tool": 13, "task": 13, "retriev": 13, "anchor": 13, "invoc": 13, "hand": 13, "possibli": 13, "live": 13, "docid": 13, "runtime_config": 13, "after": 13, "timestamp": 13, "repeat": 13, "text_valu": 13, "p1": 13, "p2": 13, "new_annot": 13, "parent": 13, "target": 13, "back": 13, "add_properti": 13, "loop": 13, "bother": 13, "straight": 13, "dockerignor": 13, "ghcr": 13, "io": 13, "workdir": 13, "edit": 13, "apt": 13, "pip3": 13, "r": 13, "reduc": 13, "size": 13, "small": 13, "pick": 13, "idea": 13, "rm": 13, "4000": 13, "break": 13, "down": 13, "stop": 13, "later": 13, "tell": 13, "remov": 13, "hello": 13, "jim": 13, "lehrer": 13, "newshour": 13, "pb": 13, "nineteen": 13, "eighti": 13, "dog": 13, "increasingli": 13, "becom": 13, "problem": 13, "urban": 13, "area": 13, "setup": 13, "laid": 13, "pwd": 13, "given": 13, "plain": 13, "again": 13}, "objects": {"clams": [[2, 0, 0, "-", "app"], [4, 0, 0, "-", "restify"], [5, 0, 0, "-", "source"]], "clams.app": [[2, 1, 1, "", "ClamsApp"]], "clams.app.ClamsApp": [[2, 2, 1, "", "_RAW_PARAMS_KEY"], [2, 2, 1, "", "_abc_impl"], [2, 3, 1, "", "_annotate"], [2, 3, 1, "", "_appmetadata"], [2, 3, 1, "", "_check_mmif_compatibility"], [2, 3, 1, "", "_load_appmetadata"], [2, 3, 1, "", "_refine_params"], [2, 3, 1, "", "annotate"], [2, 3, 1, "", "appmetadata"], [2, 3, 1, "", "get_configuration"], [2, 3, 1, "", "open_document_location"], [2, 3, 1, "", "record_error"], [2, 3, 1, "", "set_error_view"], [2, 3, 1, "", "sign_view"], [2, 2, 1, "", "universal_parameters"], [2, 3, 1, "", "validate_document_locations"]], "clams.appmetadata": [[3, 1, 1, "", "AppMetadata"], [3, 1, 1, "", "Input"], [3, 1, 1, "", "Output"], [3, 1, 1, "", "RuntimeParameter"]], "clams.appmetadata.AppMetadata": [[3, 3, 1, "", "add_input"], [3, 3, 1, "", "add_more"], [3, 3, 1, "", "add_output"], [3, 3, 1, "", "add_parameter"]], "clams.appmetadata.Input": [[3, 3, 1, "", "add_description"], [3, 3, 1, "", "construct"], [3, 3, 1, "", "copy"], [3, 3, 1, "", "dict"], [3, 3, 1, "", "json"], [3, 3, 1, "", "update_forward_refs"]], "clams.appmetadata.Output": [[3, 3, 1, "", "add_description"], [3, 3, 1, "", "construct"], [3, 3, 1, "", "copy"], [3, 3, 1, "", "dict"], [3, 3, 1, "", "json"], [3, 3, 1, "", "update_forward_refs"]], "clams.appmetadata.RuntimeParameter": [[3, 3, 1, "", "construct"], [3, 3, 1, "", "copy"], [3, 3, 1, "", "dict"], [3, 3, 1, "", "json"], [3, 3, 1, "", "update_forward_refs"]], "clams.restify": [[4, 1, 1, "", "ClamsHTTPApi"], [4, 1, 1, "", "Restifier"]], "clams.restify.ClamsHTTPApi": [[4, 3, 1, "", "get"], [4, 3, 1, "", "json_to_response"], [4, 2, 1, "", "methods"], [4, 3, 1, "", "post"], [4, 3, 1, "", "put"]], "clams.restify.Restifier": [[4, 3, 1, "", "run"], [4, 3, 1, "", "serve_development"], [4, 3, 1, "", "serve_production"], [4, 3, 1, "", "test_client"]], "clams.source": [[5, 1, 1, "", "WorkflowSource"]], "clams.source.WorkflowSource": [[5, 3, 1, "", "add_document"], [5, 3, 1, "", "change_metadata"], [5, 3, 1, "", "from_data"], [5, 2, 1, "", "mmif"], [5, 3, 1, "", "prime"], [5, 3, 1, "", "produce"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"]}, "titleterms": {"clam": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "app": [0, 1, 2, 6, 9, 10, 13], "directori": 0, "metadata": [1, 6, 13], "overview": [1, 10], "format": 1, "input": [1, 6], "output": 1, "type": 1, "specif": [1, 9], "annot": [1, 10, 13], "mmif": [1, 9], "syntax": 1, "i": [1, 9], "o": [1, 9], "simpl": 1, "case": 1, "us": [1, 6, 13], "defin": 1, "vocabulari": 1, "extend": 1, "ad": [1, 13], "custom": 1, "properti": [1, 13], "definit": 1, "runtim": [1, 12], "paramet": 1, "schema": 1, "appmetadata": [1, 3, 10], "packag": [2, 3, 4, 5, 9, 11], "modul": [2, 3, 4, 5], "content": [2, 3, 4, 5, 8], "restifi": 4, "sourc": [5, 6], "requir": 6, "instal": [6, 10], "download": 6, "prebuilt": 6, "imag": 6, "build": 6, "an": [6, 13], "from": [6, 8], "code": 6, "run": 6, "start": [6, 8, 10], "http": [6, 10, 12], "server": [6, 12], "contain": 6, "invok": 6, "To": 6, "get": [6, 8, 10], "process": 6, "media": 6, "configur": [6, 12], "cli": 6, "program": 6, "python": [6, 8, 12], "entri": 6, "point": 6, "py": 6, "local": 6, "shell": 7, "command": 7, "welcom": 8, "sdk": 8, "document": [8, 13], "project": 8, "now": 8, "For": 8, "more": 8, "api": [8, 10, 12], "indic": 8, "tabl": 8, "version": 9, "target": 9, "prerequisit": 10, "quick": 10, "templat": 10, "webapp": 10, "container": [10, 13], "As": 12, "tutori": 13, "wrap": 13, "nlp": 13, "applic": 13, "The": 13, "tool": 13, "token": 13, "import": 13, "class": 13, "_annot": 13, "creat": 13, "new": 13, "view": 13, "docker": 13, "locat": 13}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 58}, "alltitles": {"CLAMS App Directory": [[0, "clams-app-directory"]], "CLAMS App Metadata": [[1, "clams-app-metadata"]], "Overview": [[1, "overview"], [10, "overview"]], "Format": [[1, "format"]], "Input/Output type specification": [[1, "input-output-type-specification"]], "Annotation types in MMIF": [[1, "annotation-types-in-mmif"]], "Syntax for I/O specification in App Metadata": [[1, "syntax-for-i-o-specification-in-app-metadata"]], "Simple case - using types as defined in the vocabularies": [[1, "simple-case-using-types-as-defined-in-the-vocabularies"]], "Extended case - adding custom properties to the type definition": [[1, "extended-case-adding-custom-properties-to-the-type-definition"]], "Runtime parameter specification": [[1, "runtime-parameter-specification"]], "Syntax for parameter specification in App Metadata": [[1, "syntax-for-parameter-specification-in-app-metadata"]], "Metadata Schema": [[1, "metadata-schema"]], "CLAMS AppMetadata": [[1, "clams-appmetadata"]], "CLAMS Input Specification": [[1, "clams-input-specification"]], "CLAMS Output Specification": [[1, "clams-output-specification"]], "CLAMS App Runtime Parameter": [[1, "clams-app-runtime-parameter"]], "clams.app package": [[2, "clams-app-package"]], "Module contents": [[2, "module-clams.app"], [3, "module-contents"], [4, "module-clams.restify"], [5, "module-clams.source"]], "clams.appmetadata package": [[3, "clams-appmetadata-package"]], "clams.restify package": [[4, "clams-restify-package"]], "clams.source package": [[5, "clams-source-package"]], "Using CLAMS App": [[6, "using-clams-app"]], "Requirements": [[6, "requirements"]], "Installation": [[6, "installation"], [10, "installation"]], "Download prebuilt image": [[6, "download-prebuilt-image"]], "Build an image from source code": [[6, "build-an-image-from-source-code"]], "Running CLAMS App": [[6, "running-clams-app"]], "Starting the HTTP server as a container": [[6, "starting-the-http-server-as-a-container"]], "Invoking the app server": [[6, "invoking-the-app-server"]], "To get app metadata": [[6, "to-get-app-metadata"]], "To process input media": [[6, "to-process-input-media"]], "Configuring the app": [[6, "configuring-the-app"]], "Using CLAMS App as a CLI program": [[6, "using-clams-app-as-a-cli-program"]], "Python entry points": [[6, "python-entry-points"]], "app.py: Running app as a local HTTP server": [[6, "app-py-running-app-as-a-local-http-server"]], "metadata.py: Getting app metadata": [[6, "metadata-py-getting-app-metadata"]], "cli.py: Running as a CLI program": [[6, "cli-py-running-as-a-cli-program"]], "clams shell command": [[7, "clams-shell-command"]], "Welcome to CLAMS Python SDK documentation!": [[8, "welcome-to-clams-python-sdk-documentation"]], "CLAMS project": [[8, "clams-project"]], "clams-python": [[8, "clams-python"]], "Start now from Getting Started!": [[8, "start-now-from-getting-started"]], "For more \u2026": [[8, "for-more"]], "Contents": [[8, null]], "API documentation:": [[8, null]], "Indices and tables": [[8, "indices-and-tables"]], "I/O Specification": [[9, "i-o-specification"]], "mmif package": [[9, "mmif-package"]], "MMIF version and CLAMS apps": [[9, "mmif-version-and-clams-apps"]], "Target Specification Versions": [[9, "id1"]], "Getting started": [[10, "getting-started"]], "Prerequisites": [[10, "prerequisites"]], "Quick Start with the App Template": [[10, "quick-start-with-the-app-template"]], "CLAMS App API": [[10, "clams-app-api"]], "annotate()": [[10, "annotate"]], "appmetadata()": [[10, "appmetadata"]], "HTTP webapp": [[10, "http-webapp"]], "Containerization": [[10, "containerization"]], "clams package": [[11, "clams-package"]], "Runtime Configuration": [[12, "runtime-configuration"]], "As Python API": [[12, "as-python-api"]], "As HTTP Server": [[12, "as-http-server"]], "Tutorial: Wrapping an NLP Application": [[13, "tutorial-wrapping-an-nlp-application"]], "The NLP tool": [[13, "the-nlp-tool"]], "Wrapping the tokenizer": [[13, "wrapping-the-tokenizer"]], "Imports": [[13, "imports"]], "The application class": [[13, "the-application-class"]], "App Metadata": [[13, "app-metadata"]], "_annotate()": [[13, "annotate"]], "Creating a new view:": [[13, "creating-a-new-view"]], "Adding annotations:": [[13, "adding-annotations"]], "Containerization with Docker": [[13, "containerization-with-docker"]], "Using the document.location property": [[13, "using-the-document-location-property"]]}, "indexentries": {"clamsapp (class in clams.app)": [[2, "clams.app.ClamsApp"]], "_raw_params_key (clams.app.clamsapp attribute)": [[2, "clams.app.ClamsApp._RAW_PARAMS_KEY"]], "_abc_impl (clams.app.clamsapp attribute)": [[2, "clams.app.ClamsApp._abc_impl"]], "_annotate() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._annotate"]], "_appmetadata() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._appmetadata"]], "_check_mmif_compatibility() (clams.app.clamsapp static method)": [[2, "clams.app.ClamsApp._check_mmif_compatibility"]], "_load_appmetadata() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._load_appmetadata"]], "_refine_params() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp._refine_params"]], "annotate() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.annotate"]], "appmetadata() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.appmetadata"]], "clams.app": [[2, "module-clams.app"]], "get_configuration() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.get_configuration"]], "module": [[2, "module-clams.app"], [4, "module-clams.restify"], [5, "module-clams.source"]], "open_document_location() (clams.app.clamsapp static method)": [[2, "clams.app.ClamsApp.open_document_location"]], "record_error() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.record_error"]], "set_error_view() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.set_error_view"]], "sign_view() (clams.app.clamsapp method)": [[2, "clams.app.ClamsApp.sign_view"]], "universal_parameters (clams.app.clamsapp attribute)": [[2, "clams.app.ClamsApp.universal_parameters"]], "validate_document_locations() (clams.app.clamsapp static method)": [[2, "clams.app.ClamsApp.validate_document_locations"]], "appmetadata (class in clams.appmetadata)": [[3, "clams.appmetadata.AppMetadata"]], "input (class in clams.appmetadata)": [[3, "clams.appmetadata.Input"]], "output (class in clams.appmetadata)": [[3, "clams.appmetadata.Output"]], "runtimeparameter (class in clams.appmetadata)": [[3, "clams.appmetadata.RuntimeParameter"]], "add_description() (clams.appmetadata.input method)": [[3, "clams.appmetadata.Input.add_description"]], "add_description() (clams.appmetadata.output method)": [[3, "clams.appmetadata.Output.add_description"]], "add_input() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_input"]], "add_more() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_more"]], "add_output() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_output"]], "add_parameter() (clams.appmetadata.appmetadata method)": [[3, "clams.appmetadata.AppMetadata.add_parameter"]], "construct() (clams.appmetadata.input class method)": [[3, "clams.appmetadata.Input.construct"]], "construct() (clams.appmetadata.output class method)": [[3, "clams.appmetadata.Output.construct"]], "construct() (clams.appmetadata.runtimeparameter class method)": [[3, "clams.appmetadata.RuntimeParameter.construct"]], "copy() (clams.appmetadata.input method)": [[3, "clams.appmetadata.Input.copy"]], "copy() (clams.appmetadata.output method)": [[3, "clams.appmetadata.Output.copy"]], "copy() (clams.appmetadata.runtimeparameter method)": [[3, "clams.appmetadata.RuntimeParameter.copy"]], "dict() (clams.appmetadata.input method)": [[3, "clams.appmetadata.Input.dict"]], "dict() (clams.appmetadata.output method)": [[3, "clams.appmetadata.Output.dict"]], "dict() (clams.appmetadata.runtimeparameter method)": [[3, "clams.appmetadata.RuntimeParameter.dict"]], "json() (clams.appmetadata.input method)": [[3, "clams.appmetadata.Input.json"]], "json() (clams.appmetadata.output method)": [[3, "clams.appmetadata.Output.json"]], "json() (clams.appmetadata.runtimeparameter method)": [[3, "clams.appmetadata.RuntimeParameter.json"]], "update_forward_refs() (clams.appmetadata.input class method)": [[3, "clams.appmetadata.Input.update_forward_refs"]], "update_forward_refs() (clams.appmetadata.output class method)": [[3, "clams.appmetadata.Output.update_forward_refs"]], "update_forward_refs() (clams.appmetadata.runtimeparameter class method)": [[3, "clams.appmetadata.RuntimeParameter.update_forward_refs"]], "clamshttpapi (class in clams.restify)": [[4, "clams.restify.ClamsHTTPApi"]], "restifier (class in clams.restify)": [[4, "clams.restify.Restifier"]], "clams.restify": [[4, "module-clams.restify"]], "get() (clams.restify.clamshttpapi method)": [[4, "clams.restify.ClamsHTTPApi.get"]], "json_to_response() (clams.restify.clamshttpapi static method)": [[4, "clams.restify.ClamsHTTPApi.json_to_response"]], "methods (clams.restify.clamshttpapi attribute)": [[4, "clams.restify.ClamsHTTPApi.methods"]], "post() (clams.restify.clamshttpapi method)": [[4, "clams.restify.ClamsHTTPApi.post"]], "put() (clams.restify.clamshttpapi method)": [[4, "clams.restify.ClamsHTTPApi.put"]], "run() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.run"]], "serve_development() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.serve_development"]], "serve_production() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.serve_production"]], "test_client() (clams.restify.restifier method)": [[4, "clams.restify.Restifier.test_client"]], "workflowsource (class in clams.source)": [[5, "clams.source.WorkflowSource"]], "add_document() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.add_document"]], "change_metadata() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.change_metadata"]], "clams.source": [[5, "module-clams.source"]], "from_data() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.from_data"]], "mmif (clams.source.workflowsource attribute)": [[5, "clams.source.WorkflowSource.mmif"]], "prime() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.prime"]], "produce() (clams.source.workflowsource method)": [[5, "clams.source.WorkflowSource.produce"]]}}) \ No newline at end of file diff --git a/docs/tutorial.html b/docs/tutorial.html index 6b9db96..136afaf 100644 --- a/docs/tutorial.html +++ b/docs/tutorial.html @@ -37,7 +37,7 @@ clams-python
    - 1.2.6 + 1.3.0
    diff --git a/documentation/target-versions.csv b/documentation/target-versions.csv index 6cff125..f77c32e 100644 --- a/documentation/target-versions.csv +++ b/documentation/target-versions.csv @@ -1,4 +1,5 @@ "``clams-python`` version","``mmif-python`` version","Target MMIF Specification" +`1.3.0 `__,`1.0.18 `__,`1.0.5 `__ `1.2.6 `__,`1.0.18 `__,`1.0.5 `__ `1.2.5 `__,`1.0.17 `__,`1.0.5 `__ `1.2.4 `__,`1.0.16 `__,`1.0.4 `__