truefoundry 0.4.0rc1__py3-none-any.whl → 0.4.0rc3__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.

Potentially problematic release.


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

Files changed (83) hide show
  1. truefoundry/__init__.py +2 -0
  2. truefoundry/autodeploy/agents/developer.py +1 -1
  3. truefoundry/autodeploy/agents/project_identifier.py +2 -2
  4. truefoundry/autodeploy/agents/tester.py +1 -1
  5. truefoundry/autodeploy/cli.py +1 -1
  6. truefoundry/autodeploy/tools/list_files.py +1 -1
  7. truefoundry/{deploy/lib/auth → common}/auth_service_client.py +50 -40
  8. truefoundry/common/constants.py +12 -0
  9. truefoundry/{deploy/lib/auth → common}/credential_file_manager.py +7 -7
  10. truefoundry/{deploy/lib/auth → common}/credential_provider.py +9 -12
  11. truefoundry/{ml/services → common}/entities.py +57 -41
  12. truefoundry/common/exceptions.py +12 -0
  13. truefoundry/common/request_utils.py +36 -8
  14. truefoundry/common/servicefoundry_client.py +91 -0
  15. truefoundry/common/utils.py +56 -0
  16. truefoundry/deploy/auto_gen/models.py +4 -6
  17. truefoundry/deploy/cli/cli.py +2 -0
  18. truefoundry/deploy/cli/commands/apply_command.py +1 -1
  19. truefoundry/deploy/cli/commands/build_command.py +1 -1
  20. truefoundry/deploy/cli/commands/deploy_command.py +1 -1
  21. truefoundry/deploy/cli/commands/login_command.py +2 -2
  22. truefoundry/deploy/cli/commands/patch_application_command.py +1 -1
  23. truefoundry/deploy/cli/commands/patch_command.py +1 -1
  24. truefoundry/deploy/cli/commands/terminate_comand.py +1 -1
  25. truefoundry/deploy/cli/util.py +1 -1
  26. truefoundry/deploy/function_service/remote/remote.py +1 -1
  27. truefoundry/deploy/lib/auth/servicefoundry_session.py +2 -2
  28. truefoundry/deploy/lib/clients/servicefoundry_client.py +120 -150
  29. truefoundry/deploy/lib/const.py +1 -35
  30. truefoundry/deploy/lib/exceptions.py +0 -11
  31. truefoundry/deploy/lib/model/entity.py +1 -112
  32. truefoundry/deploy/lib/session.py +13 -26
  33. truefoundry/deploy/lib/util.py +0 -37
  34. truefoundry/deploy/v2/lib/deploy.py +3 -3
  35. truefoundry/deploy/v2/lib/deployable_patched_models.py +1 -1
  36. truefoundry/ml/__init__.py +0 -9
  37. truefoundry/ml/artifact/truefoundry_artifact_repo.py +63 -22
  38. truefoundry/ml/autogen/client/__init__.py +0 -3
  39. truefoundry/ml/autogen/client/api/experiments_api.py +0 -165
  40. truefoundry/ml/autogen/client/models/__init__.py +0 -3
  41. truefoundry/ml/autogen/client/models/artifact_dto.py +6 -6
  42. truefoundry/ml/autogen/client/models/artifact_version_dto.py +8 -8
  43. truefoundry/ml/autogen/client/models/create_artifact_response_dto.py +2 -3
  44. truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py +2 -3
  45. truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py +2 -2
  46. truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py +2 -3
  47. truefoundry/ml/autogen/client/models/create_run_request_dto.py +5 -5
  48. truefoundry/ml/autogen/client/models/create_run_response_dto.py +2 -3
  49. truefoundry/ml/autogen/client/models/dataset_dto.py +10 -10
  50. truefoundry/ml/autogen/client/models/experiment_dto.py +18 -18
  51. truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py +2 -3
  52. truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py +4 -5
  53. truefoundry/ml/autogen/client/models/model_dto.py +6 -6
  54. truefoundry/ml/autogen/client/models/model_version_dto.py +15 -8
  55. truefoundry/ml/autogen/client/models/run_info_dto.py +10 -10
  56. truefoundry/ml/autogen/client/models/update_run_response_dto.py +2 -3
  57. truefoundry/ml/autogen/client_README.md +0 -2
  58. truefoundry/ml/clients/entities.py +8 -0
  59. truefoundry/ml/{services/servicefoundry_service.py → clients/servicefoundry_client.py} +20 -10
  60. truefoundry/ml/{services → clients}/utils.py +2 -2
  61. truefoundry/ml/entities.py +62 -0
  62. truefoundry/ml/env_vars.py +1 -5
  63. truefoundry/ml/internal_namespace.py +8 -8
  64. truefoundry/ml/log_types/artifacts/artifact.py +7 -3
  65. truefoundry/ml/log_types/artifacts/dataset.py +5 -4
  66. truefoundry/ml/log_types/artifacts/model.py +8 -25
  67. truefoundry/ml/log_types/image/image.py +7 -8
  68. truefoundry/ml/log_types/image/image_normalizer.py +7 -6
  69. truefoundry/ml/mlfoundry_api.py +10 -55
  70. truefoundry/ml/mlfoundry_run.py +6 -41
  71. truefoundry/ml/run_utils.py +1 -10
  72. truefoundry/ml/session.py +14 -117
  73. truefoundry/pydantic_v1.py +1 -1
  74. truefoundry/workflow/__init__.py +16 -1
  75. {truefoundry-0.4.0rc1.dist-info → truefoundry-0.4.0rc3.dist-info}/METADATA +1 -1
  76. {truefoundry-0.4.0rc1.dist-info → truefoundry-0.4.0rc3.dist-info}/RECORD +79 -77
  77. truefoundry/deploy/lib/clients/utils.py +0 -41
  78. truefoundry/ml/autogen/client/models/backfill_default_storage_integration_id_request_dto.py +0 -67
  79. truefoundry/ml/login.py +0 -241
  80. truefoundry/ml/services/auth_service.py +0 -109
  81. /truefoundry/ml/{services → clients}/__init__.py +0 -0
  82. {truefoundry-0.4.0rc1.dist-info → truefoundry-0.4.0rc3.dist-info}/WHEEL +0 -0
  83. {truefoundry-0.4.0rc1.dist-info → truefoundry-0.4.0rc3.dist-info}/entry_points.txt +0 -0
@@ -1,11 +1,11 @@
1
- truefoundry/__init__.py,sha256=WFspBK4kl1ApJGf0mmHE4ab4-pi9iPa69sZyRE6kaD4,50
1
+ truefoundry/__init__.py,sha256=jynqfY0pDmcaXlxewDnMQC5CYAIW9JFjptBrw7y76rY,81
2
2
  truefoundry/autodeploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  truefoundry/autodeploy/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  truefoundry/autodeploy/agents/base.py,sha256=woCry229x7WX0IZmBopW_e_NB76aCLQRLXZBs2QBklk,6405
5
- truefoundry/autodeploy/agents/developer.py,sha256=u1BfjaMDX6Ad32vWYOEFZPWFK33ux0Ro8JztrRAFviY,4126
6
- truefoundry/autodeploy/agents/project_identifier.py,sha256=JVaBUI_u4IVuohzYyEqojYUzKBxKkSXyqPnzzh-prJA,4504
7
- truefoundry/autodeploy/agents/tester.py,sha256=9WSVU2MNiamdUNJYrHXDcEq_Q544LSElJ6Nt3XkJ8TU,2402
8
- truefoundry/autodeploy/cli.py,sha256=nReMRVwVkE1jqtZe4E5cs-fk3S-rleLvsThYtxsvHsI,14223
5
+ truefoundry/autodeploy/agents/developer.py,sha256=Fh-EJDT3wPwCPYsrxRNtanyKMiZxhK73LHb-5Kpmh0A,4127
6
+ truefoundry/autodeploy/agents/project_identifier.py,sha256=dm1A6MHNA-0Sc48y7dYpSA7e4uvw3Wi8AADSs-JcOZs,4505
7
+ truefoundry/autodeploy/agents/tester.py,sha256=Hp1bul8Xd6qZPdUDUPqQwwHF7bsPQ5tK7x6gaBuX0NI,2403
8
+ truefoundry/autodeploy/cli.py,sha256=GkUuiMqtg8U8qachhA3-YgQVUH1PxM6m6yjIwoXuHWg,14222
9
9
  truefoundry/autodeploy/constants.py,sha256=vTh2nA7cjqghqbW2rNh3FbtcIk2scdAWZuuQCmVBO80,1273
10
10
  truefoundry/autodeploy/exception.py,sha256=fa_ZyTDUKiMKG2Uayynk1yWcEMsuVluqk2GtV4tfTPU,158
11
11
  truefoundry/autodeploy/logger.py,sha256=tkV2UKcOTFl5nz0cn4eRbzxF-2CZd8b7MK9vnhaflYw,325
