clams-python 1.8.1__tar.gz → 1.9.0__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 (107) hide show
  1. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/containers.yml +9 -0
  2. {clams_python-1.8.1 → clams_python-1.9.0}/CHANGELOG.md +24 -0
  3. {clams_python-1.8.1/clams_python.egg-info → clams_python-1.9.0}/PKG-INFO +7 -2
  4. {clams_python-1.8.1 → clams_python-1.9.0}/build-tools/test.py +4 -0
  5. {clams_python-1.8.1 → clams_python-1.9.0}/clams/app/__init__.py +622 -127
  6. {clams_python-1.8.1 → clams_python-1.9.0}/clams/appmetadata/__init__.py +49 -0
  7. clams_python-1.9.0/clams/backends/llamaserver.py +576 -0
  8. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/.dockerignore.template +1 -1
  9. {clams_python-1.8.1 → clams_python-1.9.0}/clams/restify/__init__.py +34 -5
  10. {clams_python-1.8.1 → clams_python-1.9.0/clams_python.egg-info}/PKG-INFO +7 -2
  11. {clams_python-1.8.1 → clams_python-1.9.0}/clams_python.egg-info/SOURCES.txt +4 -0
  12. {clams_python-1.8.1 → clams_python-1.9.0}/clams_python.egg-info/requires.txt +7 -1
  13. {clams_python-1.8.1 → clams_python-1.9.0}/clams_python.egg-info/scm_file_list.json +4 -0
  14. clams_python-1.9.0/clams_python.egg-info/scm_version.json +8 -0
  15. {clams_python-1.8.1 → clams_python-1.9.0}/container/generate_containers_yml.py +37 -21
  16. clams_python-1.9.0/container/llamaserver.containerfile +41 -0
  17. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/app-baseclasses.rst +143 -4
  18. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/appmetadata.rst +59 -4
  19. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/clamsapp.rst +48 -1
  20. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/gpu-apps.rst +33 -0
  21. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/index.rst +1 -0
  22. clams_python-1.9.0/documentation/promptable-backends.rst +114 -0
  23. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/target-versions.csv +2 -0
  24. {clams_python-1.8.1 → clams_python-1.9.0}/pyproject.toml +10 -5
  25. {clams_python-1.8.1 → clams_python-1.9.0}/tests/test_clamsapp.py +122 -1
  26. clams_python-1.9.0/tests/test_llamaserver.py +676 -0
  27. {clams_python-1.8.1 → clams_python-1.9.0}/tests/test_promptable.py +44 -0
  28. clams_python-1.8.1/clams_python.egg-info/scm_version.json +0 -8
  29. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/codecov.yml +0 -0
  30. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/container.yml +0 -0
  31. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/issue-assign.yml +0 -0
  32. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/issue-close.yml +0 -0
  33. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/issue-infra-project.yml +0 -0
  34. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/publish.yml +0 -0
  35. {clams_python-1.8.1 → clams_python-1.9.0}/.github/workflows/release-check.yml +0 -0
  36. {clams_python-1.8.1 → clams_python-1.9.0}/.gitignore +0 -0
  37. {clams_python-1.8.1 → clams_python-1.9.0}/CONTRIBUTING.md +0 -0
  38. {clams_python-1.8.1 → clams_python-1.9.0}/LICENSE +0 -0
  39. {clams_python-1.8.1 → clams_python-1.9.0}/README.md +0 -0
  40. {clams_python-1.8.1 → clams_python-1.9.0}/build-tools/build.py +0 -0
  41. {clams_python-1.8.1 → clams_python-1.9.0}/build-tools/clean.py +0 -0
  42. {clams_python-1.8.1 → clams_python-1.9.0}/build-tools/docs.py +0 -0
  43. {clams_python-1.8.1 → clams_python-1.9.0}/build-tools/prep_release.py +0 -0
  44. {clams_python-1.8.1 → clams_python-1.9.0}/build-tools/publish.py +0 -0
  45. {clams_python-1.8.1 → clams_python-1.9.0}/clams/__init__.py +0 -0
  46. {clams_python-1.8.1 → clams_python-1.9.0}/clams/backends/__init__.py +0 -0
  47. {clams_python-1.8.1 → clams_python-1.9.0}/clams/backends/hf.py +0 -0
  48. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/__init__.py +0 -0
  49. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/.gitignore.template +0 -0
  50. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/Containerfile.template +0 -0
  51. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/LICENSE.template +0 -0
  52. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/README.md.template +0 -0
  53. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/app.py.template +0 -0
  54. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/cli.py.template +0 -0
  55. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/metadata.py.template +0 -0
  56. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/app/requirements.txt.template +0 -0
  57. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/gha/for-clams-team.md.template +0 -0
  58. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/gha/workflows/issue-apps-project.yml.template +0 -0
  59. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/gha/workflows/issue-assign.yml.template +0 -0
  60. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/gha/workflows/issue-close.yml.template +0 -0
  61. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/gha/workflows/publish.yml.template +0 -0
  62. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/utl-tf/__init__.py.template +0 -0
  63. {clams_python-1.8.1 → clams_python-1.9.0}/clams/develop/templates/utl-tf/timeframe.py.template +0 -0
  64. {clams_python-1.8.1 → clams_python-1.9.0}/clams/envelop/__init__.py +0 -0
  65. {clams_python-1.8.1 → clams_python-1.9.0}/clams/serve/__init__.py +0 -0
  66. {clams_python-1.8.1 → clams_python-1.9.0}/clams/ver/__init__.py +0 -0
  67. {clams_python-1.8.1 → clams_python-1.9.0}/clams_python.egg-info/dependency_links.txt +0 -0
  68. {clams_python-1.8.1 → clams_python-1.9.0}/clams_python.egg-info/entry_points.txt +0 -0
  69. {clams_python-1.8.1 → clams_python-1.9.0}/clams_python.egg-info/top_level.txt +0 -0
  70. {clams_python-1.8.1 → clams_python-1.9.0}/container/Containerfile +0 -0
  71. {clams_python-1.8.1 → clams_python-1.9.0}/container/ffmpeg-hf.containerfile +0 -0
  72. {clams_python-1.8.1 → clams_python-1.9.0}/container/ffmpeg-hf4.containerfile +0 -0
  73. {clams_python-1.8.1 → clams_python-1.9.0}/container/ffmpeg-hf5.containerfile +0 -0
  74. {clams_python-1.8.1 → clams_python-1.9.0}/container/ffmpeg-tf2.containerfile +0 -0
  75. {clams_python-1.8.1 → clams_python-1.9.0}/container/ffmpeg-torch2.containerfile +0 -0
  76. {clams_python-1.8.1 → clams_python-1.9.0}/container/ffmpeg.containerfile +0 -0
  77. {clams_python-1.8.1 → clams_python-1.9.0}/container/hf.containerfile +0 -0
  78. {clams_python-1.8.1 → clams_python-1.9.0}/container/hf4.containerfile +0 -0
  79. {clams_python-1.8.1 → clams_python-1.9.0}/container/hf5.containerfile +0 -0
  80. {clams_python-1.8.1 → clams_python-1.9.0}/container/jdk8.containerfile +0 -0
  81. {clams_python-1.8.1 → clams_python-1.9.0}/container/opencv4-hf.containerfile +0 -0
  82. {clams_python-1.8.1 → clams_python-1.9.0}/container/opencv4-hf4.containerfile +0 -0
  83. {clams_python-1.8.1 → clams_python-1.9.0}/container/opencv4-hf5.containerfile +0 -0
  84. {clams_python-1.8.1 → clams_python-1.9.0}/container/opencv4-tf2.containerfile +0 -0
  85. {clams_python-1.8.1 → clams_python-1.9.0}/container/opencv4-torch2.containerfile +0 -0
  86. {clams_python-1.8.1 → clams_python-1.9.0}/container/opencv4.containerfile +0 -0
  87. {clams_python-1.8.1 → clams_python-1.9.0}/container/tf2.containerfile +0 -0
  88. {clams_python-1.8.1 → clams_python-1.9.0}/container/torch2.containerfile +0 -0
  89. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/appdirectory.rst +0 -0
  90. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/autodoc/clams.app.rst +0 -0
  91. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/autodoc/clams.appmetadata.rst +0 -0
  92. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/autodoc/clams.backends.rst +0 -0
  93. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/autodoc/clams.mmif_utils.rst +0 -0
  94. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/autodoc/clams.restify.rst +0 -0
  95. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/cli.rst +0 -0
  96. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/conf.py +0 -0
  97. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/input-output.rst +0 -0
  98. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/introduction.rst +0 -0
  99. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/modules.rst +0 -0
  100. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/runtime-params.rst +0 -0
  101. {clams_python-1.8.1 → clams_python-1.9.0}/documentation/tutorial.md +0 -0
  102. {clams_python-1.8.1 → clams_python-1.9.0}/setup.cfg +0 -0
  103. {clams_python-1.8.1 → clams_python-1.9.0}/tests/metadata.py +0 -0
  104. {clams_python-1.8.1 → clams_python-1.9.0}/tests/pillow-logo.png +0 -0
  105. {clams_python-1.8.1 → clams_python-1.9.0}/tests/test_backends_hf.py +0 -0
  106. {clams_python-1.8.1 → clams_python-1.9.0}/tests/test_develop.py +0 -0
  107. {clams_python-1.8.1 → clams_python-1.9.0}/tests/test_envelope.py +0 -0
