pixeltable 0.2.16__tar.gz → 0.2.17__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.

Potentially problematic release.


This version of pixeltable might be problematic. Click here for more details.

Files changed (143) hide show
  1. {pixeltable-0.2.16 → pixeltable-0.2.17}/PKG-INFO +1 -1
  2. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/__version__.py +2 -2
  3. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/env.py +1 -0
  4. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/__init__.py +1 -1
  5. pixeltable-0.2.17/pixeltable/functions/anthropic.py +97 -0
  6. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/fireworks.py +1 -1
  7. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/together.py +1 -1
  8. {pixeltable-0.2.16 → pixeltable-0.2.17}/pyproject.toml +2 -1
  9. {pixeltable-0.2.16 → pixeltable-0.2.17}/LICENSE +0 -0
  10. {pixeltable-0.2.16 → pixeltable-0.2.17}/README.md +0 -0
  11. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/__init__.py +0 -0
  12. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/__init__.py +0 -0
  13. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/catalog.py +0 -0
  14. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/column.py +0 -0
  15. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/dir.py +0 -0
  16. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/globals.py +0 -0
  17. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/insertable_table.py +0 -0
  18. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/named_function.py +0 -0
  19. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/path.py +0 -0
  20. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/path_dict.py +0 -0
  21. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/schema_object.py +0 -0
  22. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/table.py +0 -0
  23. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/table_version.py +0 -0
  24. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/table_version_path.py +0 -0
  25. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/catalog/view.py +0 -0
  26. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/dataframe.py +0 -0
  27. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exceptions.py +0 -0
  28. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/__init__.py +0 -0
  29. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/aggregation_node.py +0 -0
  30. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/cache_prefetch_node.py +0 -0
  31. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/component_iteration_node.py +0 -0
  32. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/data_row_batch.py +0 -0
  33. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/exec_context.py +0 -0
  34. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/exec_node.py +0 -0
  35. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/expr_eval_node.py +0 -0
  36. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/in_memory_data_node.py +0 -0
  37. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/media_validation_node.py +0 -0
  38. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/row_update_node.py +0 -0
  39. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exec/sql_node.py +0 -0
  40. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/__init__.py +0 -0
  41. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/arithmetic_expr.py +0 -0
  42. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/array_slice.py +0 -0
  43. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/column_property_ref.py +0 -0
  44. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/column_ref.py +0 -0
  45. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/comparison.py +0 -0
  46. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/compound_predicate.py +0 -0
  47. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/data_row.py +0 -0
  48. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/expr.py +0 -0
  49. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/expr_set.py +0 -0
  50. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/function_call.py +0 -0
  51. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/globals.py +0 -0
  52. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/in_predicate.py +0 -0
  53. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/inline_array.py +0 -0
  54. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/inline_dict.py +0 -0
  55. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/is_null.py +0 -0
  56. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/json_mapper.py +0 -0
  57. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/json_path.py +0 -0
  58. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/literal.py +0 -0
  59. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/method_ref.py +0 -0
  60. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/object_ref.py +0 -0
  61. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/row_builder.py +0 -0
  62. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/rowid_ref.py +0 -0
  63. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/similarity_expr.py +0 -0
  64. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/type_cast.py +0 -0
  65. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/exprs/variable.py +0 -0
  66. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/ext/__init__.py +0 -0
  67. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/ext/functions/__init__.py +0 -0
  68. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/ext/functions/whisperx.py +0 -0
  69. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/ext/functions/yolox.py +0 -0
  70. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/__init__.py +0 -0
  71. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/aggregate_function.py +0 -0
  72. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/callable_function.py +0 -0
  73. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/expr_template_function.py +0 -0
  74. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/function.py +0 -0
  75. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/function_registry.py +0 -0
  76. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/globals.py +0 -0
  77. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/query_template_function.py +0 -0
  78. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/signature.py +0 -0
  79. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/func/udf.py +0 -0
  80. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/audio.py +0 -0
  81. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/globals.py +0 -0
  82. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/huggingface.py +0 -0
  83. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/image.py +0 -0
  84. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/json.py +0 -0
  85. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/openai.py +0 -0
  86. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/string.py +0 -0
  87. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/timestamp.py +0 -0
  88. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/util.py +0 -0
  89. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/video.py +0 -0
  90. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/vision.py +0 -0
  91. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/functions/whisper.py +0 -0
  92. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/globals.py +0 -0
  93. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/index/__init__.py +0 -0
  94. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/index/base.py +0 -0
  95. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/index/btree.py +0 -0
  96. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/index/embedding_index.py +0 -0
  97. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/__init__.py +0 -0
  98. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/external_store.py +0 -0
  99. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/globals.py +0 -0
  100. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/hf_datasets.py +0 -0
  101. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/label_studio.py +0 -0
  102. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/pandas.py +0 -0
  103. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/io/parquet.py +0 -0
  104. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/iterators/__init__.py +0 -0
  105. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/iterators/base.py +0 -0
  106. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/iterators/document.py +0 -0
  107. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/iterators/string.py +0 -0
  108. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/iterators/video.py +0 -0
  109. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/__init__.py +0 -0
  110. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_10.py +0 -0
  111. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_12.py +0 -0
  112. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_13.py +0 -0
  113. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_14.py +0 -0
  114. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_15.py +0 -0
  115. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_16.py +0 -0
  116. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_17.py +0 -0
  117. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/convert_18.py +0 -0
  118. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/converters/util.py +0 -0
  119. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/notes.py +0 -0
  120. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/metadata/schema.py +0 -0
  121. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/plan.py +0 -0
  122. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/store.py +0 -0
  123. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/tool/create_test_db_dump.py +0 -0
  124. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/tool/create_test_video.py +0 -0
  125. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/tool/doc_plugins/griffe.py +0 -0
  126. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/tool/doc_plugins/mkdocstrings.py +0 -0
  127. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/tool/doc_plugins/templates/material/udf.html.jinja +0 -0
  128. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/tool/embed_udf.py +0 -0
  129. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/type_system.py +0 -0
  130. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/__init__.py +0 -0
  131. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/arrow.py +0 -0
  132. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/coco.py +0 -0
  133. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/code.py +0 -0
  134. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/documents.py +0 -0
  135. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/filecache.py +0 -0
  136. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/formatter.py +0 -0
  137. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/help.py +0 -0
  138. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/http_server.py +0 -0
  139. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/media_store.py +0 -0
  140. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/pytorch.py +0 -0
  141. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/s3.py +0 -0
  142. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/sql.py +0 -0
  143. {pixeltable-0.2.16 → pixeltable-0.2.17}/pixeltable/utils/transactional_directory.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pixeltable