@@ -16,7 +16,7 @@ truefoundry/autodeploy/tools/commit.py,sha256=bB5kqAY5rEvfc7ZHtdueXusGznAbk58xqv
16
16
  truefoundry/autodeploy/tools/docker_build.py,sha256=TwSvmxrjBkI7PcPhjIzsc8oTA6fWzPIIpkMv2zMpb-E,4000
17
17
  truefoundry/autodeploy/tools/docker_run.py,sha256=8skvqF9zmZSIBbWkmJsmOyQRVz8ttw1SVjPhjGwDq24,5061
18
18
  truefoundry/autodeploy/tools/file_type_counts.py,sha256=RAiArWx2q1WBALJq6LKN8XMrtwecZiQrD6VtAdmTuvE,2354
19
- truefoundry/autodeploy/tools/list_files.py,sha256=p7vvLMWtNu9X1K29Hy4i3i_UzW4cOlu7OkQeY67QLSw,2643
19
+ truefoundry/autodeploy/tools/list_files.py,sha256=mBhpnL0zY3Va2RM8Uuap-2G5Z-QPelSKp6O38K4DbGI,2642
20
20
  truefoundry/autodeploy/tools/read_file.py,sha256=uejLuCB9Tjki0-Ud_mk5fuo9nmKRHYHYqqzCTE1nuyo,2254
21
21
  truefoundry/autodeploy/tools/send_request.py,sha256=0Si6tdNEK152GUUkLPKKfV6K5vaS8kPw2FKIstRJKAA,1688
22
22
  truefoundry/autodeploy/tools/write_file.py,sha256=EcYetnJ4X-NWsd_CdYUKfOnAdz2XXiRukTzJfb_GzFs,3130
@@ -26,9 +26,17 @@ truefoundry/autodeploy/utils/pydantic_compat.py,sha256=hEAUy5kLjhPdzw7yGZ2iXGMXb
26
26
  truefoundry/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  truefoundry/cli/__main__.py,sha256=-NkhYlT3mC5MhtekueKAvCw-sWvguj0LJRpXWzvvFjc,727
28
28
  truefoundry/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- truefoundry/common/request_utils.py,sha256=UTeEbNzSswelwqnV3mAFRh8CAuKVGnKhSvQ8chN3Bv0,1827
29
+ truefoundry/common/auth_service_client.py,sha256=upUTo6VODAaOKtszCQZNWnPpRT8CEhpCq9RLBJ0RrRY,7840
30
+ truefoundry/common/constants.py,sha256=kHP5ebp7EMfEYaOC-K8T_XPfYi7mXttYgrXYS8bOgkg,359
31
+ truefoundry/common/credential_file_manager.py,sha256=MRn5h9Gm4pxZEF_XT-_b2agMBiqyw0o2SLpq9ty_1lY,4255
32
+ truefoundry/common/credential_provider.py,sha256=UHr3tH39wGjhC3XdRUdgW7IZeh0cHSIEYJMVO8B4eyw,4107
33
+ truefoundry/common/entities.py,sha256=FB7tcOl3oBKX_q5IkvQJYLAIv5WmRrgUSubDx_6fxzc,3771
34
+ truefoundry/common/exceptions.py,sha256=ePpiQ_zmWe4e94gOgeMiyP_AZnKwjEBfyXsB5ScGYcI,329
35
+ truefoundry/common/request_utils.py,sha256=-ss8033PClJOMJuS5Ue1zCFRVK7ZW9vjtva1b5G9uok,2849
36
+ truefoundry/common/servicefoundry_client.py,sha256=ornmmhjSY2y-NJeBcoHPKxX3q9Z9XilcHERFSFk-dSU,2886
37
+ truefoundry/common/utils.py,sha256=DbyLQM4WiKxzIStg2Ekv7fLs8amZR0HtsF75uqy8tMc,1741
30
38
  truefoundry/deploy/__init__.py,sha256=ugawKF2G02EmEXX35oZ2tec12d9oWN28Sf6mtGGIERY,2281
31
- truefoundry/deploy/auto_gen/models.py,sha256=YhvSvYruchLu4jx9UgKUUWJRekgbdEfVHLhdAkbvHMw,79990
39
+ truefoundry/deploy/auto_gen/models.py,sha256=I4-tV2V74mljN7lH606pCD5LArK6MvND_i7Vt_aRI5Q,79952
32
40
  truefoundry/deploy/builder/__init__.py,sha256=a1qR6nicHGcxRaeNTxWRsmDs8zsmXc7j13-I8q0qqVk,4938
33
41
  truefoundry/deploy/builder/builders/__init__.py,sha256=tlFLXqyDaKLd4iZbo4Hcu_8gOmgtL6drnXpbmQ6x1P8,636
34
42
  truefoundry/deploy/builder/builders/dockerfile.py,sha256=AXXTziCkaqIhuM_bwyD1vT1znOwemN1TKgU7eyo-KuM,1522
@@ -38,29 +46,29 @@ truefoundry/deploy/builder/builders/tfy_python_buildpack/__init__.py,sha256=n7Mw
38
46
  truefoundry/deploy/builder/builders/tfy_python_buildpack/dockerfile_template.py,sha256=vFmFeK38-t8booJEGREapEjrIL8xnyOQeRSJQq7d3ZQ,6183
39
47
  truefoundry/deploy/builder/docker_service.py,sha256=vQS15790njzlFJZ3JW6txYLBdT11ltxqqpf78ZFL_Ng,5208
40
48
  truefoundry/deploy/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- truefoundry/deploy/cli/cli.py,sha256=3kECntNXNIYFIAud68THiqRFbm6_rR2qz7F-URlaWPQ,2739
49
+ truefoundry/deploy/cli/cli.py,sha256=o19n7MsMzXXXG3GlpRYaxX3l9Xvtof-iPK4-y31Dw9k,2811
42
50
  truefoundry/deploy/cli/commands/__init__.py,sha256=oOstv608ueOJTxR3qlQbZBIdo-FsFe2O0NYNOXi01-s,1276
43
- truefoundry/deploy/cli/commands/apply_command.py,sha256=Xzky2csXwLARTpQBcPj87imnDu8tIDRN0GnqY8ebEuw,1863
44
- truefoundry/deploy/cli/commands/build_command.py,sha256=QwKkZ3nVecPMzs-R57YP-_ih9rjTSnhwBWX5tqHVsvU,1255
51
+ truefoundry/deploy/cli/commands/apply_command.py,sha256=FdTeuyOPEoPSU6GP_aQGNOJV0S0rm7PkxrAlXiNvoX8,1864
52
+ truefoundry/deploy/cli/commands/build_command.py,sha256=DQ7NARgkIgV4z0Zdnl3zMDKU_fSkN5-FkjCQypgmWpo,1255
45
53
  truefoundry/deploy/cli/commands/build_logs_command.py,sha256=WrPOlFec_wwuzdJmKZ8mjca-oFVvxgfblcqj2LlhWJA,2804
46
54
  truefoundry/deploy/cli/commands/create_command.py,sha256=ZjA4EP1jHYuVE1zx0kN-giBr3y0sEiXnu8xMsNyD2Rg,1850
47
55
  truefoundry/deploy/cli/commands/delete_command.py,sha256=4tyIameA1pVu9uZZNJPK6rqdV-cJogf51iCCrG-9noI,2390
48
- truefoundry/deploy/cli/commands/deploy_command.py,sha256=SpCd_1OxA8ZEUyJ6Jkf5Ay8UNakCCLGR--svMHp9EEM,2858
56
+ truefoundry/deploy/cli/commands/deploy_command.py,sha256=f3Bd0EClT4y6Eahw0pX2MFKiRD29j5kHlWVK5rbvK20,2858
49
57
  truefoundry/deploy/cli/commands/get_command.py,sha256=w7h5C4bJpmHJ99rgiGg9J_X0xi8aZUeB6Q-SoZUV1tg,5979
50
58
  truefoundry/deploy/cli/commands/list_command.py,sha256=cFARY22L5xspBX7TWsx41IF4RiRMok7KBwv7hQRFXNs,4498
51
- truefoundry/deploy/cli/commands/login_command.py,sha256=Kin6ZdmeADvXOGA08M5_t1MwMnu3QEUfjz1seJurstw,1032
59
+ truefoundry/deploy/cli/commands/login_command.py,sha256=WV4Ad8PJ2_yNfCJi1VWW2GNwU6khZ2sWZbKebxJ7oVM,1038
52
60
  truefoundry/deploy/cli/commands/logout_command.py,sha256=hgw6LhJtF3xJ6YyQ_VrBuUWY0WmT8tPYbOEOhMu1eXU,550
53
61
  truefoundry/deploy/cli/commands/logs_command.py,sha256=fQSY4o_B78WEJDD5qULWPFQJsCXLJLTr0RI1QjmX1WE,4154
