modal 0.73.151__tar.gz → 0.73.152__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.
- {modal-0.73.151 → modal-0.73.152}/PKG-INFO +1 -1
- {modal-0.73.151 → modal-0.73.152}/modal/client.pyi +2 -2
- {modal-0.73.151 → modal-0.73.152}/modal/functions.pyi +6 -6
- {modal-0.73.151 → modal-0.73.152}/modal.egg-info/PKG-INFO +1 -1
- {modal-0.73.151 → modal-0.73.152}/modal_proto/api.proto +18 -23
- {modal-0.73.151 → modal-0.73.152}/modal_proto/api_pb2.py +93 -93
- {modal-0.73.151 → modal-0.73.152}/modal_proto/api_pb2.pyi +26 -33
- {modal-0.73.151 → modal-0.73.152}/modal_version/_version_generated.py +1 -1
- {modal-0.73.151 → modal-0.73.152}/LICENSE +0 -0
- {modal-0.73.151 → modal-0.73.152}/README.md +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/__main__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_clustered_functions.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_clustered_functions.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_container_entrypoint.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_functions.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_ipython.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_location.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_object.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_output.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_partial_function.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_proxy_tunnel.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_pty.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_resolver.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_resources.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/asgi.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/container_io_manager.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/execution_context.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/execution_context.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/telemetry.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_runtime/user_code_imports.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_serialization.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_traceback.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_tunnel.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_tunnel.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_type_manager.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/app_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/async_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/blob_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/deprecation.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/docker_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/function_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/git_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/grpc_testing.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/grpc_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/hash_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/http_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/jwt_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/logger.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/mount_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/name_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/package_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/pattern_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_utils/shell_utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_vendor/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_vendor/cloudpickle.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_vendor/tblib.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/_watcher.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/app.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/app.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/call_graph.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/_download.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/_traceback.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/app.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/config.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/container.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/dict.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/entry_point.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/environment.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/import_refs.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/launch.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/network_file_system.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/profile.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/programs/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/programs/vscode.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/queues.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/run.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/secret.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/token.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/utils.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cli/volume.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/client.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cloud_bucket_mount.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cls.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/cls.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/config.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/container_process.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/container_process.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/dict.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/dict.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/environments.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/environments.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/exception.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/experimental/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/experimental/ipython.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/file_io.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/file_io.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/file_pattern_matcher.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/functions.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/gpu.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/image.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/image.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/io_streams.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/io_streams.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/mount.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/mount.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/network_file_system.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/network_file_system.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/object.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/object.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/output.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/parallel_map.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/parallel_map.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/partial_function.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/partial_function.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/proxy.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/proxy.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/py.typed +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/queue.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/queue.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/2023.12.312.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/2023.12.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/2024.04.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/2024.10.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/PREVIEW.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/README.md +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/requirements/base-images.json +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/retries.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/runner.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/runner.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/running_app.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/sandbox.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/sandbox.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/schedule.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/scheduler_placement.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/secret.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/secret.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/serving.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/serving.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/snapshot.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/snapshot.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/stream_type.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/token_flow.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/token_flow.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/volume.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal/volume.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal.egg-info/SOURCES.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal.egg-info/dependency_links.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal.egg-info/entry_points.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal.egg-info/requires.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal.egg-info/top_level.txt +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_docs/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_docs/gen_cli_docs.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_docs/gen_reference_docs.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_docs/mdmd/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_docs/mdmd/signatures.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/api_grpc.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/modal_api_grpc.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/modal_options_grpc.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/options.proto +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/options_grpc.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/options_pb2.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/options_pb2.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_proto/py.typed +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_version/__init__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/modal_version/__main__.py +0 -0
- {modal-0.73.151 → modal-0.73.152}/pyproject.toml +0 -0
- {modal-0.73.151 → modal-0.73.152}/setup.cfg +0 -0
@@ -31,7 +31,7 @@ class _Client:
|
|
31
31
|
server_url: str,
|
32
32
|
client_type: int,
|
33
33
|
credentials: typing.Optional[tuple[str, str]],
|
34
|
-
version: str = "0.73.
|
34
|
+
version: str = "0.73.152",
|
35
35
|
): ...
|
36
36
|
def is_closed(self) -> bool: ...
|
37
37
|
@property
|
@@ -93,7 +93,7 @@ class Client:
|
|
93
93
|
server_url: str,
|
94
94
|
client_type: int,
|
95
95
|
credentials: typing.Optional[tuple[str, str]],
|
96
|
-
version: str = "0.73.
|
96
|
+
version: str = "0.73.152",
|
97
97
|
): ...
|
98
98
|
def is_closed(self) -> bool: ...
|
99
99
|
@property
|
@@ -200,11 +200,11 @@ class Function(
|
|
200
200
|
|
201
201
|
_call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
|
202
202
|
|
203
|
-
class __remote_spec(typing_extensions.Protocol[
|
203
|
+
class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
204
204
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
205
205
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
206
206
|
|
207
|
-
remote: __remote_spec[modal._functions.
|
207
|
+
remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
208
208
|
|
209
209
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
210
210
|
def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
|
@@ -219,19 +219,19 @@ class Function(
|
|
219
219
|
self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
|
220
220
|
) -> modal._functions.OriginalReturnType: ...
|
221
221
|
|
222
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
222
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
223
223
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
224
224
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
225
225
|
|
226
226
|
_experimental_spawn: ___experimental_spawn_spec[
|
227
|
-
modal._functions.
|
227
|
+
modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
|
228
228
|
]
|
229
229
|
|
230
|
-
class __spawn_spec(typing_extensions.Protocol[
|
230
|
+
class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
231
231
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
232
232
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
233
233
|
|
234
|
-
spawn: __spawn_spec[modal._functions.
|
234
|
+
spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
235
235
|
|
236
236
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
|
237
237
|
|
@@ -2893,17 +2893,12 @@ message VolumeMount {
|
|
2893
2893
|
}
|
2894
2894
|
|
2895
2895
|
message VolumePutFiles2Request {
|
2896
|
-
// List of files
|
2896
|
+
// List of files to put/upload.
|
2897
2897
|
repeated File files = 1;
|
2898
2898
|
|
2899
|
-
// The last time the client called `VolumePutFiles2` for this file, it was
|
2900
|
-
// told that some blocks were missing. This field contains information
|
2901
|
-
// about the client having uploaded those missing blocks.
|
2902
|
-
repeated NewBlock new_blocks = 2;
|
2903
|
-
|
2904
2899
|
// If set to true, prevent overwriting existing files. (Note that we don't
|
2905
2900
|
// allow overwriting existing directories with uploaded files regardless.)
|
2906
|
-
bool disallow_overwrite_existing_files =
|
2901
|
+
bool disallow_overwrite_existing_files = 2;
|
2907
2902
|
|
2908
2903
|
message File {
|
2909
2904
|
// Destination path of the file to be uploaded, including any parent dirs
|
@@ -2913,22 +2908,22 @@ message VolumePutFiles2Request {
|
|
2913
2908
|
// The total size of the file, in bytes.
|
2914
2909
|
uint64 size = 2;
|
2915
2910
|
|
2916
|
-
//
|
2917
|
-
|
2918
|
-
repeated bytes blocks_sha256 = 3;
|
2911
|
+
// The blocks, in units of 8MiB, that this file consists of.
|
2912
|
+
repeated Block blocks = 3;
|
2919
2913
|
}
|
2920
2914
|
|
2921
|
-
message
|
2922
|
-
//
|
2923
|
-
|
2924
|
-
|
2925
|
-
|
2926
|
-
|
2927
|
-
|
2928
|
-
//
|
2929
|
-
//
|
2930
|
-
//
|
2931
|
-
|
2915
|
+
message Block {
|
2916
|
+
// The SHA256 digest of the contents of this block, in raw (ie. 32 bytes)
|
2917
|
+
// form for compactness.
|
2918
|
+
bytes contents_sha256 = 1;
|
2919
|
+
|
2920
|
+
// From a previous call to `VolumePutFiles2`, we might have gotten a
|
2921
|
+
// response indicating that this block was missing.
|
2922
|
+
//
|
2923
|
+
// For such a block, this field contains the raw bytes of the body that
|
2924
|
+
// was returned from the HTTP PUT request when the client made a request
|
2925
|
+
// for the `put_url` returned in the previous `VolumePutFiles2Response`.
|
2926
|
+
optional bytes put_response = 2;
|
2932
2927
|
}
|
2933
2928
|
}
|
2934
2929
|
|
@@ -2947,8 +2942,8 @@ message VolumePutFiles2Response {
|
|
2947
2942
|
// Index of the file in the original `files` field of the request.
|
2948
2943
|
uint64 file_index = 1;
|
2949
2944
|
|
2950
|
-
// The index of the block in the original
|
2951
|
-
//
|
2945
|
+
// The index of the block in the original `files[file_index].blocks` of the
|
2946
|
+
// request.
|
2952
2947
|
uint64 block_index = 2;
|
2953
2948
|
|
2954
2949
|
// Make a HTTP PUT request to this endpoint with the blocks' contents as
|