clams-python 1.7.0__tar.gz → 1.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. clams_python-1.7.1/.github/workflows/release-check.yml +11 -0
  2. {clams_python-1.7.0 → clams_python-1.7.1}/CHANGELOG.md +16 -0
  3. {clams_python-1.7.0 → clams_python-1.7.1}/CONTRIBUTING.md +7 -0
  4. {clams_python-1.7.0/clams_python.egg-info → clams_python-1.7.1}/PKG-INFO +2 -2
  5. clams_python-1.7.1/build-tools/prep_release.py +104 -0
  6. {clams_python-1.7.0 → clams_python-1.7.1/clams_python.egg-info}/PKG-INFO +2 -2
  7. {clams_python-1.7.0 → clams_python-1.7.1}/clams_python.egg-info/SOURCES.txt +2 -0
  8. {clams_python-1.7.0 → clams_python-1.7.1}/clams_python.egg-info/requires.txt +1 -1
  9. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/conf.py +0 -20
  10. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/target-versions.csv +6 -1
  11. {clams_python-1.7.0 → clams_python-1.7.1}/pyproject.toml +1 -1
  12. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/codecov.yml +0 -0
  13. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/container.yml +0 -0
  14. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/containers.yml +0 -0
  15. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/issue-assign.yml +0 -0
  16. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/issue-close.yml +0 -0
  17. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/issue-infra-project.yml +0 -0
  18. {clams_python-1.7.0 → clams_python-1.7.1}/.github/workflows/publish.yml +0 -0
  19. {clams_python-1.7.0 → clams_python-1.7.1}/.gitignore +0 -0
  20. {clams_python-1.7.0 → clams_python-1.7.1}/.pytype.cfg +0 -0
  21. {clams_python-1.7.0 → clams_python-1.7.1}/LICENSE +0 -0
  22. {clams_python-1.7.0 → clams_python-1.7.1}/README.md +0 -0
  23. {clams_python-1.7.0 → clams_python-1.7.1}/build-tools/build.py +0 -0
  24. {clams_python-1.7.0 → clams_python-1.7.1}/build-tools/clean.py +0 -0
  25. {clams_python-1.7.0 → clams_python-1.7.1}/build-tools/docs.py +0 -0
  26. {clams_python-1.7.0 → clams_python-1.7.1}/build-tools/publish.py +0 -0
  27. {clams_python-1.7.0 → clams_python-1.7.1}/build-tools/test.py +0 -0
  28. {clams_python-1.7.0 → clams_python-1.7.1}/clams/__init__.py +0 -0
  29. {clams_python-1.7.0 → clams_python-1.7.1}/clams/app/__init__.py +0 -0
  30. {clams_python-1.7.0 → clams_python-1.7.1}/clams/appmetadata/__init__.py +0 -0
  31. {clams_python-1.7.0 → clams_python-1.7.1}/clams/backends/__init__.py +0 -0
  32. {clams_python-1.7.0 → clams_python-1.7.1}/clams/backends/hf.py +0 -0
  33. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/__init__.py +0 -0
  34. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/.dockerignore.template +0 -0
  35. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/.gitignore.template +0 -0
  36. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/Containerfile.template +0 -0
  37. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/LICENSE.template +0 -0
  38. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/README.md.template +0 -0
  39. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/app.py.template +0 -0
  40. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/cli.py.template +0 -0
  41. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/metadata.py.template +0 -0
  42. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/app/requirements.txt.template +0 -0
  43. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/gha/for-clams-team.md.template +0 -0
  44. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/gha/workflows/issue-apps-project.yml.template +0 -0
  45. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/gha/workflows/issue-assign.yml.template +0 -0
  46. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/gha/workflows/issue-close.yml.template +0 -0
  47. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/gha/workflows/publish.yml.template +0 -0
  48. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/utl-tf/__init__.py.template +0 -0
  49. {clams_python-1.7.0 → clams_python-1.7.1}/clams/develop/templates/utl-tf/timeframe.py.template +0 -0
  50. {clams_python-1.7.0 → clams_python-1.7.1}/clams/envelop/__init__.py +0 -0
  51. {clams_python-1.7.0 → clams_python-1.7.1}/clams/restify/__init__.py +0 -0
  52. {clams_python-1.7.0 → clams_python-1.7.1}/clams/serve/__init__.py +0 -0
  53. {clams_python-1.7.0 → clams_python-1.7.1}/clams/ver/__init__.py +0 -0
  54. {clams_python-1.7.0 → clams_python-1.7.1}/clams_python.egg-info/dependency_links.txt +0 -0
  55. {clams_python-1.7.0 → clams_python-1.7.1}/clams_python.egg-info/entry_points.txt +0 -0
  56. {clams_python-1.7.0 → clams_python-1.7.1}/clams_python.egg-info/top_level.txt +0 -0
  57. {clams_python-1.7.0 → clams_python-1.7.1}/container/Containerfile +0 -0
  58. {clams_python-1.7.0 → clams_python-1.7.1}/container/ffmpeg-hf.containerfile +0 -0
  59. {clams_python-1.7.0 → clams_python-1.7.1}/container/ffmpeg-hf4.containerfile +0 -0
  60. {clams_python-1.7.0 → clams_python-1.7.1}/container/ffmpeg-hf5.containerfile +0 -0
  61. {clams_python-1.7.0 → clams_python-1.7.1}/container/ffmpeg-tf2.containerfile +0 -0
  62. {clams_python-1.7.0 → clams_python-1.7.1}/container/ffmpeg-torch2.containerfile +0 -0
  63. {clams_python-1.7.0 → clams_python-1.7.1}/container/ffmpeg.containerfile +0 -0
  64. {clams_python-1.7.0 → clams_python-1.7.1}/container/generate_containers_yml.py +0 -0
  65. {clams_python-1.7.0 → clams_python-1.7.1}/container/hf.containerfile +0 -0
  66. {clams_python-1.7.0 → clams_python-1.7.1}/container/hf4.containerfile +0 -0
  67. {clams_python-1.7.0 → clams_python-1.7.1}/container/hf5.containerfile +0 -0
  68. {clams_python-1.7.0 → clams_python-1.7.1}/container/jdk8.containerfile +0 -0
  69. {clams_python-1.7.0 → clams_python-1.7.1}/container/opencv4-hf.containerfile +0 -0
  70. {clams_python-1.7.0 → clams_python-1.7.1}/container/opencv4-hf4.containerfile +0 -0
  71. {clams_python-1.7.0 → clams_python-1.7.1}/container/opencv4-hf5.containerfile +0 -0
  72. {clams_python-1.7.0 → clams_python-1.7.1}/container/opencv4-tf2.containerfile +0 -0
  73. {clams_python-1.7.0 → clams_python-1.7.1}/container/opencv4-torch2.containerfile +0 -0
  74. {clams_python-1.7.0 → clams_python-1.7.1}/container/opencv4.containerfile +0 -0
  75. {clams_python-1.7.0 → clams_python-1.7.1}/container/tf2.containerfile +0 -0
  76. {clams_python-1.7.0 → clams_python-1.7.1}/container/torch2.containerfile +0 -0
  77. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/app-baseclasses.rst +0 -0
  78. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/appdirectory.rst +0 -0
  79. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/appmetadata.rst +0 -0
  80. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/autodoc/clams.app.rst +0 -0
  81. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/autodoc/clams.appmetadata.rst +0 -0
  82. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/autodoc/clams.mmif_utils.rst +0 -0
  83. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/autodoc/clams.restify.rst +0 -0
  84. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/clamsapp.rst +0 -0
  85. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/cli.rst +0 -0
  86. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/gpu-apps.rst +0 -0
  87. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/index.rst +0 -0
  88. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/input-output.rst +0 -0
  89. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/introduction.rst +0 -0
  90. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/modules.rst +0 -0
  91. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/runtime-params.rst +0 -0
  92. {clams_python-1.7.0 → clams_python-1.7.1}/documentation/tutorial.md +0 -0
  93. {clams_python-1.7.0 → clams_python-1.7.1}/setup.cfg +0 -0
  94. {clams_python-1.7.0 → clams_python-1.7.1}/tests/metadata.py +0 -0
  95. {clams_python-1.7.0 → clams_python-1.7.1}/tests/pillow-logo.png +0 -0
  96. {clams_python-1.7.0 → clams_python-1.7.1}/tests/test_backends_hf.py +0 -0
  97. {clams_python-1.7.0 → clams_python-1.7.1}/tests/test_clamsapp.py +0 -0
  98. {clams_python-1.7.0 → clams_python-1.7.1}/tests/test_envelope.py +0 -0
  99. {clams_python-1.7.0 → clams_python-1.7.1}/tests/test_promptable.py +0 -0