54
- truefoundry/deploy/cli/commands/patch_application_command.py,sha256=Zuswj36o-qniklOsOjEPUKnd9f5mHv_U7rOPPwALrZ8,2457
55
- truefoundry/deploy/cli/commands/patch_command.py,sha256=OQCmxcn1Qd2iZfBUaqs48oUKjHVZ13SoMsWLhksPvks,1682
62
+ truefoundry/deploy/cli/commands/patch_application_command.py,sha256=M2PR2nk9ToUGwXP7i1DcGKCvPyKdH6BQpowXT2yXkj0,2457
63
+ truefoundry/deploy/cli/commands/patch_command.py,sha256=bwZdBDmLq9tMOGh5Zq2HJZs2QhfxMRJNFRMxwXfBozY,1679
56
64
  truefoundry/deploy/cli/commands/redeploy_command.py,sha256=-wMQLeMcBdJsQBMgTv7rS6hCqH1EJsSKgPrAXU9HjxU,1032
57
- truefoundry/deploy/cli/commands/terminate_comand.py,sha256=RTNuykw5DBvid44u2nCka_Eu0XSK3Qrzwob9fybHLgQ,1097
65
+ truefoundry/deploy/cli/commands/terminate_comand.py,sha256=G1XFUtSebhCB1EOb4bM5v7CaVZs4SYS9X4yLsOt6Ffs,1098
58
66
  truefoundry/deploy/cli/commands/trigger_command.py,sha256=Js6x7-TEuQQN1fTBoILTJiCt76TdH9qpAnkCnei6vYo,4730
59
67
  truefoundry/deploy/cli/config.py,sha256=tf8w4UfVzcC6eYkENvuuCPYt_V3sqVpO1bclORV9tAk,206
60
68
  truefoundry/deploy/cli/console.py,sha256=9-dMy4YPisCJQziRKTg8Qa0UJnOGl1soiUnJjsnLDvE,242
61
69
  truefoundry/deploy/cli/const.py,sha256=dVHPo1uAiDSSMXwXoT2mR5kNQjExT98QNVRz98Hz_Ts,510
62
70
  truefoundry/deploy/cli/display_util.py,sha256=gq8EBdpBMHUzYQp_hxOg9EOYi08FIHgOVFCqXqC2tuo,3044
63
- truefoundry/deploy/cli/util.py,sha256=0bc0jUjfnxLfAblDt4D4DroCw7aTgnxvIvkElBZscDU,3550
71
+ truefoundry/deploy/cli/util.py,sha256=n2-YzdYkyJV1w7XzzWCLtksoaY35I6tM58T_qNpm4vY,3587
64
72
  truefoundry/deploy/core/__init__.py,sha256=j61bMWj4BkWihdssKMSFhieo7afJDtpc7qO7zk1rDB4,140
65
73
  truefoundry/deploy/core/login.py,sha256=N2VrW3nlBzoyoYulkipxwQvCpjBhi3sfsmhxK1ktWhg,236
66
74
  truefoundry/deploy/core/logout.py,sha256=TpWLq4_DsxYS5GX2OJQGDhekNOfiOLb-vO5khQueHXw,80
@@ -71,7 +79,7 @@ truefoundry/deploy/function_service/build.py,sha256=XWB4bIIii76Cwq5UBupt5WUNs6In
71
79
  truefoundry/deploy/function_service/remote/__init__.py,sha256=X1zEW6SSuemydmparLolvQuQSmwXkWUnx516xm3IUaA,199
72
80
  truefoundry/deploy/function_service/remote/context.py,sha256=g6HaHM-w-dcfswJFcu6muYhbyFCJID64XnuPN_c0fXo,67
73
81
  truefoundry/deploy/function_service/remote/method.py,sha256=DLLgtdQcnTmTiAfeX6pvqM57P1UPbO7kF9B-hPugAGo,1867
74
- truefoundry/deploy/function_service/remote/remote.py,sha256=wnwF_9lyfeoO5F_buEFFR1gaDYom3UgHd3IeHcl0M5Y,4202
82
+ truefoundry/deploy/function_service/remote/remote.py,sha256=iz3Rts03atxlD4fmDOuHeGIt8HlXLF1h8OYD7Lp6XZg,4203
75
83
  truefoundry/deploy/function_service/route.py,sha256=Wcn5YacWZXA2XKw98cXbwZLL-AaknLEskybN852LSkk,4513
76
84
  truefoundry/deploy/function_service/service.py,sha256=2RnwTSxVa1f12SSqkWD4Ttj6A9hoWchPIscvfXeX3IQ,4169
77
85
  truefoundry/deploy/function_service/utils.py,sha256=fSF8g19L-fpbaqf91SEB3HNtaJ93SwKC7txqYePhES0,1332
@@ -80,34 +88,30 @@ truefoundry/deploy/io/output_callback.py,sha256=V2YwUFec4G4a67lM4r-x_64AqdOVNo_9
80
88
  truefoundry/deploy/io/rich_output_callback.py,sha256=TJLiRD-EnFVwgcepxR7WN0koKqW1X2DevETPhNPi_nU,829
81
89
  truefoundry/deploy/json_util.py,sha256=x_-7YYQ4_HUIJ8ofOcclAp9JWhgTWjR9Th6Q0FuRqGk,175
82
90
  truefoundry/deploy/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- truefoundry/deploy/lib/auth/auth_service_client.py,sha256=C3sgoDZ2RUijJY_nStqt-BmSwUAdjVa8yAhazOGz710,7386
84
- truefoundry/deploy/lib/auth/credential_file_manager.py,sha256=DXeXWoVakfZI2Geu8Futwef_eVMHrZ1et7d9MIXOhhY,4233
85
- truefoundry/deploy/lib/auth/credential_provider.py,sha256=vgVRsm5TOr0MVxGMNFY9XVZHqnSorygwOk4YgOXe0v8,4120
86
- truefoundry/deploy/lib/auth/servicefoundry_session.py,sha256=2OahwRg-8l3QUwpC2iLA8lHavkeTxKXUP_0AN27HPS8,1859
91
+ truefoundry/deploy/lib/auth/servicefoundry_session.py,sha256=d4M56O_ZftFeDRiyRci11QABU9B1HW2eVOeVIrFvevE,1842
87
92
  truefoundry/deploy/lib/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=nIRaMKw6sqYcwLFFMIRgy6PqT5eru6BlJQqE9evJjL0,26616
93
+ truefoundry/deploy/lib/clients/servicefoundry_client.py,sha256=fgou4wjuWJzqQgW7iatbSCvmstSjY0iUJldQK5vsruE,26018
89
94
  truefoundry/deploy/lib/clients/shell_client.py,sha256=tMrc0Ha1DmGtUCJrZD8eusOzfe8R_WIe6AAH7nxL0xA,461
90
- truefoundry/deploy/lib/clients/utils.py,sha256=rK7DrvA71kSTjy23-Bk4LTQjgViBWeHtcV_SlBLZw6M,1282
91
- truefoundry/deploy/lib/const.py,sha256=Yk_nXeZWzwKs-6hEXDjVDyjwEGh35T5TWaBxyJgP-Zw,1395
95
+ truefoundry/deploy/lib/const.py,sha256=FCQfnO7IecB1ikQHdLGNvvubq_iF900C9l5TJtDfvFc,314
92
96
  truefoundry/deploy/lib/dao/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
97
  truefoundry/deploy/lib/dao/application.py,sha256=uUTFSQkLUrFCtQQgS2Jm9BpyHyhMkN4GI1yx9oJo4_E,9161
94
98
  truefoundry/deploy/lib/dao/apply.py,sha256=sXnQY6RVzLVm1fX2BKuWHAoKlKISirrcByHEhY3x4zo,2570
95
99
  truefoundry/deploy/lib/dao/version.py,sha256=AtdW_4O1DPUKdfv2qy6iUJsZ_95vM6z0AqeEy3WDKs8,1130
96
100
  truefoundry/deploy/lib/dao/workspace.py,sha256=jm8UWytwVajVcrYyHSTCwWYDYl-RHuk0zAf9Caj4GzQ,2356
97
- truefoundry/deploy/lib/exceptions.py,sha256=XmXzPWDInmsTY5VRh5pDtIRLZlD-7dfsd8M20pI58ao,537
101
+ truefoundry/deploy/lib/exceptions.py,sha256=ZT2o3mar3BYtnjKHn2wf4rBGEaFIgf-zkQmzDicg6Ps,236
98
102
  truefoundry/deploy/lib/logs_utils.py,sha256=SQxRv3jDDmgHdOUMhlMaAPGYskybnBUMpst7QU_i_sc,1469
99
103
  truefoundry/deploy/lib/messages.py,sha256=nhp0bCYf_XpUM68hTq5lBY-__vtEyV2uP7NgnJXJ_Vg,925
100
104
  truefoundry/deploy/lib/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- truefoundry/deploy/lib/model/entity.py,sha256=aNiQ7kK_V1kH7C_VC6HP7ibas_9Ohkoqzs-WdTfrrf4,12037