@@ -53,6 +53,15 @@ jobs:
53
53
  buildfilename: './container/Containerfile'
54
54
  version: ${{ needs.set-version.outputs.version }}
55
55
 
56
+ call-build-llamaserver:
57
+ name: "🤙 Call container workflow with `llamaserver`"
58
+ needs: ['set-version', 'check-deployment']
59
+ uses: ./.github/workflows/container.yml
60
+ secrets: inherit
61
+ with:
62
+ buildfilename: './container/llamaserver.containerfile'
63
+ version: ${{ needs.set-version.outputs.version }}
64
+
56
65
  call-build-ffmpeg:
57
66
  name: "🤙 Call container workflow with `ffmpeg`"
58
67
  needs: ['set-version', 'call-build-base']
@@ -1,4 +1,28 @@
1
1
 
2
+ ## releasing 1.8.2 (2026-11-01)
3
+ ### Overview
4
+ Updated to mmif-python 1.7.0
5
+
6
+
7
+ ### Changes
8
+ * Updated to mmif-python 1.7.0, which comes with many bug fixes and guardrails for better handling MMIF serialization (https://github.com/clamsproject/clams-python/issues/317)
9
+
10
+
11
+
12
+ ## releasing 1.8.1 (2026-10-27)
13
+ ### Overview
14
+
15
+ Updates `mmif-python` to 1.6.0, with many small fixes for the consistency of MMIF files and CLAMS workflows.
16
+
17
+ ### Changes
18
+
19
+ * `mmif-python` is updated to 1.6.0 (https://github.com/clamsproject/clams-python/issues/314)
20
+ * view timestamps: consistently in UTC now, instead of local time (https://github.com/clamsproject/clams-python/issues/312)
21
+ * error views: fixed a bug where an error in a run overwrote the view of an earlier run of the same app (part of https://github.com/clamsproject/clams-python/pull/313, found during working on #312)
22
+ * document properties: fixed a bug where the (capital) `Annotation` for properties added to an existing document was attached to a wrong view, when the app produced no other annotations (https://github.com/clamsproject/clams-python/issues/314)
23
+ * `clams develop`: the `utl-tf` recipe is deprecated and no longer baked by default; its helpers are now provided by mmif-python 1.6.0 as `Mmif.get_annotations_of_labels()` and `mmif.utils.video_document_helper.iter_timeframe_images()` (https://github.com/clamsproject/clams-python/issues/314)
24
+
25
+
2
26
  ## releasing 1.8.0 (2026-10-06)
3
27
  ### Overview
4
28
  Adds runtime parameters that cap the number of images per prompt in promptable apps, and updates `mmif-python` to 1.5.4.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clams-python
3
- Version: 1.8.1
3
+ Version: 1.9.0
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.6.0
16
+ Requires-Dist: mmif-python==1.8.1
17
17
  Requires-Dist: Flask>=2
18
18
  Requires-Dist: Flask-RESTful>=0.3.9
19
19
  Requires-Dist: gunicorn>=20
@@ -25,6 +25,7 @@ Requires-Dist: mypy; extra == "dev"
25
25
  Requires-Dist: pytest; extra == "dev"
26
26
  Requires-Dist: pytest-cov; extra == "dev"
27
27
  Requires-Dist: pillow; extra == "dev"
28
+ Requires-Dist: numpy; extra == "dev"
28
29
  Requires-Dist: setuptools; extra == "dev"
29
30
  Provides-Extra: docs
30
31
  Requires-Dist: sphinx<8.0,>=7.0; extra == "docs"
@@ -36,11 +37,15 @@ Requires-Dist: mypy; extra == "test"
36
37
  Requires-Dist: pytest; extra == "test"
37
38
  Requires-Dist: pytest-cov; extra == "test"
38
39
  Requires-Dist: pillow; extra == "test"
40
+ Requires-Dist: numpy; extra == "test"
39
41
  Provides-Extra: hf
40
42
  Requires-Dist: torch; extra == "hf"
41
43
  Requires-Dist: transformers; extra == "hf"
42
44
  Requires-Dist: pillow; extra == "hf"
43
45
  Requires-Dist: tqdm; extra == "hf"
46
+ Provides-Extra: llamaserver
47
+ Requires-Dist: huggingface_hub; extra == "llamaserver"
48
+ Requires-Dist: pillow; extra == "llamaserver"
44
49
  Dynamic: license-file
45
50
 
46
51
  ## CLAMS project
@@ -38,6 +38,10 @@ def main():
38
38
  "(useful if already installed)."
39
39
  )
40
40
  args = parser.parse_args()
41
+ # print each line at once: in CI stdout is a pipe, where python
42
+ # would hold these lines until exit, after the output of the
43
+ # commands they introduce
44
+ sys.stdout.reconfigure(line_buffering=True)
41
45
 
42
46
  project_root = SCRIPT_DIR.parent
43
47