# IMSC Hypothetical Render Model (HRM) Validator
__ _ _ ____ ___ _ _ ____ _ _
( )( \/ )/ ___) / __)/ )( \( _ \( \/ )
)( / \/ \\___ \( (__ ) __ ( ) // \/ \
(__)\_)(_/(____/ \___)\_)(_/(__\_)\_)(_/
## Introduction
_imschrm_ validates [IMSC](https://www.w3.org/TR/ttml-imsc/) documents against the [IMSC Hypothetical Render Model
(HRM)](https://www.w3.org/TR/2023/CR-imsc-hrm-20230622/), which constrains document complexity.
_imschrm_ consists of a library and command line application written in pure Python, and uses
[ttconv](https://github.com/sandflow/ttconv).
## Demo web app
A demo web app based on _imschrm_ is available at https://hrm.sandflow.com/.
## Quick start
Install the most recent development release:
```sh
pip install imschrm --pre
imschrm <input IMSC document>
```
## Known issues
Issues are tracked at https://github.com/sandflow/imscHRM/issues.
## Command line
```sh
cli.py [-h] [--itype {ttml,manifest}] input
```
* `input`: input file
* `--itype`: specifies whether the input file is a single IMSC document (`ttml`) (default) or a manifest (`manifest`) containing a
list of IMSC documents.
The manifest is a JSON file that conforms to the schema at `src/main/resources/json/manifest.json.schema`.
_EXAMPLE_:
```json
[
{
"begin": "12/24",
"end": 1,
"path": "doc001.ttml"
},
{
"begin": 1,
"end": null,
"path": "doc002.ttml"
}
]
```
## Dependencies
### General
The project uses [pipenv](https://pypi.org/project/pipenv/) to manage dependencies.
### Runtime
* [python >= 3.7](https://python.org)
* [ttconv == 1.0.1](https://github.com/sandflow/ttconv)
### Development
* [pylint](https://pypi.org/project/pylint/)
## Development environment
* run `pipenv install --dev`
* set the `PYTHONPATH` environment variable to `src/main/python`, e.g. `export PYTHONPATH=src/main/python`
* `pipenv run` can then be used
From the root directory of the project:
```sh
pipenv install --dev
mkdir build
export PYTHONPATH=src/main/python
pipenv run python src/main/python/imschrm/cli.py src/test/resources/ttml/fail001.ttml
```
Raw data
{
"_id": null,
"home_page": "https://www.sandflow.com",
"name": "imschrm",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.8",
"maintainer_email": null,
"keywords": "ttml, imsc, smpte-tt, hrm, complexity",
"author": "Sandflow Consulting LLC",
"author_email": "info@sandflow.com",
"download_url": "https://files.pythonhosted.org/packages/84/85/ae8298a56c7d62d21922d2e27e8eb1d02cf143c8e39593da15903ddf8709/imschrm-1.1.0.tar.gz",
"platform": null,
"description": "# IMSC Hypothetical Render Model (HRM) Validator\r\n\r\n __ _ _ ____ ___ _ _ ____ _ _ \r\n ( )( \\/ )/ ___) / __)/ )( \\( _ \\( \\/ )\r\n )( / \\/ \\\\___ \\( (__ ) __ ( ) // \\/ \\\r\n (__)\\_)(_/(____/ \\___)\\_)(_/(__\\_)\\_)(_/\r\n\r\n## Introduction\r\n\r\n_imschrm_ validates [IMSC](https://www.w3.org/TR/ttml-imsc/) documents against the [IMSC Hypothetical Render Model\r\n(HRM)](https://www.w3.org/TR/2023/CR-imsc-hrm-20230622/), which constrains document complexity.\r\n\r\n_imschrm_ consists of a library and command line application written in pure Python, and uses\r\n[ttconv](https://github.com/sandflow/ttconv).\r\n\r\n## Demo web app\r\n\r\nA demo web app based on _imschrm_ is available at https://hrm.sandflow.com/.\r\n\r\n## Quick start\r\n\r\nInstall the most recent development release:\r\n\r\n```sh\r\n pip install imschrm --pre\r\n imschrm <input IMSC document>\r\n```\r\n\r\n## Known issues\r\n\r\nIssues are tracked at https://github.com/sandflow/imscHRM/issues.\r\n\r\n## Command line\r\n\r\n```sh\r\ncli.py [-h] [--itype {ttml,manifest}] input\r\n```\r\n\r\n* `input`: input file\r\n* `--itype`: specifies whether the input file is a single IMSC document (`ttml`) (default) or a manifest (`manifest`) containing a\r\n list of IMSC documents.\r\n\r\nThe manifest is a JSON file that conforms to the schema at `src/main/resources/json/manifest.json.schema`.\r\n\r\n_EXAMPLE_:\r\n\r\n```json\r\n[\r\n {\r\n \"begin\": \"12/24\",\r\n \"end\": 1,\r\n \"path\": \"doc001.ttml\"\r\n },\r\n {\r\n \"begin\": 1,\r\n \"end\": null,\r\n \"path\": \"doc002.ttml\"\r\n }\r\n]\r\n```\r\n\r\n## Dependencies\r\n\r\n### General\r\n\r\nThe project uses [pipenv](https://pypi.org/project/pipenv/) to manage dependencies.\r\n\r\n### Runtime\r\n\r\n* [python >= 3.7](https://python.org)\r\n* [ttconv == 1.0.1](https://github.com/sandflow/ttconv)\r\n\r\n### Development\r\n\r\n* [pylint](https://pypi.org/project/pylint/)\r\n\r\n## Development environment\r\n\r\n* run `pipenv install --dev`\r\n* set the `PYTHONPATH` environment variable to `src/main/python`, e.g. `export PYTHONPATH=src/main/python`\r\n* `pipenv run` can then be used\r\n\r\nFrom the root directory of the project:\r\n\r\n```sh\r\npipenv install --dev\r\nmkdir build\r\nexport PYTHONPATH=src/main/python\r\npipenv run python src/main/python/imschrm/cli.py src/test/resources/ttml/fail001.ttml\r\n```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Validates IMSC documents against the IMSC HRM",
"version": "1.1.0",
"project_urls": {
"Bug Reports": "https://github.com/sandflow/imscHRM/issues",
"Homepage": "https://www.sandflow.com",
"Source": "https://github.com/sandflow/imscHRM"
},
"split_keywords": [
"ttml",
" imsc",
" smpte-tt",
" hrm",
" complexity"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "314874a2bbef43b07affa4db977f7887f7f2ec9c021d01d54ef4851a6fe6cd50",
"md5": "c760c54fea0e1465b7e6c2dea7578847",
"sha256": "5c9358c44edc602b163ec1068ac7e4c3d5b03395f8cea47acc7595502aa9c155"
},
"downloads": -1,
"filename": "imschrm-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c760c54fea0e1465b7e6c2dea7578847",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.8",
"size": 126490,
"upload_time": "2024-05-16T19:24:47",
"upload_time_iso_8601": "2024-05-16T19:24:47.587377Z",
"url": "https://files.pythonhosted.org/packages/31/48/74a2bbef43b07affa4db977f7887f7f2ec9c021d01d54ef4851a6fe6cd50/imschrm-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8485ae8298a56c7d62d21922d2e27e8eb1d02cf143c8e39593da15903ddf8709",
"md5": "ffbf50fd6f74ebe5676beb72168574ff",
"sha256": "7811f9bf45ae86982b85c52f9345188b33898cb99aea266bf55059c604a06e78"
},
"downloads": -1,
"filename": "imschrm-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "ffbf50fd6f74ebe5676beb72168574ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.8",
"size": 114523,
"upload_time": "2024-05-16T19:24:48",
"upload_time_iso_8601": "2024-05-16T19:24:48.867569Z",
"url": "https://files.pythonhosted.org/packages/84/85/ae8298a56c7d62d21922d2e27e8eb1d02cf143c8e39593da15903ddf8709/imschrm-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-16 19:24:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sandflow",
"github_project": "imscHRM",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "imschrm"
}