102
- truefoundry/deploy/lib/session.py,sha256=6z_3UYHmJ0TZ6MJgR9WOPg1zZRIn1URdaliTxzHOidg,5324
103
- truefoundry/deploy/lib/util.py,sha256=sNMv9peDU7RTCDaAfyWPpPpCs_WcZGqOvc13Jqx9y6w,2809
105
+ truefoundry/deploy/lib/model/entity.py,sha256=8J8yd98iWtSy8giShdDRNyzbN1UgSXx4XtmZLljdWnE,8552
106
+ truefoundry/deploy/lib/session.py,sha256=e0iA-fWPBzxm5JqT4hnfv4NOpYexbrtRLSWLqqVtFzs,4986
107
+ truefoundry/deploy/lib/util.py,sha256=RlL3bjZu5Z0LU_OKYaMVfcMU8k7_rmkAp89_0CrZDLk,1520
104
108
  truefoundry/deploy/lib/win32.py,sha256=1RcvPTdlOAJ48rt8rCbE2Ufha2ztRqBAE9dueNXArrY,5009
105
109
  truefoundry/deploy/python_deploy_codegen.py,sha256=SoXIyPKLCA-VxUlUKt9ZmSrNPVTzHwZISOSZQNf-nUc,4022
106
110
  truefoundry/deploy/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
111
  truefoundry/deploy/v2/lib/__init__.py,sha256=WEiVMZXOVljzEE3tpGJil14liIn_PCDoACJ6b3tZ6sI,188
108
- truefoundry/deploy/v2/lib/deploy.py,sha256=o0bOpXuYV9-AvyMaTYnPc3Gy3vjeN3ZP7F8r3nFzxjk,12001
112
+ truefoundry/deploy/v2/lib/deploy.py,sha256=HIcY3SzQ5lWl7avuuKi3J0Z-PBES6Sf4hgMK-m6_53U,11990
109
113
  truefoundry/deploy/v2/lib/deploy_workflow.py,sha256=WhlrBuRf7r83qoQdTZSQzHt635fw9D4_qQIqusFWGag,12372
110
- truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=ShEXd-bKFqpEfaTwozwXREFmVhRcUQUKnRqiw5ELKN4,3316
114
+ truefoundry/deploy/v2/lib/deployable_patched_models.py,sha256=MROgMxhn9hDEAKwJSWl3iz12tUVvRKzEtqF2QUT6dAk,3343
111
115
  truefoundry/deploy/v2/lib/models.py,sha256=pSolLMTArDuYpeNsmeeS5DWliloN_iCDfZSpRllMHUg,1120
112
116
  truefoundry/deploy/v2/lib/patched_models.py,sha256=qL3N7y6zf7jywx6uY-yMxsH65NB367V_82o47ZYJt1I,13820
113
117
  truefoundry/deploy/v2/lib/source.py,sha256=VHKuFREiixUP40D3Mrz-TA70spu1M0RbCzl--qwlFaY,9263
@@ -118,15 +122,15 @@ truefoundry/langchain/truefoundry_embeddings.py,sha256=8nRaZ7W1ao1WF0LHk6nNel1Lu
118
122
  truefoundry/langchain/truefoundry_llm.py,sha256=CJXyCgXIMbDsVRuuvEA5PKJsf6aRyVlYuG7zC4qtZXE,3802
119
123
  truefoundry/langchain/utils.py,sha256=PGLDe9chZ3BuUjakexOGpIqZRFoHEgu-zJ9yKdpLLmM,1329
120
124
  truefoundry/logger.py,sha256=7dLqW_Q2rEgo-_z1WZnQbGHaoy1L1MP3NqGgssaSS6o,685
121
- truefoundry/ml/__init__.py,sha256=yXH2IXpdn7YPnaYSHP1amewvdaf88byYuXr6tS-lR9M,1237
125
+ truefoundry/ml/__init__.py,sha256=2A1l7pgqbVRt3cRW_0Lxg92hyJEkMxkCUh1EFprrmc0,942
122
126
  truefoundry/ml/artifact/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
- truefoundry/ml/artifact/truefoundry_artifact_repo.py,sha256=bxvGoGxRgiVz3RTM8ac_623e1x_lI795Wbv2Qhhy07I,43548
127
+ truefoundry/ml/artifact/truefoundry_artifact_repo.py,sha256=aJxvYtzBExUM2m-o3KY7Gt6TnGkAmElfNXleftiCL8k,44930
124
128
  truefoundry/ml/autogen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
- truefoundry/ml/autogen/client/__init__.py,sha256=n6QhfYFhzAkRXRecGz7ubTGKQ3_5Hj15qyVBwAGdwiE,16680
129
+ truefoundry/ml/autogen/client/__init__.py,sha256=9tmMg8M1td9h0zbAAdl8Lla3A33iU1XNMKx6pZj1yzA,16524
126
130
  truefoundry/ml/autogen/client/api/__init__.py,sha256=3sMSljMIS3UHYeF0BcNvrPPx6VbBSRt_1IfDn-13Kyc,752
127
131
  truefoundry/ml/autogen/client/api/auth_api.py,sha256=zpWzJhUmW6HHMY_atlUf0B25k77E1kue2hmix5I5Ih0,7017
128
132
  truefoundry/ml/autogen/client/api/deprecated_api.py,sha256=JCQ39Y3VHdgJ1zM4XVabdTl6QpOHtQFjh04XUb6mN9A,24218
129
- truefoundry/ml/autogen/client/api/experiments_api.py,sha256=7CHkpjbUlixsf5BKu__2OLys3D42cABbOs5icFazbKc,88042
133
+ truefoundry/ml/autogen/client/api/experiments_api.py,sha256=vzlPMzclwk7oD2ekUBInIAHLNO3qCAPF38AAvxfDBSY,80682
130
134
  truefoundry/ml/autogen/client/api/health_api.py,sha256=IAPhRAo9CLUT5ipVR1fCf-qDx57UR0wg5ekhtUl8lug,11554
131
135
  truefoundry/ml/autogen/client/api/metrics_api.py,sha256=q3L38eD-2hu4_9YvcSdnWDYXD2V8il-X9reinOAABek,14908
132
136
  truefoundry/ml/autogen/client/api/mlfoundry_artifacts_api.py,sha256=CzhvDh_ZrsKmVVeX2fqNbfbWkCvosUQhkTEHx2pLGCo,306479
@@ -137,7 +141,7 @@ truefoundry/ml/autogen/client/api_client.py,sha256=8qg-WpadDuKgbRt5yABJ4wVS4IRxd
137
141
  truefoundry/ml/autogen/client/api_response.py,sha256=KRyvecPMXF05PaxILHZ8JHoP4rgKBjKONMgG83aU-rM,844
138
142
  truefoundry/ml/autogen/client/configuration.py,sha256=V1oaEnxt-NfpaNmp-EZpf2glovzVhM2coWYt8HBNB4M,15723
139
143
  truefoundry/ml/autogen/client/exceptions.py,sha256=XbCbDHhYT3BVejdoGNPgEa4oS56ypkwFdxk1iOc_tFY,5355
140
- truefoundry/ml/autogen/client/models/__init__.py,sha256=y1KPHnofaOk8a2yI-_yKqJWXDgI-W8fqZghzakQUaRg,15296
144
+ truefoundry/ml/autogen/client/models/__init__.py,sha256=IS04fIw-KPC87XbVETy7dFS2Exrpm3IMupfBf8E5ym8,15140
141
145
  truefoundry/ml/autogen/client/models/add_custom_metrics_to_model_version_request_dto.py,sha256=_ISDspicTGjBCYYXubKfRYYSSQVyW3AvG-jFh47-Zfc,2163
142
146
  truefoundry/ml/autogen/client/models/add_features_to_model_version_request_dto.py,sha256=rU0h96pEE8K1Ukw2pzDSjq0e6BgtDEuOctI-aZMrpUY,2653
143
147
  truefoundry/ml/autogen/client/models/agent.py,sha256=fnMWdEPe5Iw50WKydtu7QAxU419j3ju1IukpChUnGqY,3871
@@ -145,16 +149,15 @@ truefoundry/ml/autogen/client/models/agent_app.py,sha256=h-0xdTMDE6FPzvksnbhVSXO
145
149
  truefoundry/ml/autogen/client/models/agent_open_api_tool.py,sha256=QotUMmGqAMpNsRFwVoNJHg9OeobimS-Wc9Eb85VRD24,5023
146
150
  truefoundry/ml/autogen/client/models/agent_open_api_tool_with_fqn.py,sha256=8iHIEpGtQJO8QZS66T0FysqKg1VaxJT44hPu_a6zuwE,5121
147
151
  truefoundry/ml/autogen/client/models/agent_with_fqn.py,sha256=_LFRmdT0KNe1CRNBfEt9gFbBvGMiwPInbesHSKrLH-g,3976
148
- truefoundry/ml/autogen/client/models/artifact_dto.py,sha256=jsmnNl9ScDjiky71YIVJpzLAOUNyyGhqVqYOgqMO274,3717
152
+ truefoundry/ml/autogen/client/models/artifact_dto.py,sha256=I-5m316b3wiSxGrgx7dEymTr--Q8u0jIkl53EbeO4ms,3704
149
153
  truefoundry/ml/autogen/client/models/artifact_response_dto.py,sha256=T_HLjkHnqiO1bnSXiCUOlwDEHGz89mlUNhBq0SJTapo,2226
