modal 1.0.4.dev10__py3-none-any.whl → 1.0.5__py3-none-any.whl

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 (67) hide show
  1. modal/_clustered_functions.pyi +13 -3
  2. modal/_functions.py +84 -46
  3. modal/_partial_function.py +1 -1
  4. modal/_runtime/container_io_manager.pyi +222 -40
  5. modal/_runtime/execution_context.pyi +60 -6
  6. modal/_serialization.py +25 -2
  7. modal/_tunnel.pyi +380 -12
  8. modal/_utils/async_utils.py +1 -1
  9. modal/_utils/blob_utils.py +56 -19
  10. modal/_utils/function_utils.py +33 -7
  11. modal/_utils/grpc_utils.py +11 -4
  12. modal/app.py +5 -5
  13. modal/app.pyi +658 -48
  14. modal/cli/run.py +2 -1
  15. modal/client.pyi +224 -36
  16. modal/cloud_bucket_mount.pyi +192 -4
  17. modal/cls.py +57 -16
  18. modal/cls.pyi +442 -34
  19. modal/container_process.pyi +103 -14
  20. modal/dict.py +4 -4
  21. modal/dict.pyi +453 -51
  22. modal/environments.pyi +41 -9
  23. modal/exception.py +6 -2
  24. modal/experimental/__init__.py +90 -0
  25. modal/experimental/ipython.py +11 -7
  26. modal/file_io.pyi +236 -45
  27. modal/functions.pyi +573 -65
  28. modal/gpu.py +1 -1
  29. modal/image.py +1 -1
  30. modal/image.pyi +1256 -74
  31. modal/io_streams.py +8 -4
  32. modal/io_streams.pyi +348 -38
  33. modal/mount.pyi +261 -31
  34. modal/network_file_system.py +3 -3
  35. modal/network_file_system.pyi +307 -26
  36. modal/object.pyi +48 -9
  37. modal/parallel_map.py +93 -19
  38. modal/parallel_map.pyi +160 -15
  39. modal/partial_function.pyi +255 -14
  40. modal/proxy.py +1 -1
  41. modal/proxy.pyi +28 -3
  42. modal/queue.py +4 -4
  43. modal/queue.pyi +447 -30
  44. modal/runner.pyi +160 -22
  45. modal/sandbox.py +8 -7
  46. modal/sandbox.pyi +310 -50
  47. modal/schedule.py +1 -1
  48. modal/secret.py +2 -2
  49. modal/secret.pyi +164 -15
  50. modal/snapshot.pyi +25 -4
  51. modal/token_flow.pyi +28 -8
  52. modal/volume.py +41 -4
  53. modal/volume.pyi +693 -59
  54. {modal-1.0.4.dev10.dist-info → modal-1.0.5.dist-info}/METADATA +3 -3
  55. {modal-1.0.4.dev10.dist-info → modal-1.0.5.dist-info}/RECORD +67 -67
  56. modal_proto/api.proto +57 -0
  57. modal_proto/api_grpc.py +48 -0
  58. modal_proto/api_pb2.py +874 -780
  59. modal_proto/api_pb2.pyi +198 -9
  60. modal_proto/api_pb2_grpc.py +100 -0
  61. modal_proto/api_pb2_grpc.pyi +32 -0
  62. modal_proto/modal_api_grpc.py +3 -0
  63. modal_version/__init__.py +1 -1
  64. {modal-1.0.4.dev10.dist-info → modal-1.0.5.dist-info}/WHEEL +0 -0
  65. {modal-1.0.4.dev10.dist-info → modal-1.0.5.dist-info}/entry_points.txt +0 -0
  66. {modal-1.0.4.dev10.dist-info → modal-1.0.5.dist-info}/licenses/LICENSE +0 -0
  67. {modal-1.0.4.dev10.dist-info → modal-1.0.5.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.4.dev10
3
+ Version: 1.0.5
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -19,10 +19,10 @@ License-File: LICENSE
19
19
  Requires-Dist: aiohttp
20
20
  Requires-Dist: certifi
21
21
  Requires-Dist: click~=8.1.0
22
- Requires-Dist: grpclib==0.4.7
22
+ Requires-Dist: grpclib<0.4.9,>=0.4.7
23
23
  Requires-Dist: protobuf!=4.24.0,<7.0,>=3.19
24
24
  Requires-Dist: rich>=12.0.0
25
- Requires-Dist: synchronicity~=0.9.14
25
+ Requires-Dist: synchronicity~=0.9.15
26
26
  Requires-Dist: toml
27
27
  Requires-Dist: typer>=0.9
28
28
  Requires-Dist: types-certifi
@@ -1,105 +1,105 @@
1
1
  modal/__init__.py,sha256=1131svUxi876UMFC6Z68qe5Z031ZfZ9NrduvGwHphj8,2710
2
2
  modal/__main__.py,sha256=sTJcc9EbDuCKSwg3tL6ZckFw9WWdlkXW8mId1IvJCNc,2846
3
3
  modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
4
- modal/_clustered_functions.pyi,sha256=2aWxN2v5WUnj-R-sk6BzJ-3AvggkQGQjwhtvbDH3pds,777
4
+ modal/_clustered_functions.pyi,sha256=_QKM87tdYwcALSGth8a0-9qXl02fZK6zMfEGEoYz7eA,1007
5
5
  modal/_container_entrypoint.py,sha256=2Zx9O_EMJg0H77EdnC2vGKs6uFMWwbP1NLFf-qYmWmU,28962
6
- modal/_functions.py,sha256=4UDJaBh5S0A24V5-whnzQGamXxGbKZAk2HWc7jH3rAY,78955
6
+ modal/_functions.py,sha256=weFJszpf_WsL-uEMzrUxNEYmteIczyXYN0za_V9Vf4U,80903
7
7
  modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
8
8
  modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
9
9
  modal/_object.py,sha256=KzzzZoM41UQUiY9TKOrft9BtZKgjWG_ukdlyLGjB4UY,10758
10
10
  modal/_output.py,sha256=LRM9KroHuR7t5pq8iLYjpFz1sQrHYan2kvRDjT6KAw4,26082
11
- modal/_partial_function.py,sha256=RIsKpuJ7FrP8hGSowShwGsAzcEQEwW48AQaTiUku71c,39159
11
+ modal/_partial_function.py,sha256=RqBRBqezecNDK_Ve_X00Oaw5Loub7OaknfoWb7dcgSg,39176
12
12
  modal/_pty.py,sha256=JZfPDDpzqICZqtyPI_oMJf_9w-p_lLNuzHhwhodUXio,1329
13
13
  modal/_resolver.py,sha256=-nolqj_p_mx5czVYj1Mazh2IQWpSMrTOGughVJqYfo8,7579
14
14
  modal/_resources.py,sha256=NMAp0GCLutiZI4GuKSIVnRHVlstoD3hNGUabjTUtzf4,1794
15
- modal/_serialization.py,sha256=iiD1SnSyEYRmZiVCaaWKJC87CamV-rqnyqs91XUjqoo,22971
15
+ modal/_serialization.py,sha256=MiUWk1yYhW2eKEsnD1_RsyDAsPsK0F00AgZONMqsWVA,24045
16
16
  modal/_traceback.py,sha256=IZQzB3fVlUfMHOSyKUgw0H6qv4yHnpyq-XVCNZKfUdA,5023
17
17
  modal/_tunnel.py,sha256=zTBxBiuH1O22tS1OliAJdIsSmaZS8PlnifS_6S5z-mk,6320
18
- modal/_tunnel.pyi,sha256=a4Ea0RQ5jaJB0A4LH9FANGB44ObqkHHGVDV4RwtokzU,1251
18
+ modal/_tunnel.pyi,sha256=rvC7USR2BcKkbZIeCJXwf7-UfGE-LPLjKsGNiK7Lxa4,13366
19
19
  modal/_type_manager.py,sha256=DWjgmjYJuOagw2erin506UUbG2H5UzZCFEekS-7hmfA,9087
20
20
  modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
21
- modal/app.py,sha256=NZ_rJ9TuMfiNiLg8-gOFgufD5flGtXWPHOZI0gdD3hE,46585
22
- modal/app.pyi,sha256=4-b_vbe3lNAqQPcMRpQCEDsE1zsVkQRJGUql9B7HvbM,22659
21
+ modal/app.py,sha256=fCKq3TJ2Y5LB2WKNs6pp_5XECNH5avUL01jQljuoYRU,46603
22
+ modal/app.pyi,sha256=Z6wi_dkXywiaM2rvAvguj2Wgu9ZgPjMSLl1nH1a7EYI,42243
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=OwISJvkgMb-rHm9Gc4i-7YcDgGiZgwJ7F_PzwZH7a6Q,16847
25
- modal/client.pyi,sha256=rX7aILLKNY7gU3DXvvGNT9Hi5IheqO6l0iFjSfDZMCw,8459
25
+ modal/client.pyi,sha256=P_nQ94xay4qs-WCO0QXoFgX9ySiGPgMucAdbzKyCHmc,15003
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
- modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
28
- modal/cls.py,sha256=dBbeARwOWftlKd1cwtM0cHFtQWSWkwVXwVmOV4w0SyI,37907
29
- modal/cls.pyi,sha256=-gSV02T5S1La1dvmHHB_f139nNySk5MeXRSF4yp8z4s,12660
27
+ modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
28
+ modal/cls.py,sha256=s5UhFqNQz34aYOpmMTnlgQMhI7GfN3IkCLNlGXrrW7M,39795
29
+ modal/cls.pyi,sha256=B-Rn4PjcfejAlUIh8pZKx__ysPakVGoeq8xuyiN-HKg,27647
30
30
  modal/config.py,sha256=e8sQ4RgwgJ_45S302vWUWs_wqRlKyEt3tU898RiaDKE,12073
31
31
  modal/container_process.py,sha256=PDvjcyZ6eeN8foKQgR0WJ66Sg3lt7OFhK7Y_Akz6k5w,5846
32
- modal/container_process.pyi,sha256=pPIUxVV_TY4huO2jF5cSSjb6L_EN7Es4xRvuwZ5sa5M,2802
33
- modal/dict.py,sha256=w-Zuk3FXuwkyxKuF1ry86S8j2cvoC8-u4Ga0h-GfV1s,14324
34
- modal/dict.pyi,sha256=RBaQyOd1ABRNN7vIf5L_rv94y7Kq5Qn9IlKHSr4j8N0,8120
32
+ modal/container_process.pyi,sha256=E81Zqa6OZ8k_I5SXHb2xz3Sn4vd9SEKd5gyNSr7nBW8,5428
33
+ modal/dict.py,sha256=7k08gpQA4-UMyfycojq_plaXldzWIdhWAhJs18n-0L8,14305
34
+ modal/dict.pyi,sha256=1Rrrg4ff705m9GD9Mdvg4lg9Mx2EbT7WKHjFVwZS220,20838
35
35
  modal/environments.py,sha256=gHFNLG78bqgizpQ4w_elz27QOqmcgAonFsmLs7NjUJ4,6804
36
- modal/environments.pyi,sha256=4HbI0kywveaUVI7HqDtZ4HphCTGXYi_wie2hz87up5A,3425
37
- modal/exception.py,sha256=2pgq-j8JP-tB3yU2VmYOzn9CsynU9_h8IU_MgqgKegM,5352
36
+ modal/environments.pyi,sha256=9-KtrzAcUe55cCP4020lSUD7-fWS7OPakAHssq4-bro,4219
37
+ modal/exception.py,sha256=RjfKTJH7-Gcf_33BGkvDch-ry1Zx9u6-0QLViNxNTaU,5520
38
38
  modal/file_io.py,sha256=SCBfLk5gRieqdTVlA_f-2YHHtRp7Iy_sA6iR1zPsO3c,21100
39
- modal/file_io.pyi,sha256=IPQsnr5nn5Ci4OdjmRPSI1qi3AYamxWMhpEFNYPKlHM,9436
39
+ modal/file_io.pyi,sha256=_Hm-59MrppfuBYxtzdJkA2Jf9zI5LlbPh_0gURk0_7s,15222
40
40
  modal/file_pattern_matcher.py,sha256=wov-otB5M1oTdrYDtR2_VgacYin2srdtAP4McA1Cqzw,6516
41
41
  modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
42
- modal/functions.pyi,sha256=iqdp5ixtOOlm8bF-QYbD_G8VKqSRt_AVLT7AWjpn6pQ,16236
43
- modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
44
- modal/image.py,sha256=yrI9DCw7GAck3d788GCHJom-_yU55zNu7reNapBhlgE,93284
45
- modal/image.pyi,sha256=2xjB6XOZDtm_chDdd90UoIj8pnDt5hCg6bOmu5fNaA4,25625
46
- modal/io_streams.py,sha256=YDZVQSDv05DeXg5TwcucC9Rj5hQBx2GXdluan9rIUpw,15467
47
- modal/io_streams.pyi,sha256=1UK6kWLREASQfq-wL9wSp5iqjLU0egRZPDn4LXs1PZY,5136
42
+ modal/functions.pyi,sha256=C-vcR7DNCeqb4gIQiooocX_PhgvlvJ8ef4Wt4kqcu_c,34819
43
+ modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
44
+ modal/image.py,sha256=HAFqGvur6IsWp-7fKDJUU1_KzTwBMt6FDmwQCskxCi4,93301
45
+ modal/image.pyi,sha256=RX6R-n1SwmNkJXi7L-BuRcfIU_zZH89kw-L7RWjiGic,67344
46
+ modal/io_streams.py,sha256=FUDpBsVK8isqwyC7DtAcQZhaHlMFSaNZGhYJOg-SFW0,15590
47
+ modal/io_streams.pyi,sha256=5b3b93ztZeR8IpJtNIGffX24QLPgocE4-gAps8y7CKU,13824
48
48
  modal/mount.py,sha256=7gdzBNueSjPsgsdisMv1bv5SncEQyWc6D-YlAbpze3s,35523
49
- modal/mount.pyi,sha256=xuJ3vaz33I9Mk8jxQPjlOxX5NC4WT5rqiazX3faS59U,13630
50
- modal/network_file_system.py,sha256=lgtmHYjzA5gDMx0tysH0-WJB2Ao9JD2W15NyYK2A7_w,14612
51
- modal/network_file_system.pyi,sha256=58DiUqHGlARmI3cz-Yo7IFObKKFIiGh5UIU5JxGNFfc,8333
49
+ modal/mount.pyi,sha256=Q4ryg68yyfgJh4dWqcs4y9jvcF8JArU8tIUZhdjRHac,19613
50
+ modal/network_file_system.py,sha256=i9LhgDXURltOOL0FPwX7pd_BDZOuTaU1TZ2Eet2WlBw,14563
51
+ modal/network_file_system.pyi,sha256=xKVVLn9s7qf8iSnDvPZhXeQx83nKynhiwzvMbYY-S_A,17661
52
52
  modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
53
- modal/object.pyi,sha256=UkR8NQ1jCIaw3hBUPxBRc6vvrOqtV37G_hsW2O5-4wE,5378
53
+ modal/object.pyi,sha256=OT5nnTwPfQx1Uk0GkTQuGXBhznRk1yXGloH4VkTpcPg,6502
54
54
  modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
55
- modal/parallel_map.py,sha256=1SOOUzKGVItv9fP2WvYR5vl49Y5q2GdupsnJMLIUDUw,37434
56
- modal/parallel_map.pyi,sha256=mhYGQmufQEJbjNrX7vNhBS2gUdfBrpmuWNUHth_Dz6U,6140
55
+ modal/parallel_map.py,sha256=uRCIId1C1lHHprG3A5WdWkOBcl2DmlPTAxZAkXUrrow,40765
56
+ modal/parallel_map.pyi,sha256=-t3nZ-SvKEK8_xC4A_AmAq6UVpt4ZFtq7rPnWzHGhfg,10290
57
57
  modal/partial_function.py,sha256=SwuAAj2wj4SO6F6nkSnwNZrczEmm9w9YdlQTHh6hr04,1195
58
- modal/partial_function.pyi,sha256=NFWz1aCAs2B3-GnPf1cTatWRZOLnYpFKCnjP_X9iNRs,6411
59
- modal/proxy.py,sha256=XEjIHzZvbD3UW4YWyDzbDuNFq6hDUxyPPxupl2qwULY,1429
60
- modal/proxy.pyi,sha256=FTTK1g3La8oLf0oXWeoTp1jMVKghzN_2UmESJoLvsn0,396
58
+ modal/partial_function.pyi,sha256=-rhLIgXtLpP5weJw7U4aMcDxtFMwXJ1wf-nncPowUMg,14991
59
+ modal/proxy.py,sha256=NQJJMGo-D2IfmeU0vb10WWaE4oTLcuf9jTeEJvactOg,1446
60
+ modal/proxy.pyi,sha256=yWGWwADCRGrC2w81B7671UTH4Uv3HMZKy5vVqlJUZoA,1417
61
61
  modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- modal/queue.py,sha256=lu-QYW8GTqhZgX0TPTndmltT9uIWgLFV5mKZ_yTfmd4,18829
63
- modal/queue.pyi,sha256=O0f0S5kM1P0GVgzUzgsN0XsI46B9cJem4kkWluFndjM,10632
62
+ modal/queue.py,sha256=NThsdkwSHReuv8as8MVdSxgrJNkOxTckyTCgjVhVUqI,18809
63
+ modal/queue.pyi,sha256=6hQq7BZ519EBKXWZbrUgyis9TZ0DNIByk5QgyIK3F4Y,26642
64
64
  modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
65
65
  modal/runner.py,sha256=VV-PC03waAdSc_tAwpVN427TelOgs-cKeYS2GFeVRuA,24029
66
- modal/runner.pyi,sha256=1AnEu48SUPnLWp3raQ2zJCV5lc85EGLkX2nL0bHWaB0,5162
66
+ modal/runner.pyi,sha256=wdB_ByqIWQdrCz4koBLfBjJ55VHlOEAMFcJ4MRWnlUA,8503
67
67
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
68
- modal/sandbox.py,sha256=j4uQXiXPNKmQ_FyvzT9W9bWsElJOp2Vl--rBqszmCis,36491
69
- modal/sandbox.pyi,sha256=2kCltK5PZwwYBJo70vfV4Ja8Vv_T9BBWJT18am4XA0c,28952
70
- modal/schedule.py,sha256=SdH8jk6S0zoc1bTRVblrVw0zBsNwPlSC2gNpVxMet9g,3061
68
+ modal/sandbox.py,sha256=QLlocUVOEsSYHIGz8jfgNIE9V-Yijh831mSxzsnmfVk,36659
69
+ modal/sandbox.pyi,sha256=hLXcIYcQ_wHng4CcVid_KuAcc2FMkfcugwY9h2nKbQg,37981
70
+ modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
71
71
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
72
- modal/secret.py,sha256=I2z-rgKWl_Ix107d2_Y2OWGXdFOuJ7zMOyDfIOdFI1A,10374
73
- modal/secret.pyi,sha256=NY_dz0UjiYyn4u4LaBZwPP3Ji7SlTLpEyzrYK2sj9HQ,3103
72
+ modal/secret.py,sha256=asy51VMZWUkOUYsPsAMByxVOPj1ntIjOt6a5iOI_xrA,10408
73
+ modal/secret.pyi,sha256=uz7oosqKsydtebVR8oFNJxLzyjraQp1_j_x6N7gkd30,7966
74
74
  modal/serving.py,sha256=3I3WBeVbzZY258u9PXBCW_dZBgypq3OhwBuTVvlgubE,4423
75
75
  modal/serving.pyi,sha256=YfixTaWikyYpwhnNxCHMZnDDQiPmV1xJ87QF91U_WGU,1924
76
76
  modal/snapshot.py,sha256=E3oxYQkYVRB_LeFBfmUV1Y6vHz8-azXJfC4x7A1QKnI,1455
77
- modal/snapshot.pyi,sha256=dIEBdTPb7O3VwkQ8TMPjfyU17RLuS9i0DnACxxHy8X4,676
77
+ modal/snapshot.pyi,sha256=0q83hlmWxAhDu8xwZyL5VmYh0i8Tigf7S60or2k30L8,1682
78
78
  modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
79
79
  modal/token_flow.py,sha256=0_4KabXKsuE4OXTJ1OuLOtA-b1sesShztMZkkRFK7tA,7605
80
- modal/token_flow.pyi,sha256=ILbRv6JsZq-jK8jcJM7eB74e0PsbzwBm7hyPcV9lBlQ,2121
81
- modal/volume.py,sha256=IFObO-sJMbiet9dqWOaHz__6WNt5R0TtrrUWSukQP7E,43030
82
- modal/volume.pyi,sha256=Os4MESmmUPkLF5jOW6nbrozMILDh6Uzb1VB_nLm-pLQ,19242
80
+ modal/token_flow.pyi,sha256=eirYjyqbRiT3GCKMIPHJPpkvBTu8WxDKqSHehWaJI_4,2533
81
+ modal/volume.py,sha256=r-FqBqCQ7IriRhFIGMtKea2WjYH0ZOlK2pbKmvbv9YQ,44235
82
+ modal/volume.pyi,sha256=v9nimayuW6Bn5Z1C33jPjWDgOvpLXGaZiR3cya2sLuA,40703
83
83
  modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
84
84
  modal/_runtime/asgi.py,sha256=_2xSTsDD27Cit7xnMs4lzkJA2wzer2_N4Oa3BkXFzVA,22521
85
85
  modal/_runtime/container_io_manager.py,sha256=qKYtd52I0JAmiw1Wfy_EQXHuHsbmt-XwLqKDLBhWrZc,44289
86
- modal/_runtime/container_io_manager.pyi,sha256=OKvrccBxawjF0PHZuN5eXeh266fS7qZH8yAIG0P02cY,16349
86
+ modal/_runtime/container_io_manager.pyi,sha256=coh_qkm5LFKLOACYBaWAKKzzmbMTEY4E5K0wfcTDlGQ,22874
87
87
  modal/_runtime/execution_context.py,sha256=73Y5zH_o-MhVCrkJXakYVlFkKqCa2CWvqoHjOfJrJGg,3034
88
- modal/_runtime/execution_context.pyi,sha256=AlRGyocfQlb4UpEuI_VmRRtvaBTbhjgyKSRFUePi8J0,667
88
+ modal/_runtime/execution_context.pyi,sha256=IFcW1jphqTchX4fy-45rqfz91RhkZPWtIhIvLvGsNGM,2294
89
89
  modal/_runtime/gpu_memory_snapshot.py,sha256=HXgqPHQj0LARhmie_h62V95L-M2R1Kg21INUm_IStn8,7574
90
90
  modal/_runtime/telemetry.py,sha256=T1RoAGyjBDr1swiM6pPsGRSITm7LI5FDK18oNXxY08U,5163
91
91
  modal/_runtime/user_code_imports.py,sha256=78wJyleqY2RVibqcpbDQyfWVBVT9BjyHPeoV9WdwV5Y,17720
92
92
  modal/_utils/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
93
93
  modal/_utils/app_utils.py,sha256=88BT4TPLWfYAQwKTHcyzNQRHg8n9B-QE2UyJs96iV-0,108
94
- modal/_utils/async_utils.py,sha256=wgOSjofVaQAyP8Oq_xTSET5mYP5Y5W_eaQCPmE63xRA,29321
95
- modal/_utils/blob_utils.py,sha256=IexC2Jbtqp_Tkmy62ayfgzTYte0UPCNufB_v-DO21g8,18585
94
+ modal/_utils/async_utils.py,sha256=MhSCsCL8GqIVFWoHubU_899IH-JBZAiiqadG9Wri2l4,29361
95
+ modal/_utils/blob_utils.py,sha256=uT_MlcYgS_Qo0EsuQw200_HQdsyNAkWbBe8K1YBrUsw,19838
96
96
  modal/_utils/bytes_io_segment_payload.py,sha256=vaXPq8b52-x6G2hwE7SrjS58pg_aRm7gV3bn3yjmTzQ,4261
97
97
  modal/_utils/deprecation.py,sha256=EXP1beU4pmEqEzWMLw6E3kUfNfpmNA_VOp6i0EHi93g,4856
98
98
  modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
99
- modal/_utils/function_utils.py,sha256=bhrjyOHPPXm6fAyJx3bzI1Yh56j6xh8eeMSFKdAWrHQ,26978
99
+ modal/_utils/function_utils.py,sha256=7rFHglocBOUEmbZDEwgVAA2pnhq-7JHcpppQmgAZLoQ,27907
100
100
  modal/_utils/git_utils.py,sha256=qtUU6JAttF55ZxYq51y55OR58B0tDPZsZWK5dJe6W5g,3182
101
101
  modal/_utils/grpc_testing.py,sha256=H1zHqthv19eGPJz2HKXDyWXWGSqO4BRsxah3L5Xaa8A,8619
102
- modal/_utils/grpc_utils.py,sha256=xSFosSJYQ4m6cH9WtChcSXqsnyk6DMeVvOHI4N3914g,10922
102
+ modal/_utils/grpc_utils.py,sha256=aFDJIK3Idn9r0iqLRmQqCKsPhRCueyeaA64mZUvDNKA,11118
103
103
  modal/_utils/hash_utils.py,sha256=zg3J6OGxTFGSFri1qQ12giDz90lWk8bzaxCTUCRtiX4,3034
104
104
  modal/_utils/http_utils.py,sha256=yeTFsXYr0rYMEhB7vBP7audG9Uc7OLhzKBANFDZWVt0,2451
105
105
  modal/_utils/jwt_utils.py,sha256=fxH9plyrbAemTbjSsQtzIdDXE9QXxvMC4DiUZ16G0aA,1360
@@ -130,7 +130,7 @@ modal/cli/launch.py,sha256=0_sBu6bv2xJEPWi-rbGS6Ri9ggnkWQvrGlgpYSUBMyY,3097
130
130
  modal/cli/network_file_system.py,sha256=1_BF95WPLHh7x37lr0JBx5nS8NsKXCDZKt0L2F5fHgo,8104
131
131
  modal/cli/profile.py,sha256=0TYhgRSGUvQZ5LH9nkl6iZllEvAjDniES264dE57wOM,3201
132
132
  modal/cli/queues.py,sha256=1OzC9HdCkbNz6twF3US4FZmIhuVRQ01GOfBY42ux61A,4533
133
- modal/cli/run.py,sha256=T-Votd_0t3avdfB0HJ7cvQO6TyLHvzGJhk93FFopAbU,24658
133
+ modal/cli/run.py,sha256=nicjV2Ei-UxH9bcilUPeqlv1b15TSHAermaoaDJVBxc,24678
134
134
  modal/cli/secret.py,sha256=2bngl3Gb6THXkQ2eWZIN9pOHeOFJqiSNo_waUCVYgns,6611
135
135
  modal/cli/token.py,sha256=mxSgOWakXG6N71hQb1ko61XAR9ZGkTMZD-Txn7gmTac,1924
136
136
  modal/cli/utils.py,sha256=9Q7DIUX78-c19zBQNA7EtkgqIFatvHWUVGHwUIeBX_0,3366
@@ -138,8 +138,8 @@ modal/cli/volume.py,sha256=KJ4WKQYjRGsTERkwHE1HcRia9rWzLIDDnlc89QmTLvE,10960
138
138
  modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
139
139
  modal/cli/programs/run_jupyter.py,sha256=44Lpvqk2l3hH-uOkmAOzw60NEsfB5uaRDWDKVshvQhs,2682
140
140
  modal/cli/programs/vscode.py,sha256=KbTAaIXyQBVCDXxXjmBHmKpgXkUw0q4R4KkJvUjCYgk,3380
141
- modal/experimental/__init__.py,sha256=qO5CqJNSIqSRD5WaoN8l1D-qZ7HRSrGzg85BH6hroiI,8410
142
- modal/experimental/ipython.py,sha256=epLUZeDSdE226TH_tU3igRKCiVuQi99mUOrIJ4SemOE,2792
141
+ modal/experimental/__init__.py,sha256=QmoNATdpdn49hiFrXR_upOrrBOWhTiZDPcasb2K7Po8,11475
142
+ modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
143
143
  modal/requirements/2023.12.312.txt,sha256=zWWUVgVQ92GXBKNYYr2-5vn9rlnXcmkqlwlX5u1eTYw,400
144
144
  modal/requirements/2023.12.txt,sha256=OjsbXFkCSdkzzryZP82Q73osr5wxQ6EUzmGcK7twfkA,502
145
145
  modal/requirements/2024.04.txt,sha256=6NnrbIE-mflwMyKyQ0tsWeY8XFE1kSW9oE8DVDoD8QU,544
@@ -147,7 +147,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
147
147
  modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
148
148
  modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
149
149
  modal/requirements/base-images.json,sha256=f1bwyp2UkM844eoO9Qk30gQw_xrMqKpMSeJ6MErXnEk,995
150
- modal-1.0.4.dev10.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
150
+ modal-1.0.5.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
151
151
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
152
152
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
153
153
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -155,13 +155,13 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
155
155
  modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
156
156
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
157
157
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
158
- modal_proto/api.proto,sha256=nwh8RmhypmnFMKQ-WwHolz-1NvKr4JgRSc2As_cZ0JE,96407
159
- modal_proto/api_grpc.py,sha256=iY5o_Tm4VDP-Wa1JgA_NpQa_Y-4FYB_RN9wdSUExjwI,117469
160
- modal_proto/api_pb2.py,sha256=UeQg7ABeXbNCBLcft3pTZtV6EoLMifZ_O_BPxYadm0w,338603
161
- modal_proto/api_pb2.pyi,sha256=QQp5_zlv3j6_v7CaqM4yFKW4xun1yzy4lxwkn4_O3Ew,463819
162
- modal_proto/api_pb2_grpc.py,sha256=NL5prOS_hh_pA1hVvQP_ZRE1w49N-PR8iNPRZ65i6nA,254089
163
- modal_proto/api_pb2_grpc.pyi,sha256=Xxgdcnv1mBnu5_AQxJ6fo0yz7GnqVU0HVObNfZWHVfM,59440
164
- modal_proto/modal_api_grpc.py,sha256=0ir2lnwT3-IgPcAWw98yWMAiqZPkjvNro9UBk4u8hnk,17763
158
+ modal_proto/api.proto,sha256=sK0al62wFEZ04cq-vMWXNrqobPt2FgdjKZ-pBl24BUM,97887
159
+ modal_proto/api_grpc.py,sha256=GYwNovPwj07sOoE8dC-cYZNYDPBOMT3dIkUb62aLrVY,119952
160
+ modal_proto/api_pb2.py,sha256=N3ww7nv2hzgRFEbiggOfzH9nwGn5z1Xqxpx92PPEpBk,345515
161
+ modal_proto/api_pb2.pyi,sha256=rNH5ESCwnrWxE7cHkWOFqzPpBZzXEgV4r3j6ngZ7AGQ,472184
162
+ modal_proto/api_pb2_grpc.py,sha256=YBLQpJSxBVK846jPPRSbbA4acUEqRMBeAUXsgwh_xI8,259277
163
+ modal_proto/api_pb2_grpc.pyi,sha256=4W_ahZAhumFE-ugs8agFWSQoobs6BdjUkiO3BcBX7ew,60735
164
+ modal_proto/modal_api_grpc.py,sha256=D8nUUUId-x98-IzPGWh76ERt5COhdeAd4NtoGL5dBpI,18137
165
165
  modal_proto/modal_options_grpc.py,sha256=qJ1cuwA54oRqrdTyPTbvfhFZYd9HhJKK5UCwt523r3Y,120
166
166
  modal_proto/options.proto,sha256=zp9h5r61ivsp0XwEWwNBsVqNTbRA1VSY_UtN7sEcHtE,549
167
167
  modal_proto/options_grpc.py,sha256=M18X3d-8F_cNYSVM3I25dUTO5rZ0rd-vCCfynfh13Nc,125
@@ -170,10 +170,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
170
170
  modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
171
171
  modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
172
172
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- modal_version/__init__.py,sha256=LNXQQhlCrbhgsIePbjkDp4B4zhO1mSW6NEDtVxtRmu4,121
173
+ modal_version/__init__.py,sha256=THFPssWj8MkdU1XS7_sf6gh8_fkkX6LgkEUSXVIydnU,115
174
174
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
175
- modal-1.0.4.dev10.dist-info/METADATA,sha256=4tXSMwgkVzvte0dFfa9VIzNOYw3u0L4DGTh5oDHfw8U,2455
176
- modal-1.0.4.dev10.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
- modal-1.0.4.dev10.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
- modal-1.0.4.dev10.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
- modal-1.0.4.dev10.dist-info/RECORD,,
175
+ modal-1.0.5.dist-info/METADATA,sha256=izmFuUUlMDCtnuA1Pt5PRfA2YMDQ7TsJCzbfdwa4RtM,2456
176
+ modal-1.0.5.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
177
+ modal-1.0.5.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
178
+ modal-1.0.5.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
179
+ modal-1.0.5.dist-info/RECORD,,
modal_proto/api.proto CHANGED
@@ -647,6 +647,11 @@ message BlobCreateResponse {
647
647
  string upload_url = 1;
648
648
  MultiPartUpload multipart = 3;
649
649
  }
650
+ repeated string blob_ids = 4;
651
+ oneof upload_types_oneof {
652
+ UploadUrlList upload_urls = 5;
653
+ MultiPartUploadList multiparts = 6;
654
+ }
650
655
  }