@@ -0,0 +1,11 @@
1
+ name: "🔖 Release PR check"
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [main]
6
+ types: [opened, synchronize, reopened, edited]
7
+
8
+ jobs:
9
+ release-check:
10
+ name: "🤙 Call SDK release-check workflow"
11
+ uses: clamsproject/.github/.github/workflows/sdk-release-check.yml@main
@@ -1,4 +1,20 @@
1
1
 
2
+ ## releasing 1.7.0 (2026-05-29)
3
+ ### Overview
4
+ This release introduces a specialized base class `ClamsPromptableApp` and its HuggingFace specialization `ClamsHFPromptableApp` for CLAMS apps that wrap LLM / VLM / ALM / LMM-based analyzers, along with other HF-related helper code in various places. Additionally, it adds `appTags` field for app categorization in app metadata, and new timeframe related local utility recipe for `clams develop --recipe utl-tf` scaffold.
5
+
6
+ ### Additions
7
+ * `ClamsPromptableApp`, a new specialized base class (subclassing `ClamsApp`) for prompt-driven, instruction-tuned LLM apps with pre-equipped with commonly used runtime parameter set (`prompt`, `systemPrompt`, `promptMode`, `maxNewTokens`, `temperature`, `topP`, `topK`, `parallelPrompts`). Plus, `ClamsHFPromptableApp` (subclassing `ClamsPromptableApp`) for the common case of "promptable app + local HuggingFace `transformers` model". This subclass should significanly simplify wrapping HF models into a CLAMS app. See https://clams.ai/clams-python/app-baseclasses.html for the developer guide. (https://github.com/clamsproject/clams-python/pull/291)
8
+ * `clams.backends.hf` (new module) with two general HF loaders: `load_hf_model` (`from_pretrained` flow) and `load_hf_pipeline` (`transformers.pipeline` flow). Wraps the device auto-detection, revision pinning, dtype handling, and kwargs pass-through that every HF-backed CLAMS app does identically; used internally by `ClamsHFPromptableApp` and callable directly from any non-promptable HF app. Requires the `[hf]` extra (`pip install clams-python[hf]`) to keep `torch` and `transformers` out of the base install.
9
+ * `clams develop --recipe utl-tf` scaffold drops a `utils/timeframe.py` into the new app that factors out the canonical TimeFrame iteration / `vdh.extract_images_by_mode_with_sources` / TimePoint-on-fallback / task-tuple pattern. (7bc91d97ff0af2a2253ca24b00afa8b554ad5849)
10
+ * `appTags` field on `AppMetadata`, a sibling to https://github.com/clamsproject/mmif/pull/253. Allows categorization of CLAMS apps for app-directory search / filtering. (https://github.com/clamsproject/clams-python/pull/290)
11
+
12
+ ### Changes
13
+ * Updated to the latest `mmif-python` SDK (1.5.0).
14
+ * Tightened the semantics of the `AppMetadata.analyzer_versions` field (introduced in 1.4.0) for CHFPApp-based development. When an app subclasses `ClamsHFPromptableApp`, the dict is now the source of truth for the family of supported HF model IDs and their pinned commit hashes: the SDK auto-derives a `model` runtime parameter from the dict's keys, and the HF base class refines `model=<id>` into `model=<id>@<revision>` on output so the resolved revision lands in `view.metadata.appConfiguration` automatically.
15
+ * `clams develop` scaffold templates (`app.py.template`, `metadata.py.template`) updated with commented-out blocks for both promptable variants.
16
+
17
+
2
18
  ## releasing 1.6.0 (2026-05-19)