150
154
  truefoundry/ml/autogen/client/models/artifact_type.py,sha256=LBXGYUoesmL5J-0xzCR8jBST3bjb6HY86RmqSGvytRs,828
151
- truefoundry/ml/autogen/client/models/artifact_version_dto.py,sha256=gU5etTFBO2QAHBUHrMf9c-pPjqE9RYmQ93wySlhQBOg,4881
155
+ truefoundry/ml/autogen/client/models/artifact_version_dto.py,sha256=MdpHGU69R7_ej6_2ppp1a1WWkYcPCdXRyovpQN-WsDs,4868
152
156
  truefoundry/ml/autogen/client/models/artifact_version_response_dto.py,sha256=JmiSYdPYG-ki6LCBeF7NtihdQ2LPiHld8cSPivY2GmQ,2421
153
157
  truefoundry/ml/autogen/client/models/artifact_version_status.py,sha256=iIcomqhuaJkZH2rT3e6IjQutM79t9hEshW-RCIMKHEY,780
154
158
  truefoundry/ml/autogen/client/models/assistant_message.py,sha256=rmCQ4OAbVpjbX3rXiNtv2ePxV-7kq6Eg1Bs_tm_rmNE,2845
155
159
  truefoundry/ml/autogen/client/models/authorize_user_for_model_request_dto.py,sha256=G00T6eroxZrDw782-UBCQxlkwkxyAPfmvd9QNcMiZDI,2017
156
160
  truefoundry/ml/autogen/client/models/authorize_user_for_model_version_request_dto.py,sha256=Cy_7YVK47WMgweWbrSzR8-pb3B0WotriQWrKYdcxhvk,2070
157
- truefoundry/ml/autogen/client/models/backfill_default_storage_integration_id_request_dto.py,sha256=2ffg3yokxnJjlZy2s4D5a57Dnz92-CrjRvzqrzLx5GI,2111
158
161
  truefoundry/ml/autogen/client/models/blob_storage_reference.py,sha256=UcfYHxRyJyDMge90Ln9Agm9ynbddVjOvGonX6VeKFKo,2995
159
162
  truefoundry/ml/autogen/client/models/body_get_search_runs_get.py,sha256=aGu5Ah2QB-fnke4joOSAnhD5aO0BFGP3dzZcvSNSe-s,2064
160
163
  truefoundry/ml/autogen/client/models/chat_prompt.py,sha256=PFpvfDGWLSUWYTHEFAOtScJeTYjUUziQD_Meii2D0gw,5974
@@ -165,9 +168,9 @@ truefoundry/ml/autogen/client/models/content1.py,sha256=Sh22V-dSQr8zz2N2BgqeTtau
165
168
  truefoundry/ml/autogen/client/models/content2.py,sha256=T55JENSS5E9HRkefccw24L7PB-rNp3VP1ppXfV7BNHk,5920
166
169
  truefoundry/ml/autogen/client/models/content2_any_of_inner.py,sha256=yeGDgvaMMnymUkQpw_3v-DL5Pjt_FWvCl13na91bSEs,5004
167
170
  truefoundry/ml/autogen/client/models/create_artifact_request_dto.py,sha256=U9oPwVw_G_3IIQzV_OqjuL_6ytvmfUwOMAyrYi_UhRo,2217
168
- truefoundry/ml/autogen/client/models/create_artifact_response_dto.py,sha256=5b4WjMXpJ_7JngrINzK2pUVqzmpGPN-0DtnuYHvWYWI,1874
171
+ truefoundry/ml/autogen/client/models/create_artifact_response_dto.py,sha256=mRRGlXQXW2d3oWv9YOqKG55GHuIpWslSzosUxaNXYXo,1849
169
172
  truefoundry/ml/autogen/client/models/create_artifact_version_request_dto.py,sha256=DTmslB75W6Cr_ec1ddEt40VaKowaZVv2ypf7sRH3elI,2284
170
- truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py,sha256=iWrfppDAA4IP2K-eofcFoeKXZc4F_ZAFOqIf5vYzq0c,1930
173
+ truefoundry/ml/autogen/client/models/create_artifact_version_response_dto.py,sha256=iLPOAM7bw-t6hlKL4_mtw8m0QfWj4rRT8vxLdSHE9-8,1905
171
174
  truefoundry/ml/autogen/client/models/create_dataset_request_dto.py,sha256=6Ke3swxo9DG-mbOZOTXosepZ6toHPmYc4GOCtahUs2A,2308
172
175
  truefoundry/ml/autogen/client/models/create_experiment_request_dto.py,sha256=yD3u5li_ShKbX1RGomEOkSEXQPZKxqhJGYXAMZTKXDU,3013
173
176
  truefoundry/ml/autogen/client/models/create_experiment_response_dto.py,sha256=GmN5gDzieW8xT2RXOhf0QJ5_AL7JzCSwFYJMnys1pgA,1931
@@ -175,18 +178,18 @@ truefoundry/ml/autogen/client/models/create_model_version_request_dto.py,sha256=
175
178
  truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_request_dto.py,sha256=2-51iZCBmMNnl8v_3sQYyOJwK2RsnzM5v860axbFpS4,2261
176
179
  truefoundry/ml/autogen/client/models/create_multi_part_upload_for_dataset_response_dto.py,sha256=VDgQ4gZ6xcrWun3fP-mln8lGwYGOo640GH_TQQ5ceKE,2559
177
180
  truefoundry/ml/autogen/client/models/create_multi_part_upload_request_dto.py,sha256=nGrPRw5R44APVGeyegxFLxfi8KAHX-NDORtS1iBw5Xc,2213
178
- truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py,sha256=6FueO8APWdFJZycz2fK6K4YE7Usi8cUxtXyDWzAC1Fk,2229
179
- truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py,sha256=mhOMdwInQRks8r5Nd2Q-6Xlv9U4V0L3Kz_DaKoyZ1oA,2076
180
- truefoundry/ml/autogen/client/models/create_run_request_dto.py,sha256=hi18iz7aL-t_WgaCIbd2GvfDoPihhJ4DjnPdb3DHOaA,2995
181
- truefoundry/ml/autogen/client/models/create_run_response_dto.py,sha256=wg5iqhaHhd0g5r_zdPtC96vh2fW14u4gapYbZND1sp0,2194
182
- truefoundry/ml/autogen/client/models/dataset_dto.py,sha256=4BTbfg4BIizRq-PRJrpyn5ph7YuzJ_Qo5zOAdoDYkNQ,3570
181
+ truefoundry/ml/autogen/client/models/create_python_deployment_config_request_dto.py,sha256=1xmhL67Pz0Ckgfky3SIwtD0ayPJA-Vvv51Qec0LVDAA,2232
182
+ truefoundry/ml/autogen/client/models/create_python_deployment_config_response_dto.py,sha256=5fnCJ7ybEcRA03s8ZLGdt1w8_Xz5nt6-PPmvA6Yxt60,2051
183
+ truefoundry/ml/autogen/client/models/create_run_request_dto.py,sha256=6lwK8CLGgAnNtvBn3_0jcKicsWI3DMUfxj1OUctzDwA,2994
184
+ truefoundry/ml/autogen/client/models/create_run_response_dto.py,sha256=cFzIkhbiB_IEmQSx1asNAzPMN-MzCBtqWj2PJ3oTLTM,2169
185
+ truefoundry/ml/autogen/client/models/dataset_dto.py,sha256=2GqBLyIFXjNJ8stQRQgB1GoC9eqqArKlBafIGtDOie0,3561
183
186
  truefoundry/ml/autogen/client/models/dataset_response_dto.py,sha256=5h3eHpiG4Zzqn5Hm0WpZgyXGjxujKem42_8YnGq5KLo,2205
184
187
  truefoundry/ml/autogen/client/models/delete_artifact_versions_request_dto.py,sha256=JF2dQuEe_W1c2ox9zZDER_pZSTbKwSnns8hIfG5o7oA,1905
185
188
  truefoundry/ml/autogen/client/models/delete_dataset_request_dto.py,sha256=bfzzgBoekOBcGg2Uzzel80rf2Z5fDgggShkYd0ZlbSM,2143
186
189
  truefoundry/ml/autogen/client/models/delete_model_version_request_dto.py,sha256=6abYuueylSgv7TLkIHq8X0NWeFr-J5k72caAyOnn6fw,1873
187
190
  truefoundry/ml/autogen/client/models/delete_run_request.py,sha256=jXQmROKfkPA8idoxkUXT-2O6QJ4OgxgFX-CEmjryIpY,1793
188
191
  truefoundry/ml/autogen/client/models/delete_tag_request_dto.py,sha256=eQSPMamCJbsehcwWoMxQxlzZKQfX5GEwm3KHGF2Ajts,1901