651
656
 
652
657
  message BlobGetRequest {
@@ -1237,6 +1242,35 @@ message FilesystemRuntimeOutputBatch {
1237
1242
  bool eof = 4;
1238
1243
  }
1239
1244
 
1245
+ message FlashContainerDeregisterRequest {
1246
+ string service_name = 1;
1247
+ }
1248
+
1249
+ message FlashContainerListRequest {
1250
+ string function_id = 1;
1251
+ }
1252
+
1253
+ message FlashContainerListResponse {
1254
+ message Container {
1255
+ string task_id = 1;
1256
+ string host = 2;
1257
+ uint32 port = 3;
1258
+ }
1259
+ repeated Container containers = 1;
1260
+ }
1261
+
1262
+ message FlashContainerRegisterRequest {
1263
+ string service_name = 1; // not used?
1264
+ uint32 priority = 2;
1265
+ uint32 weight = 3;
1266
+ string host = 4;
1267
+ uint32 port = 5;
1268
+ }
1269
+
1270
+ message FlashContainerRegisterResponse {
1271
+ string url = 1;
1272
+ }
1273
+
1240
1274
  message Function {
1241
1275
  string module_name = 1;
1242
1276
  string function_name = 2;
@@ -1391,6 +1425,8 @@ message Function {
1391
1425
  // If set, client deps will be mounted into the container, and are
1392
1426
  // no longer expected to exist in the image itself.
1393
1427
  bool mount_client_dependencies = 82;
1428
+
1429
+ repeated string flash_service_urls = 83;
1394
1430
  }
1395
1431
 
1396
1432
  message FunctionAsyncInvokeRequest {
@@ -1543,6 +1579,8 @@ message FunctionData {
1543
1579
  FunctionSchema function_schema = 32;
1544
1580
 
1545
1581
  map<string, string> experimental_options = 33;
1582
+
1583
+ repeated string flash_service_urls = 34;
1546
1584
  }
1547
1585
 
1548
1586
  message FunctionExtended {
@@ -1678,6 +1716,7 @@ message FunctionHandleMetadata {
1678
1716
  map<string, FunctionHandleMetadata> method_handle_metadata = 44;
1679
1717
  FunctionSchema function_schema = 45;
1680
1718
  optional string input_plane_url = 46;
1719
+ optional string input_plane_region = 47;
1681
1720
  }
1682
1721
 
1683
1722
  message FunctionInput {
@@ -1894,6 +1933,9 @@ message Image {
1894
1933
  bool runtime_debug = 20;
1895
1934
 
1896
1935
  BuildFunction build_function = 21;
1936
+
1937
+ // Build arguments for the image (--build-arg) for ARG substitution in Dockerfile.
1938
+ map<string, string> build_args = 22;
1897
1939
  }
1898
1940
 
1899
1941
  message ImageContextFile {
@@ -2053,6 +2095,10 @@ message MultiPartUpload {
2053
2095
  string completion_url = 3;
2054
2096
  }
2055
2097
 
2098
+ message MultiPartUploadList {
2099
+ repeated MultiPartUpload items = 1;
2100
+ }
2101
+
2056
2102
  message NetworkAccess {
2057
2103
  enum NetworkAccessType {
2058
2104
  UNSPECIFIED = 0;
@@ -2503,6 +2549,7 @@ message SandboxInfo {
2503
2549
  double created_at = 3;
2504
2550
  TaskInfo task_info = 4;
2505
2551
  string app_id = 5;
2552
+ repeated SandboxTag tags = 6; // TODO: Not yet exposed in client library.
2506
2553
 
2507
2554
  reserved 2; // modal.client.Sandbox definition
2508
2555
  }
@@ -2796,6 +2843,7 @@ message TaskInfo {
2796
2843
  modal.client.GenericResult result = 4;
2797
2844
  double enqueued_at = 5;
2798
2845
  string gpu_type = 6;
2846
+ string sandbox_id = 7;
2799
2847
  }
2800
2848
 
2801
2849
  message TaskListRequest {
@@ -2914,6 +2962,10 @@ message TunnelStopResponse {
2914
2962
  bool exists = 1;
2915
2963
  }
2916
2964
 
2965
+ message UploadUrlList {
2966
+ repeated string items = 1;
2967
+ }
2968
+
2917
2969
  message VolumeCommitRequest {
2918
2970
  // NOTE(staffan): Mounting a volume in multiple locations is not supported, so volume_id alone uniquely identifies
2919
2971
  // a volume mount.
@@ -3253,6 +3305,11 @@ service ModalClient {
3253
3305
  rpc EnvironmentList(google.protobuf.Empty) returns (EnvironmentListResponse);
3254
3306
  rpc EnvironmentUpdate(EnvironmentUpdateRequest) returns (EnvironmentListItem);
3255
3307
 
3308
+ // Modal Flash (experimental)
3309
+ rpc FlashContainerDeregister(FlashContainerDeregisterRequest) returns (google.protobuf.Empty);
3310
+ rpc FlashContainerList(FlashContainerListRequest) returns (FlashContainerListResponse);
3311
+ rpc FlashContainerRegister(FlashContainerRegisterRequest) returns (FlashContainerRegisterResponse);
3312
+
3256
3313
  // Functions
3257
3314
  rpc FunctionAsyncInvoke(FunctionAsyncInvokeRequest) returns (FunctionAsyncInvokeResponse);
3258
3315
  rpc FunctionBindParams(FunctionBindParamsRequest) returns (FunctionBindParamsResponse);
modal_proto/api_grpc.py CHANGED
@@ -242,6 +242,18 @@ class ModalClientBase(abc.ABC):
242
242
  async def EnvironmentUpdate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentUpdateRequest, modal_proto.api_pb2.EnvironmentListItem]') -> None:
243
243
  pass
244
244
 
245
+ @abc.abstractmethod
246
+ async def FlashContainerDeregister(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.FlashContainerDeregisterRequest, google.protobuf.empty_pb2.Empty]') -> None:
247
+ pass
248
+
249
+ @abc.abstractmethod
250
+ async def FlashContainerList(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.FlashContainerListRequest, modal_proto.api_pb2.FlashContainerListResponse]') -> None:
251
+ pass
252
+
253
+ @abc.abstractmethod
254
+ async def FlashContainerRegister(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.FlashContainerRegisterRequest, modal_proto.api_pb2.FlashContainerRegisterResponse]') -> None:
255
+ pass
256
+
245
257
  @abc.abstractmethod
246
258
  async def FunctionAsyncInvoke(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.FunctionAsyncInvokeRequest, modal_proto.api_pb2.FunctionAsyncInvokeResponse]') -> None:
247
259
  pass
@@ -968,6 +980,24 @@ class ModalClientBase(abc.ABC):
968
980
  modal_proto.api_pb2.EnvironmentUpdateRequest,
969
981
  modal_proto.api_pb2.EnvironmentListItem,
970
982
  ),
983
+ '/modal.client.ModalClient/FlashContainerDeregister': grpclib.const.Handler(
984
+ self.FlashContainerDeregister,
985
+ grpclib.const.Cardinality.UNARY_UNARY,
986
+ modal_proto.api_pb2.FlashContainerDeregisterRequest,
987
+ google.protobuf.empty_pb2.Empty,
988
+ ),
989
+ '/modal.client.ModalClient/FlashContainerList': grpclib.const.Handler(
990
+ self.FlashContainerList,
991
+ grpclib.const.Cardinality.UNARY_UNARY,
992
+ modal_proto.api_pb2.FlashContainerListRequest,
993
+ modal_proto.api_pb2.FlashContainerListResponse,
994
+ ),
995
+ '/modal.client.ModalClient/FlashContainerRegister': grpclib.const.Handler(
996
+ self.FlashContainerRegister,
997
+ grpclib.const.Cardinality.UNARY_UNARY,
998
+ modal_proto.api_pb2.FlashContainerRegisterRequest,
999
+ modal_proto.api_pb2.FlashContainerRegisterResponse,
1000
+ ),
971
1001
  '/modal.client.ModalClient/FunctionAsyncInvoke': grpclib.const.Handler(
972
1002
  self.FunctionAsyncInvoke,
973
1003
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1892,6 +1922,24 @@ class ModalClientStub:
1892
1922
  modal_proto.api_pb2.EnvironmentUpdateRequest,
1893
1923
  modal_proto.api_pb2.EnvironmentListItem,
1894
1924
  )
1925
+ self.FlashContainerDeregister = grpclib.client.UnaryUnaryMethod(
1926
+ channel,
1927
+ '/modal.client.ModalClient/FlashContainerDeregister',
1928
+ modal_proto.api_pb2.FlashContainerDeregisterRequest,
1929
+ google.protobuf.empty_pb2.Empty,
1930
+ )
1931
+ self.FlashContainerList = grpclib.client.UnaryUnaryMethod(
1932
+ channel,
1933
+ '/modal.client.ModalClient/FlashContainerList',
1934
+ modal_proto.api_pb2.FlashContainerListRequest,
1935
+ modal_proto.api_pb2.FlashContainerListResponse,
1936
+ )
1937
+ self.FlashContainerRegister = grpclib.client.UnaryUnaryMethod(
1938
+ channel,
1939
+ '/modal.client.ModalClient/FlashContainerRegister',
1940
+ modal_proto.api_pb2.FlashContainerRegisterRequest,
1941
+ modal_proto.api_pb2.FlashContainerRegisterResponse,
1942
+ )
1895
1943
  self.FunctionAsyncInvoke = grpclib.client.UnaryUnaryMethod(
1896
1944
  channel,
1897
1945
  '/modal.client.ModalClient/FunctionAsyncInvoke',