3
19
  ### Overview
4
20
 
@@ -75,6 +75,13 @@ from clams.ver import __version__
75
75
  For a dev install without a matching tag, `setuptools-scm` generates a
76
76
  version like `1.4.1.dev20+gaf551a4e4.d20260325`.
77
77
 
78
+ ## Releases
79
+
80
+ Release PRs (from `develop` to `main`) are gated by the `release-check` CI workflow. Before opening one:
81
+
82
+ 1. Title the PR exactly `releasing X.Y.Z` (strict semver); `release-check` reads the version from the title.
83
+ 2. Run `python build-tools/prep_release.py X.Y.Z` and commit its changes. See inside the prep script to see what's actually prepared.
84
+
78
85
  ## Migration from Makefile
79
86
 
80
87
  The old `Makefile` and `setup.py` have been removed. If you are
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clams-python
3
- Version: 1.7.0
3
+ Version: 1.7.1
4
4
  Summary: A collection of APIs to develop CLAMS app for python
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: homepage, https://clams.ai
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Requires-Python: >=3.10
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
- Requires-Dist: mmif-python==1.5.0
16
+ Requires-Dist: mmif-python==1.5.1
17
17
  Requires-Dist: Flask>=2
18
18
  Requires-Dist: Flask-RESTful>=0.3.9