189
- truefoundry/ml/autogen/client/models/experiment_dto.py,sha256=oKUWAqXf_Lhs2urevBW0bEYDdJmtg4bSwlEzwdHlYV8,4419
192
+ truefoundry/ml/autogen/client/models/experiment_dto.py,sha256=LBR3FkOw5j_2w1vrY3PYdqFWJwVXAE-Len8L8ua0XzI,4409
190
193
  truefoundry/ml/autogen/client/models/experiment_id_request_dto.py,sha256=ZMH827n_UTpDI30UnkuOam-4ANBKCDgocIzI8StxFR8,1891
191
194
  truefoundry/ml/autogen/client/models/experiment_response_dto.py,sha256=wuflV6_f8PQq061-wU2GzNY4BZi8SG8ARCIbSQN1oT4,2268
192
195
  truefoundry/ml/autogen/client/models/experiment_tag_dto.py,sha256=nEpCkeZ9ficIDkjmmLfkJeNNokd-Rhgr-cepPWG6L3M,1902
@@ -195,7 +198,7 @@ truefoundry/ml/autogen/client/models/feature_value_type.py,sha256=3ZKxxEfrrWk8eP
195
198
  truefoundry/ml/autogen/client/models/file_info_dto.py,sha256=7oc8venicsFVk8zT9wHNhHnZGtFkFlqimFnS7ozGL9k,2156
196
199
  truefoundry/ml/autogen/client/models/finalize_artifact_version_request_dto.py,sha256=P20UWglW6pzhNJVchC37ypZSHUxzzxf9tfKJkLgxoaY,3361
197
200
  truefoundry/ml/autogen/client/models/get_experiment_response_dto.py,sha256=FhJpoUeRbZV1s1KR3Y07Kv6U4enLbbgdpGbguT9us0A,2923
198
- truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py,sha256=DSX3nsb_wIloHrk-Vw5U4EORIyWeOCOplgTSqazeymE,2291
201
+ truefoundry/ml/autogen/client/models/get_latest_run_log_response_dto.py,sha256=g5NG252VzjGHiA-w5nhxmZxGrowJO9XCHDQTjf8y2KE,2266
199
202
  truefoundry/ml/autogen/client/models/get_metric_history_response.py,sha256=rTchO8o4sjGsNaZj8TW-VGtGGxsOBjUGzgaAWNtBZ-k,2428
200
203
  truefoundry/ml/autogen/client/models/get_signed_url_for_dataset_write_request_dto.py,sha256=liRpV-VFuM2DnF5jLVp90BvI-5Lg4Bx5RpZijt1sBqA,2091
201
204
  truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_read_request_dto.py,sha256=Ijc6WXjiHQARfjvgRAo9E4LEh1N-BRrIktXhTUrzPa0,2119
@@ -205,7 +208,7 @@ truefoundry/ml/autogen/client/models/get_signed_urls_for_artifact_version_write_
205
208
  truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_request_dto.py,sha256=CgXGykv4D1SkYFk5OexhD20-6v7mOlAOD5ciaUcQ5_s,2091
206
209
  truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_read_response_dto.py,sha256=1EQ33wOq7VpAlt7o-5XCBZ2mpn5GXKrOUfULbp4gA2g,2627
207
210
  truefoundry/ml/autogen/client/models/get_signed_urls_for_dataset_write_response_dto.py,sha256=tRud_0Qrr4DtXD1SMSnouVlxrV6WaL5FG2mG626CFZ0,2635
208
- truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py,sha256=aKj1Hy7lP9wH8tQ4VE4bYHBkUGXKFK9Lu4TQ1T0iKYo,2175
211
+ truefoundry/ml/autogen/client/models/get_tenant_id_response_dto.py,sha256=zEG9rogifl100cOqshYDNJE-faxGF3ayRb1RNWCtaXo,2142
209
212
  truefoundry/ml/autogen/client/models/http_validation_error.py,sha256=bU-uUlz_qeFba3iHdBT7cHjLu6WZ-JmImYqgZ-kCvxM,2466
210
213
  truefoundry/ml/autogen/client/models/image_content_part.py,sha256=_DXwAxeuagwRWMkDxaz--i_OitlyNkPd3puewVV_fwM,2716
211
214
  truefoundry/ml/autogen/client/models/image_url.py,sha256=TN8iEdBUmtKdTFlApUodaC4o6X_Ggd3OSOKVPv7laJE,2170
@@ -241,10 +244,10 @@ truefoundry/ml/autogen/client/models/metric_collection_dto.py,sha256=02ZWKm2_8Dj
241
244
  truefoundry/ml/autogen/client/models/metric_dto.py,sha256=Xrcc8XRY0sZeg_cnb6gyf-AUUIS0FPxSGTCbDzcBzXQ,2174
242
245
  truefoundry/ml/autogen/client/models/mime_type.py,sha256=A-N5-Mof_IyHWguXmG67k9wuaS5xwLPcj1J11jrEGyc,897
243
246
  truefoundry/ml/autogen/client/models/model_configuration.py,sha256=XKhwqO8caQ8w9XRCdb_pAl-84cd_PWkEutjLNSby6hQ,3861
244
- truefoundry/ml/autogen/client/models/model_dto.py,sha256=PU2SKPP8gD8edxUapYIzVjXXp-pXN_IBeFPPAkxBXDY,4159
247
+ truefoundry/ml/autogen/client/models/model_dto.py,sha256=iz9RAxADkeWwe0RmsxiLcYHZ5rZhkRF0PRcy004RT_I,4146
245
248
  truefoundry/ml/autogen/client/models/model_response_dto.py,sha256=osrTxfygkuhxWj6SkRBALrSnFVPH4LSK6qTufTeZuJg,2163
246
249
  truefoundry/ml/autogen/client/models/model_schema_dto.py,sha256=ElEPK7fwuf3eiohNBBHJyl-nhNqzGnDLzZVzuQl-xC0,2620
247
- truefoundry/ml/autogen/client/models/model_version_dto.py,sha256=RAuitVL3211XjjzoM_7aVefJA1aEPY2j87svcc4Zy4o,5901
250
+ truefoundry/ml/autogen/client/models/model_version_dto.py,sha256=1NqfoCKN-MWeWi8_ih4EHfknJnOyUuBbhCu-Kg5WVDE,5917
248
251
  truefoundry/ml/autogen/client/models/model_version_response_dto.py,sha256=D6XOCyggxqTkbePuypqYSHYh1PYeDv7R_J32q61sDM0,2320
249
252
  truefoundry/ml/autogen/client/models/multi_part_upload_dto.py,sha256=Ckq405vud8RQmMyKCJQJBlW5iXO7Y2mlgo8eVkiMvxg,3738
250
253
  truefoundry/ml/autogen/client/models/multi_part_upload_response_dto.py,sha256=VjH0kvl7rMjgDHjYGHnsh7KsZ5-qn-k3ksdGLJ49nIM,2431
@@ -258,7 +261,7 @@ truefoundry/ml/autogen/client/models/resolve_agent_app_response_dto.py,sha256=sg
258
261
  truefoundry/ml/autogen/client/models/restore_run_request_dto.py,sha256=7iBbil4YfaOHJwP0ifPHp-D1Kt-ZiSRjAaVuU7_idhw,1825
259
262
  truefoundry/ml/autogen/client/models/run_data_dto.py,sha256=iPFm5f4x2ymRqea6EDZlcjWYN_-f3t9JZckwskXSTKY,3533
260
263
  truefoundry/ml/autogen/client/models/run_dto.py,sha256=inAYRSKnHSkF3cdf2eQYp5wVnOgB47ZPdavxCHXh9zY,2535
261
- truefoundry/ml/autogen/client/models/run_info_dto.py,sha256=mhB1cIdOcbBFwx2f5fKHjWaao2Yvo7_IsER3KpOqU1A,3095
264
+ truefoundry/ml/autogen/client/models/run_info_dto.py,sha256=HJqhChLit5ub3LDQarqDQxgd9z2YCZyO06tIt-s-RQ8,3082
262
265
  truefoundry/ml/autogen/client/models/run_log_dto.py,sha256=VEIXYILD4AW0QAmokyzS9mo4JmiAV7NgU5TRgymQMek,2529
263
266
  truefoundry/ml/autogen/client/models/run_log_input_dto.py,sha256=xQ854-3vcocDzcNYejYVlo2BmEpDLlHh1MbiP2OHen4,2390
264
267
  truefoundry/ml/autogen/client/models/run_response_dto.py,sha256=iayBnhwmByVC3iiw_ZUbB_V6FTadEQu9_U2JOs5kvkw,2121
@@ -278,54 +281,53 @@ truefoundry/ml/autogen/client/models/update_dataset_request_dto.py,sha256=MF-rjJ
278
281
  truefoundry/ml/autogen/client/models/update_experiment_request_dto.py,sha256=QE_kZzTDdiXKtQ2U-zbI_gb5vxS5Yv9YupYvD22RkFs,2198
279
282
  truefoundry/ml/autogen/client/models/update_model_version_request_dto.py,sha256=dVP9WW0bQV0Bolj_hVbsQQuUT-8lhJ9ocDWsThfARlI,3073