3
- Version: 0.2.16
3
+ Version: 0.2.17
4
4
  Summary: Pixeltable: The Multimodal AI Data Plane
5
5
  Author: Pixeltable, Inc.
6
6
  Author-email: contact@pixeltable.com
@@ -1,3 +1,3 @@
1
1
  # These version placeholders will be replaced during build.
2
- __version__ = "0.2.16"
3
- __version_tuple__ = (0, 2, 16)
2
+ __version__ = "0.2.17"
3
+ __version_tuple__ = (0, 2, 17)
@@ -444,6 +444,7 @@ class Env:
444
444
  self._spacy_nlp = spacy.load('en_core_web_sm')
445
445
  check('tiktoken')
446
446
  check('openai')
447
+ check('anthropic')
447
448
  check('together')
448
449
  check('fireworks')
449
450
  check('label_studio_sdk')
@@ -1,4 +1,4 @@
1
- from . import audio, fireworks, huggingface, image, json, openai, string, timestamp, together, video, vision
1
+ from . import anthropic, audio, fireworks, huggingface, image, json, openai, string, timestamp, together, video, vision
2
2
  from .globals import *
3
3
  from pixeltable.utils.code import local_public_names
4
4
 
@@ -0,0 +1,97 @@
1
+ """
2
+ Pixeltable [UDFs](https://pixeltable.readme.io/docs/user-defined-functions-udfs)
3
+ that wrap various endpoints from the Anthropic API. In order to use them, you must
4
+ first `pip install anthropic` and configure your Anthropic credentials, as described in
5
+ the [Working with Anthropic](https://pixeltable.readme.io/docs/working-with-anthropic) tutorial.
6
+ """
7
+
8
+ from typing import TYPE_CHECKING, Any, Optional, TypeVar, Union
9
+
10
+ import pixeltable as pxt
11
+ from pixeltable import env
12
+ from pixeltable.utils.code import local_public_names
13
+
14
+ if TYPE_CHECKING:
15
+ import anthropic
16
+
17
+
18
+ @env.register_client('anthropic')
19
+ def _(api_key: str) -> 'anthropic.Anthropic':
20
+ import anthropic
21
+
22
+ return anthropic.Anthropic(api_key=api_key)
23
+
24
+
25
+ def _anthropic_client() -> 'anthropic.Anthropic':
26
+ return env.Env.get().get_client('anthropic')
27
+
28
+
29
+ @pxt.udf
30
+ def messages(
31
+ messages: list[dict[str, str]],
32
+ *,
33
+ model: str,
34
+ max_tokens: int = 1024,
35
+ metadata: Optional[dict[str, Any]] = None,
36
+ stop_sequences: Optional[list[str]] = None,
37
+ system: Optional[str] = None,
38
+ temperature: Optional[float] = None,
39
+ tool_choice: Optional[list[dict]] = None,
40
+ tools: Optional[dict] = None,
41
+ top_k: Optional[int] = None,
42
+ top_p: Optional[float] = None,
43
+ ) -> dict:
44
+ """
45
+ Create a Message.
46
+
47
+ Equivalent to the Anthropic `messages` API endpoint.
48
+ For additional details, see: <https://docs.anthropic.com/en/api/messages>
49
+
50
+ __Requirements:__
51
+
52
+ - `pip install anthropic`
53
+
54
+ Args:
55
+ messages: Input messages.
56
+ model: The model that will complete your prompt.
57
+
58
+ For details on the other parameters, see: <https://docs.anthropic.com/en/api/messages>
59
+
60
+ Returns:
61
+ A dictionary containing the response and other metadata.
62
+
63
+ Examples:
64
+ Add a computed column that applies the model `claude-3-haiku-20240307`
65
+ to an existing Pixeltable column `tbl.prompt` of the table `tbl`:
66
+
67
+ >>> msgs = [{'role': 'user', 'content': tbl.prompt}]
68
+ ... tbl['response'] = messages(msgs, model='claude-3-haiku-20240307')
69
+ """
70
+ return _anthropic_client().messages.create(
71
+ messages=messages,
72
+ model=model,
73
+ max_tokens=max_tokens,
74
+ metadata=_opt(metadata),
75
+ stop_sequences=_opt(stop_sequences),
76
+ system=_opt(system),
77
+ temperature=_opt(temperature),
78
+ tool_choice=_opt(tool_choice),
79
+ tools=_opt(tools),
80
+ top_k=_opt(top_k),
81
+ top_p=_opt(top_p),
82
+ ).dict()
83
+
84
+
85
+ _T = TypeVar('_T')
86
+
87
+
88
+ def _opt(arg: _T) -> Union[_T, 'anthropic.NotGiven']:
89
+ from anthropic import NOT_GIVEN
90
+ return arg if arg is not None else NOT_GIVEN
91
+
92
+
93
+ __all__ = local_public_names(__name__)
94
+
95
+
96
+ def __dir__():
97
+ return __all__
@@ -60,7 +60,7 @@ def chat_completions(
60
60
  to an existing Pixeltable column `tbl.prompt` of the table `tbl`:
61
61
 
62
62
  >>> messages = [{'role': 'user', 'content': tbl.prompt}]
63
- ... tbl['response'] = chat_completions(tbl.prompt, model='accounts/fireworks/models/mixtral-8x22b-instruct')
63
+ ... tbl['response'] = chat_completions(messages, model='accounts/fireworks/models/mixtral-8x22b-instruct')
64
64
  """
65
65
  kwargs = {'max_tokens': max_tokens, 'top_k': top_k, 'top_p': top_p, 'temperature': temperature}
66
66
  kwargs_not_none = {k: v for k, v in kwargs.items() if v is not None}
@@ -136,7 +136,7 @@ def chat_completions(
136
136
  of the table `tbl`:
137
137
 
138
138
  >>> messages = [{'role': 'user', 'content': tbl.prompt}]
139
- ... tbl['response'] = chat_completions(tbl.prompt, model='mistralai/Mixtral-8x7B-v0.1')
139
+ ... tbl['response'] = chat_completions(messages, model='mistralai/Mixtral-8x7B-v0.1')
140
140
  """
141
141
  return (
142
142
  _together_client()
@@ -4,7 +4,7 @@ build-backend = "poetry_dynamic_versioning.backend"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pixeltable"
7
- version = "0.2.16"
7
+ version = "0.2.17"
8
8
  description = "Pixeltable: The Multimodal AI Data Plane"
9
9
  authors = ["Pixeltable, Inc. <contact@pixeltable.com>"]
10
10
  readme = "README.md"
@@ -83,6 +83,7 @@ torch = "^2.2"
83
83
  torchvision = "^0.17"
84
84
  pyarrow = ">=13.0.0"
85
85
  openai = "^1.10.0"
86
+ anthropic = ">=0.34.2"
86
87
  together = "^1.1"
87
88
  fireworks-ai = "^0.13.0"
88
89
  boto3 = "==1.35.5" # Locking a specific version of boto3 dramatically improves `poetry lock` runtimes
File without changes
File without changes