19
19
  Requires-Dist: gunicorn>=20
@@ -0,0 +1,104 @@
1
+ """
2
+ Prepare release artifacts for the clams-python package.
3
+
4
+ Run while preparing a release PR, passing the version being released::
5
+
6
+ python build-tools/prep_release.py X.Y.Z
7
+
8
+ Currently this adds a row to ``documentation/target-versions.csv`` for
9
+ the release version. The ``mmif-python`` column is read from this
10
+ package's pinned dependency in ``pyproject.toml``, and the target MMIF
11
+ spec version from the installed ``mmif.__specver__``. This script is the
12
+ single place that writes the target-versions table; the docs build only
13
+ renders it, and CI verifies (on the release PR) that a row for the PR's
14
+ version exists.
15
+
16
+ Requires an editable install (``pip install -e .``) so that
17
+ ``mmif.__specver__`` is importable.
18
+ """
19
+ import argparse
20
+ import re
21
+ import sys
22
+ from pathlib import Path
23
+
24
+ PROJECT_ROOT = Path(__file__).parent.parent
25
+ CSV_PATH = PROJECT_ROOT / 'documentation' / 'target-versions.csv'
26
+ PYPROJECT_PATH = PROJECT_ROOT / 'pyproject.toml'
27
+
28
+ VERSION_RE = re.compile(r'^\d+\.\d+\.\d+$')
29
+ TOP_ROW_RE = re.compile(r'`(\d+\.\d+\.\d+) <')
30
+ MMIF_PIN_RE = re.compile(r'mmif-python\s*==\s*(\d+\.\d+\.\d+)')
31
+
32
+
33
+ def _row(version, mmif_ver, specver):
34
+ return (
35
+ f'`{version} <https://pypi.org/project/clams-python/{version}/>`__,'
36
+ f'`{mmif_ver} <https://pypi.org/project/mmif-python/{mmif_ver}/>`__,'
37
+ f'`{specver} <https://mmif.clams.ai/{specver}/>`__'
38
+ )
39
+
40
+
41
+ def _version_tuple(v):
42
+ return tuple(int(x) for x in v.split('.'))
43
+
44
+
45
+ def _top_version(data_lines):
46
+ if not data_lines:
47
+ return None
48
+ m = TOP_ROW_RE.match(data_lines[0])
49
+ return m.group(1) if m else None
50
+
51
+
52
+ def _pinned_mmif_version():
53
+ m = MMIF_PIN_RE.search(PYPROJECT_PATH.read_text())
54
+ if not m:
55
+ sys.exit("Error: could not find a pinned 'mmif-python==X.Y.Z' "
56
+ "dependency in pyproject.toml.")
57
+ return m.group(1)
58
+
59
+
60
+ def main():
61
+ parser = argparse.ArgumentParser(
62
+ description="Prepare release artifacts for clams-python."
63
+ )
64
+ parser.add_argument(
65
+ "version", metavar="X.Y.Z",
66
+ help="the release version being prepared",
67
+ )
68
+ args = parser.parse_args()
69
+ version = args.version
70
+
71
+ if not VERSION_RE.match(version):
72
+ sys.exit(f"Error: '{version}' is not a valid X.Y.Z version.")
73
+
74
+ mmif_ver = _pinned_mmif_version()
75
+ try:
76
+ import mmif
77
+ specver = mmif.__specver__
78
+ except (ImportError, AttributeError):
79
+ sys.exit("Error: cannot read mmif.__specver__. "
80
+ "Run `pip install -e .` first.")
81
+
82
+ lines = CSV_PATH.read_text().splitlines()
83
+ header, data = lines[0], lines[1:]
84
+ top = _top_version(data)
85
+
86
+ if top is not None and _version_tuple(version) < _version_tuple(top):
87
+ sys.exit(f"Error: {version} is older than the current top row "
88
+ f"{top}; refusing to insert an out-of-order version.")
89
+
90
+ new_row = _row(version, mmif_ver, specver)
91
+ if top == version:
92
+ data[0] = new_row # update in place
93
+ action = "updated"
94
+ else:
95
+ data.insert(0, new_row) # prepend as the new latest
96
+ action = "added"
97
+
98
+ CSV_PATH.write_text('\n'.join([header] + data) + '\n')
99
+ print(f"target-versions.csv: {action} row {version} "
100
+ f"-> mmif-python {mmif_ver}, MMIF spec {specver}")
101
+
102
+
103
+ if __name__ == "__main__":
104
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clams-python
3
- Version: 1.7.0
3
+ Version: 1.7.1
4
4
  Summary: A collection of APIs to develop CLAMS app for python
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: homepage, https://clams.ai
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Requires-Python: >=3.10
14
14
  Description-Content-Type: text/markdown