280
283
  truefoundry/ml/autogen/client/models/update_run_request_dto.py,sha256=fn4VB4Zlllr6Bt_l3aYkkHxAkU9w7vtcqu4iw8BvQWY,2318
281
- truefoundry/ml/autogen/client/models/update_run_response_dto.py,sha256=IprygJC8plnEIwahAZU2ilESae8WuAESkejMM-hQtn0,2256
284
+ truefoundry/ml/autogen/client/models/update_run_response_dto.py,sha256=wolIFiihGZCBBkuj7mJEYCmGAOqDLFo_bNLcH4LeXSo,2231
282
285
  truefoundry/ml/autogen/client/models/url.py,sha256=zMyOmdVkp1ANnQnc9GrHt42xlVwES7FTjrpOp_OtHqo,4953
283
286
  truefoundry/ml/autogen/client/models/user_message.py,sha256=6QOmKT_SDfAVZA8V3Bzofm7_c-Qznn4KsE12NmHG4FM,2783
284
287
  truefoundry/ml/autogen/client/models/validation_error.py,sha256=mFjwoc8g2-Usu1HXZhOQKQ4TGvLy4lwCzk8dHrJ69aA,2597
285
288
  truefoundry/ml/autogen/client/models/validation_error_loc_inner.py,sha256=nThJ5Gmy8W2Wok-ZOI4sK7uRe1BAkLS0qzq-XZbq8zs,4915
286
289
  truefoundry/ml/autogen/client/rest.py,sha256=9goba8qHjQuVx5O_yRaTKu7PvBnb7r7swfy3dwuTEgk,14281
287
- truefoundry/ml/autogen/client_README.md,sha256=GkgNes2w7a3z1Cn4oGMWIum9WS_w4TWJ_erRCAqklx8,33258
290
+ truefoundry/ml/autogen/client_README.md,sha256=lobq-OlEcetj90WhMC1EmFQ85Bivmg2OPY2_CT1zc94,32876
288
291
  truefoundry/ml/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
292
  truefoundry/ml/cli/cli.py,sha256=ckBcjUpqfhgrPE1okqT_G2iouOLt-0KjpLhHp2YdVFU,256
290
293
  truefoundry/ml/cli/commands/__init__.py,sha256=diDUiRUX4l6TtNLI4iF-ZblczkELM7FRViJ-8gGNJQY,82
291
294
  truefoundry/ml/cli/commands/download.py,sha256=cbz9KijiLKXj4-twlig3xZLTVRNm4fnjwpy0leZr31w,2342
295
+ truefoundry/ml/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
296
+ truefoundry/ml/clients/entities.py,sha256=sNP4DnAVdQoMfc06s0r3VTzKHTo7jmxAOuTlQOVmsMs,151
297
+ truefoundry/ml/clients/servicefoundry_client.py,sha256=lK7mepLNRHHS65Eebynk5HyCMSxqmduXRHO2k8pTIK0,1680
298
+ truefoundry/ml/clients/utils.py,sha256=LX2_p8WhKJYdDjg08395nwW-L1Yx7YumRsFn9PCDdNI,4385
292
299
  truefoundry/ml/constants.py,sha256=vDq72d4C9FSWqr9MMdjgTF4TuyNFApvo_6RVsSeAjB4,2837
300
+ truefoundry/ml/entities.py,sha256=si5GAqZsWzKu5MPrU4Hk6se7bebHOYhTiNw69ai-Uk8,1485
293
301
  truefoundry/ml/enums.py,sha256=arqDkF8duU_oVLFeYMhcfWYbF6Nq5mmjwupJMIheyXM,1790
294
- truefoundry/ml/env_vars.py,sha256=ehrKLWCs3A407zrfTzRQP-X3PzjgUvKpheGByEa2rPE,339
302
+ truefoundry/ml/env_vars.py,sha256=0CqhoV6RgxgPju71AJYvo7crHxVr0vJNzWTiSWKnLcI,212
295
303
  truefoundry/ml/exceptions.py,sha256=8aJm2NYtAWWsRLu4MbzaoOqHsQZ6RjOFwBWQWqb6qrc,244
296
304
  truefoundry/ml/git_info.py,sha256=jvAVm9ilqivnGq8qJdUvYdd8Siv0PLtqurB-PXsS5ho,2023
297
- truefoundry/ml/internal_namespace.py,sha256=ROJ9e_qMR50RBk1OgZBaXH8H352M6GwSYBf8xC-82I4,1790
305
+ truefoundry/ml/internal_namespace.py,sha256=QcqMHp6-C2im2H_02hlhi01EIcr1HhNaZprszs13EMU,1790
298
306
  truefoundry/ml/log_types/__init__.py,sha256=g4u4D4Jaj0aBK5GtrLV88-qThKZR9pSZ17vFEkN-LmM,125
299
- truefoundry/ml/log_types/artifacts/artifact.py,sha256=amqZMaC094jPxr26QiS_37c_LVagSnukgEZlarDmHzg,15377
307
+ truefoundry/ml/log_types/artifacts/artifact.py,sha256=KrQhROx82rT9Trzoj_-Lq6Ya5vuIzoRVIbjBiPz_sNc,15511
300
308
  truefoundry/ml/log_types/artifacts/constants.py,sha256=qKxQ5mMvJE4j83BvGW3qNTKunxCiBg_EEjTdgbgJtyE,1036
301
- truefoundry/ml/log_types/artifacts/dataset.py,sha256=_6Yhl-8ULsHAaB0MrpC8HVNLPd2oNkAB8ymJljPGodI,12894
309
+ truefoundry/ml/log_types/artifacts/dataset.py,sha256=oXi7itXOe3PrnN4_KY7s1GdhWV1lyvWXRWgY6_vPTAs,12981
302
310
  truefoundry/ml/log_types/artifacts/general_artifact.py,sha256=fY74EUeCGdHdlkrp_GMoaZPvl7EQctt8OlRM6yFgLF8,3772
303
- truefoundry/ml/log_types/artifacts/model.py,sha256=zoVK0qZUmw6VuzfV6gXlXpHG0jguHFKqcJHDbpxW0tA,22858
311
+ truefoundry/ml/log_types/artifacts/model.py,sha256=NRIvGX0yCLGnLvZkuCRJGGEuONoUhXZSY2jmSUM3JvI,22162
304
312
  truefoundry/ml/log_types/artifacts/model_extras.py,sha256=TIE73bLKfwIVzNiVcjmaZ841A70BHBwu4XAM6ZAQRFI,1045
305
313
  truefoundry/ml/log_types/artifacts/utils.py,sha256=dwmRBrEmwIktVcA1a3lrsUfmROO7THTLgYwJ4MpSUWU,5885
306
314
  truefoundry/ml/log_types/image/__init__.py,sha256=fcOq8yQnNj1rkLcPeIjLXBpdA1WIeiPsXOlAAvMxx7M,76
307
315
  truefoundry/ml/log_types/image/constants.py,sha256=wLtGEOA4T5fZHSlOXPuNDLX3lpbCtwlvGKPFk_1fah0,255
308
- truefoundry/ml/log_types/image/image.py,sha256=qxGKCywCWIP8HZpoaF3haEmh8NwAIH-cTaZvYCOJE1I,12270
309
- truefoundry/ml/log_types/image/image_normalizer.py,sha256=axhjP-yVA0mq97u9ewEqGsH2FYzz8eTN69qXJFDb14c,3044
316
+ truefoundry/ml/log_types/image/image.py,sha256=y2FOUVTNGtjzGW5AcaXObIxKQDGr1GoiSYBoRAB7ZaM,12310
317
+ truefoundry/ml/log_types/image/image_normalizer.py,sha256=vrzfuSpVGgIxw_Q2sbFe7kQ_JpAndX0bMwC7wtfi41g,3104
310
318
  truefoundry/ml/log_types/image/types.py,sha256=inFQlyAyDvZtfliFpENirNCm1XO9beyZ8DNn97DoDKs,1568
311
319
  truefoundry/ml/log_types/plot.py,sha256=oFnXNb2o5fVF0zsnRjvqjSjLaphQWUnQCdw72e2uiMY,7347
312
320
  truefoundry/ml/log_types/pydantic_base.py,sha256=eBlw_AEyAz4iJKDP4zgJOCFWcldwQqpf7FADW1jzIQY,272
313
321
  truefoundry/ml/log_types/utils.py,sha256=xjJ21jdPScvFmw3TbVh5NCzbzJwaqiXJyiiT4xxX1EI,335
314
322
  truefoundry/ml/logger.py,sha256=VT-BF3BnBYTWVq87O58F0c8uXMu94gYzsiFlGY3_7Ao,458
315
- truefoundry/ml/login.py,sha256=Yp9Xeb1p1FcxPK3nmScJyCg3ZIMHrfuN334rtbm6vcY,9221
316
- truefoundry/ml/mlfoundry_api.py,sha256=MmWugB1SGjeS5PLJcsPjq7hXn9kGztHisTV8NeJ9tKY,61736
317
- truefoundry/ml/mlfoundry_run.py,sha256=w7o7D89jfZ5Pdvj_r0nrTD2BaZP3QbKf8rkzwZpJRiM,46516
318
- truefoundry/ml/run_utils.py,sha256=9VUVakz92kA4hQXnAGRi3V7o9CMRdUbCG8yyZ9eByyU,3289
319
- truefoundry/ml/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
- truefoundry/ml/services/auth_service.py,sha256=RgxVz_CCKlBrIVw3sR6CrnAtjna3jSw5UfTHBwsdkkA,4022
321
- truefoundry/ml/services/entities.py,sha256=x2_ldqxBMXIRfxtu3HHS28jvaqr5IBv4V21MwJkkxB0,3005
322
- truefoundry/ml/services/servicefoundry_service.py,sha256=jopsRSdNqfan0AtRO0UPiPOWEgwfzRP7qLamzMDkz-0,1369
323
- truefoundry/ml/services/utils.py,sha256=VPRa78tZk5wzNLBAFARXaDPwvOgCPeJZIDNoTjWXp0Q,4384
324
- truefoundry/ml/session.py,sha256=0vIznzgjqVT8sNayXIa_O6APLdDJ3NH6mKb1yTspgmI,8888
323
+ truefoundry/ml/mlfoundry_api.py,sha256=7RZZaMd6Z1f-qekpEFhjgqgDAFUZ3_7iZbzrRAhVj58,59379
324
+ truefoundry/ml/mlfoundry_run.py,sha256=CTUgf2-kPANie9Kog_rJRvpkDfotVzWTHvBg2ofv_FA,44341
325
+ truefoundry/ml/run_utils.py,sha256=dzbQ_TGkSCYO-gg8tlr5tglR0p2SIQdy0wl4IEQE5JA,2899
326
+ truefoundry/ml/session.py,sha256=gASORQ7TZ3kqAyqG64YPfn5Z8Uo2BjOvfhMmTX-X7uM,5263
325
327
  truefoundry/ml/validation_utils.py,sha256=XBSUd9OoyriWJpT3M5LKz17iWY3yVMr3hM5vdaVjtf0,12082
326
- truefoundry/pydantic_v1.py,sha256=UKv05OZx5WC4E0J-25xLiTbhJOYdDVp8SZC4lT7iEFI,329
328
+ truefoundry/pydantic_v1.py,sha256=jSuhGtz0Mbk1qYu8jJ1AcnIDK4oxUsdhALc4spqstmM,345
327
329
  truefoundry/version.py,sha256=bqiT4Q-VWrTC6P4qfK43mez-Ppf-smWfrl6DcwV7mrw,137
328
- truefoundry/workflow/__init__.py,sha256=m0puY8RJ3GBvdAXW0A9PLuCpmDdLqh6eF0t3DCEpZkg,659
330
+ truefoundry/workflow/__init__.py,sha256=hkDVrnG95duO-9XEmdjgrsvyhjQUVqyeQ1-dADB1QuE,935
329
331
  truefoundry/workflow/container_task.py,sha256=8arieePsX4__OnG337hOtCiNgJwtKJJCsZcmFmCBJtk,402
330
332
  truefoundry/workflow/example/deploy.sh,sha256=wfbPRrCi04WYRqCf4g-Xo12uWbcqPD6G_Tz0lV0jU_U,60
331
333
  truefoundry/workflow/example/hello_world_package/workflow.py,sha256=ACWJJWTY5NhYyU_dAEfdSqXgyLuNXPRDpOBuUkTEzhU,459
@@ -336,7 +338,7 @@ truefoundry/workflow/map_task.py,sha256=2m3qGXQ90k9LdS45q8dqCCECc3qr8t2m_LMCVd1m
336
338
  truefoundry/workflow/python_task.py,sha256=SRXRLC4vdBqGjhkwuaY39LEWN6iPCpJAuW17URRdWTY,1128
337
339
  truefoundry/workflow/task.py,sha256=ToitYiKcNzFCtOVQwz1W8sRjbR97eVS7vQBdbgUQtKg,1779
338
340
  truefoundry/workflow/workflow.py,sha256=WaTqUjhwfAXDWu4E5ehuwAxrCbDJkoAf1oWmR2E9Qy0,4575
339
- truefoundry-0.4.0rc1.dist-info/METADATA,sha256=0ALoV5iB6fJUk7hRTkP-777dRXvwJTFB-6goDlMydP4,3135
340
- truefoundry-0.4.0rc1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
341
- truefoundry-0.4.0rc1.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
342
- truefoundry-0.4.0rc1.dist-info/RECORD,,
341
+ truefoundry-0.4.0rc3.dist-info/METADATA,sha256=1cuqkHPKYi-kxkBz_6Xqm0BLsiFHPghCOw8QpqpHHnk,3135
342
+ truefoundry-0.4.0rc3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
343
+ truefoundry-0.4.0rc3.dist-info/entry_points.txt,sha256=TXvUxQkI6zmqJuycPsyxEIMr3oqfDjgrWj0m_9X12x4,95
344
+ truefoundry-0.4.0rc3.dist-info/RECORD,,
@@ -1,41 +0,0 @@
1
- import os
2
- import time
3
- from typing import Any, Callable, Generator, Optional
4
-
5
- from truefoundry.deploy.lib.const import HOST_ENV_NAME
6
- from truefoundry.deploy.lib.exceptions import BadRequestException
7
-
8
-
9
- def request_handling(res):
10
- try:
11
- status_code = res.status_code
12
- except Exception as ex:
13
- raise Exception("Unknown error occurred. Couldn't get status code.") from ex
14
- if 200 <= status_code <= 299:
15
- if res.content == b"":
16
- return None
17
- return res.json()
18
- if 400 <= status_code <= 499:
19
- try:
20
- message = str(res.json()["message"])
21
- except Exception:
22
- message = res
23
- raise BadRequestException(res.status_code, message)
24
- if 500 <= status_code <= 599:
25
- raise Exception(res.content)
26
-
27
-
28
- def poll_for_function(
29
- func: Callable, poll_after_secs: int = 5, *args, **kwargs
30
- ) -> Generator[Any, None, None]:
31
- while True:
32
- yield func(*args, **kwargs)
33
- time.sleep(poll_after_secs)
34
-
35
-
36
- def resolve_base_url(host: Optional[str] = None) -> str:
37
- if not host and not os.getenv(HOST_ENV_NAME):
38
- raise ValueError(
39
- f"Either `host` should be provided by --host <value>, or `{HOST_ENV_NAME}` env must be set"
40
- )
41
- return host or os.getenv(HOST_ENV_NAME)
@@ -1,67 +0,0 @@
1
- # coding: utf-8
2
-
3
- """
4
- FastAPI
5
-
6
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
-
8
- The version of the OpenAPI document: 0.1.0
9
- Generated by OpenAPI Generator (https://openapi-generator.tech)
10
-
11
- Do not edit the class manually.
12
- """ # noqa: E501
13
-
14
- from __future__ import annotations
15
-
16
- import json
17
- import pprint
18
- import re # noqa: F401
19
-
20
- from truefoundry.pydantic_v1 import BaseModel, Field, StrictStr
21
-
22
-
23
- class BackfillDefaultStorageIntegrationIdRequestDto(BaseModel):
24
- """
25
- BackfillDefaultStorageIntegrationIdRequestDto
26
- """
27
-
28
- storage_integration_id: StrictStr = Field(...)
29
- __properties = ["storage_integration_id"]
30
-
31
- class Config:
32
- """Pydantic configuration"""
33
-
34
- allow_population_by_field_name = True
35
- validate_assignment = True
36
-
37
- def to_str(self) -> str:
38
- """Returns the string representation of the model using alias"""
39
- return pprint.pformat(self.dict(by_alias=True))
40
-
41
- def to_json(self) -> str:
42
- """Returns the JSON representation of the model using alias"""
43
- return json.dumps(self.to_dict())
44
-
45
- @classmethod
46
- def from_json(cls, json_str: str) -> BackfillDefaultStorageIntegrationIdRequestDto:
47
- """Create an instance of BackfillDefaultStorageIntegrationIdRequestDto from a JSON string"""
48
- return cls.from_dict(json.loads(json_str))
49
-
50
- def to_dict(self):
51
- """Returns the dictionary representation of the model using alias"""
52
- _dict = self.dict(by_alias=True, exclude={}, exclude_none=True)
53
- return _dict
54
-
55
- @classmethod
56
- def from_dict(cls, obj: dict) -> BackfillDefaultStorageIntegrationIdRequestDto:
57
- """Create an instance of BackfillDefaultStorageIntegrationIdRequestDto from a dict"""
58
- if obj is None:
59
- return None
60
-
61
- if not isinstance(obj, dict):
62
- return BackfillDefaultStorageIntegrationIdRequestDto.parse_obj(obj)
63
-
64
- _obj = BackfillDefaultStorageIntegrationIdRequestDto.parse_obj(
65
- {"storage_integration_id": obj.get("storage_integration_id")}
66
- )
67
- return _obj