15
15
  License-File: LICENSE
16
- Requires-Dist: mmif-python==1.5.0
16
+ Requires-Dist: mmif-python==1.5.1
17
17
  Requires-Dist: Flask>=2
18
18
  Requires-Dist: Flask-RESTful>=0.3.9
19
19
  Requires-Dist: gunicorn>=20
@@ -12,9 +12,11 @@ pyproject.toml
12
12
  .github/workflows/issue-close.yml
13
13
  .github/workflows/issue-infra-project.yml
14
14
  .github/workflows/publish.yml
15
+ .github/workflows/release-check.yml
15
16
  build-tools/build.py
16
17
  build-tools/clean.py
17
18
  build-tools/docs.py
19
+ build-tools/prep_release.py
18
20
  build-tools/publish.py
19
21
  build-tools/test.py
20
22
  clams/__init__.py
@@ -1,4 +1,4 @@
1
- mmif-python==1.5.0
1
+ mmif-python==1.5.1
2
2
  Flask>=2
3
3
  Flask-RESTful>=0.3.9
4
4
  gunicorn>=20
@@ -14,8 +14,6 @@ import datetime
14
14
  import inspect
15
15
  import json
16
16
  import os
17
- import re
18
- import shutil
19
17
  import subprocess
20
18
  import sys
21
19
  from pathlib import Path
@@ -196,24 +194,6 @@ def generate_jsonschema(app):
196
194
  json.dump(schema_dict, f, indent=2)
197
195
 
198
196
 
199
- def update_target_spec(app):
200
- target_vers_csv = Path(__file__).parent / 'target-versions.csv'
201
- version = _get_version('clams-python')
202
- # Skip dev/dummy versions to avoid dirtying the git-tracked CSV
203
- if 'dev' in version or not re.match(r'^\d+\.\d+\.\d+$', version):
204
- return
205
- mmifver = mmif.__version__
206
- specver = mmif.__specver__
207
- with open(target_vers_csv) as in_f, open(f'{target_vers_csv}.new', 'w') as out_f:
208
- lines = in_f.readlines()
209
- if not lines[1].startswith(f"`{version}"):
210
- lines.insert(1, f"`{version} <https://pypi.org/project/clams-python/{version}/>`__,`{mmifver} <https://pypi.org/project/mmif-python/{mmifver}/>`__,`{specver} <https://mmif.clams.ai/{specver}/>`__\n")
211
- for line in lines:
212
- out_f.write(line)
213
- shutil.move(out_f.name, in_f.name)
214
-
215
-
216
197
  def setup(app):
217
198
  app.connect('builder-inited', generate_whatsnew_rst)
218
199
  app.connect('builder-inited', generate_jsonschema)
219
- app.connect('builder-inited', update_target_spec)
@@ -1,4 +1,9 @@
1
1
  "``clams-python`` version","``mmif-python`` version","Target MMIF Specification"
2
+ `1.7.1 <https://pypi.org/project/clams-python/1.7.1/>`__,`1.5.1 <https://pypi.org/project/mmif-python/1.5.1/>`__,`1.2.0 <https://mmif.clams.ai/1.2.0/>`__
3
+ `1.7.0 <https://pypi.org/project/clams-python/1.7.0/>`__,`1.5.0 <https://pypi.org/project/mmif-python/1.5.0/>`__,`1.2.0 <https://mmif.clams.ai/1.2.0/>`__
4
+ `1.6.0 <https://pypi.org/project/clams-python/1.6.0/>`__,`1.4.0 <https://pypi.org/project/mmif-python/1.4.0/>`__,`1.1.1 <https://mmif.clams.ai/1.1.1/>`__
5
+ `1.5.0 <https://pypi.org/project/clams-python/1.5.0/>`__,`1.3.1 <https://pypi.org/project/mmif-python/1.3.1/>`__,`1.1.0 <https://mmif.clams.ai/1.1.0/>`__
6
+ `1.4.0 <https://pypi.org/project/clams-python/1.4.0/>`__,`1.2.1 <https://pypi.org/project/mmif-python/1.2.1/>`__,`1.1.0 <https://mmif.clams.ai/1.1.0/>`__
2
7
  `1.3.3 <https://pypi.org/project/clams-python/1.3.3/>`__,`1.1.2 <https://pypi.org/project/mmif-python/1.1.2/>`__,`1.1.0 <https://mmif.clams.ai/1.1.0/>`__
3
8
  `1.3.2 <https://pypi.org/project/clams-python/1.3.2/>`__,`1.1.1 <https://pypi.org/project/mmif-python/1.1.1/>`__,`1.1.0 <https://mmif.clams.ai/1.1.0/>`__
4
9
  `1.3.1 <https://pypi.org/project/clams-python/1.3.1/>`__,`1.0.19 <https://pypi.org/project/mmif-python/1.0.19/>`__,`1.0.5 <https://mmif.clams.ai/1.0.5/>`__
@@ -50,4 +55,4 @@
50
55
  `0.1.7 <https://pypi.org/project/clams-python/0.1.7/>`__,`0.2.2 <https://pypi.org/project/mmif-python/0.2.2/>`__,`0.2.1 <https://mmif.clams.ai/0.2.1/>`__
51
56
  `0.1.6 <https://pypi.org/project/clams-python/0.1.6/>`__,`0.2.1 <https://pypi.org/project/mmif-python/0.2.1/>`__,`0.2.1 <https://mmif.clams.ai/0.2.1/>`__
52
57
  `0.1.5 <https://pypi.org/project/clams-python/0.1.5/>`__,`0.2.1 <https://pypi.org/project/mmif-python/0.2.1/>`__,`0.2.1 <https://mmif.clams.ai/0.2.1/>`__
53
- `0.1.4 <https://pypi.org/project/clams-python/0.1.4/>`__,`0.2.1 <https://pypi.org/project/mmif-python/0.2.1/>`__,`0.2.1 <https://mmif.clams.ai/0.2.1/>`__
58
+ `0.1.4 <https://pypi.org/project/clams-python/0.1.4/>`__,`0.2.1 <https://pypi.org/project/mmif-python/0.2.1/>`__,`0.2.1 <https://mmif.clams.ai/0.2.1/>`__
@@ -19,7 +19,7 @@ classifiers = [
19
19
  "Programming Language :: Python :: 3 :: Only",
20
20
  ]
21
21
  dependencies = [
22
- "mmif-python==1.5.0",
22
+ "mmif-python==1.5.1",
23
23
  "Flask>=2",
24
24
  "Flask-RESTful>=0.3.9",
25
25
  "gunicorn>=20",
File without changes
File without changes
File without changes
File without changes
File without changes