synapse-sdk 1.0.0b23__py3-none-any.whl → 1.0.0b24__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 synapse-sdk might be problematic. Click here for more details.

Files changed (36) hide show
  1. synapse_sdk/devtools/docs/docs/api/clients/ray.md +1 -1
  2. synapse_sdk/devtools/docs/docs/api/index.md +5 -5
  3. synapse_sdk/devtools/docs/docs/features/utils/file.md +415 -0
  4. synapse_sdk/devtools/docs/docs/{api → features}/utils/network.md +1 -1
  5. synapse_sdk/devtools/docs/docs/plugins/export-plugins.md +140 -0
  6. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md +1 -1
  7. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md +5 -5
  8. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md +5 -5
  9. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md +415 -0
  10. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/{api → features}/utils/network.md +1 -1
  11. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md +138 -0
  12. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md +48 -2
  13. synapse_sdk/devtools/docs/sidebars.ts +10 -10
  14. synapse_sdk/plugins/categories/export/templates/plugin/__init__.py +17 -2
  15. synapse_sdk/utils/file/__init__.py +39 -0
  16. synapse_sdk/utils/file/archive.py +32 -0
  17. synapse_sdk/utils/file/checksum.py +56 -0
  18. synapse_sdk/utils/file/chunking.py +31 -0
  19. synapse_sdk/utils/file/download.py +124 -0
  20. synapse_sdk/utils/file/encoding.py +40 -0
  21. synapse_sdk/utils/file/io.py +22 -0
  22. synapse_sdk/utils/file/video/__init__.py +29 -0
  23. synapse_sdk/utils/file/video/transcode.py +307 -0
  24. {synapse_sdk-1.0.0b23.dist-info → synapse_sdk-1.0.0b24.dist-info}/METADATA +2 -1
  25. {synapse_sdk-1.0.0b23.dist-info → synapse_sdk-1.0.0b24.dist-info}/RECORD +34 -25
  26. synapse_sdk/devtools/docs/docs/api/utils/file.md +0 -195
  27. synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/utils/file.md +0 -195
  28. /synapse_sdk/devtools/docs/docs/{api → features}/utils/storage.md +0 -0
  29. /synapse_sdk/devtools/docs/docs/{api → features}/utils/types.md +0 -0
  30. /synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/{api → features}/utils/storage.md +0 -0
  31. /synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/{api → features}/utils/types.md +0 -0
  32. /synapse_sdk/utils/{file.py → file.py.backup} +0 -0
  33. {synapse_sdk-1.0.0b23.dist-info → synapse_sdk-1.0.0b24.dist-info}/WHEEL +0 -0
  34. {synapse_sdk-1.0.0b23.dist-info → synapse_sdk-1.0.0b24.dist-info}/entry_points.txt +0 -0
  35. {synapse_sdk-1.0.0b23.dist-info → synapse_sdk-1.0.0b24.dist-info}/licenses/LICENSE +0 -0
  36. {synapse_sdk-1.0.0b23.dist-info → synapse_sdk-1.0.0b24.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse-sdk
3
- Version: 1.0.0b23
3
+ Version: 1.0.0b24
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -23,6 +23,7 @@ Requires-Dist: fsspec[gcs,s3,sftp]
23
23
  Requires-Dist: inquirer
24
24
  Requires-Dist: pillow
25
25
  Requires-Dist: websockets
26
+ Requires-Dist: ffmpeg-python==0.2.0
26
27
  Provides-Extra: all
27
28
  Requires-Dist: ray[all]==2.44.1; extra == "all"
28
29
  Requires-Dist: python-nmap; extra == "all"
@@ -53,7 +53,7 @@ synapse_sdk/devtools/docs/README.md,sha256=yBzWf0K1ef4oymFXDaHo0nYWEgMQJqsOyrkNh
53
53
  synapse_sdk/devtools/docs/docusaurus.config.ts,sha256=K1b002RS0x0tsOyib_6CSgUlASEULC9vAX8YDpbsRN4,3229
54
54
  synapse_sdk/devtools/docs/package-lock.json,sha256=dtepgbPC8gq5uz-hdcac4hIU-Cs209tX0sfBuB7RfEQ,705694
55
55
  synapse_sdk/devtools/docs/package.json,sha256=8veqayA4U3OLpdQaz6AzB59RQwTU-5soeYlYYWIxq28,1187
56
- synapse_sdk/devtools/docs/sidebars.ts,sha256=mvTBax6592aFOHth_ejBTEqlqA60xM_A1UMIHbTe6Qg,1593
56
+ synapse_sdk/devtools/docs/sidebars.ts,sha256=1Gwh74epym2d_ebV9bcz8Yg8fKJTq_Fk6T1eG-Kl4TM,1573
57
57
  synapse_sdk/devtools/docs/tsconfig.json,sha256=O9BNlRPjPiaVHW2_boShMbmTnh0Z2k0KQO6Alf9FMVY,215
58
58
  synapse_sdk/devtools/docs/blog/2019-05-28-first-blog-post.md,sha256=iP7gl_FPqo-qX13lkSRcRoT6ayJNmCkXoyvlm7GH248,312
59
59
  synapse_sdk/devtools/docs/blog/2019-05-29-long-blog-post.md,sha256=cM-dhhTeurEWMcdn0Kx-NpNts2YUUraSI_XFk_gVHEE,3122
@@ -71,23 +71,23 @@ synapse_sdk/devtools/docs/docs/installation.md,sha256=TUXPQ9zhWW68WdimH85GihGMBG
71
71
  synapse_sdk/devtools/docs/docs/introduction.md,sha256=qaZaU9E8raOm3Eqf7Zxpi9qG26gyS91OK1pWHsnPPMA,1581
72
72
  synapse_sdk/devtools/docs/docs/quickstart.md,sha256=7h6JvNwkEuUuWE8cD3s0UhNeKG6U2_Svbq5XYhx_Zmo,1520
73
73
  synapse_sdk/devtools/docs/docs/troubleshooting.md,sha256=vFxo_ejj-fIW-GgmhEHgCmgWUf8KxFD4xyYRKlaVe0M,11137
74
- synapse_sdk/devtools/docs/docs/api/index.md,sha256=NsVizrDwBdwyQeM4NgBWnXmO1TSABIXtgnQ2B1_r9tQ,1331
74
+ synapse_sdk/devtools/docs/docs/api/index.md,sha256=l5EA65asRKZpPLKp1agn8jIQjzURzaOxlo2HNAzazio,1381
75
75
  synapse_sdk/devtools/docs/docs/api/clients/agent.md,sha256=QbtdFQA-7rZhtnOh9tGSE9tKQQFeYGE7Z7RmxjVJzuw,786
76
76
  synapse_sdk/devtools/docs/docs/api/clients/backend.md,sha256=j0NYx82rEiydlMtNQvqkWIXLVHjxckRaZOh-JiVr4LM,1453
77
77
  synapse_sdk/devtools/docs/docs/api/clients/base.md,sha256=IxRGjYFI9KjZU3TFkjdWVdw9sgH40WAtOgIPJjORysc,720
78
- synapse_sdk/devtools/docs/docs/api/clients/ray.md,sha256=ur2Q89RVF2NJslFEyL95fyFfAmivJHyI38lyjwrmaNE,7569
78
+ synapse_sdk/devtools/docs/docs/api/clients/ray.md,sha256=mmK694nU10W7c_Z_2PBY_4qvqiL7ADZTP1Ew2CxWVA4,7581
79
79
  synapse_sdk/devtools/docs/docs/api/plugins/categories.md,sha256=8zRHyyl3JQ2p0zKU86-nE-NDeWZLMwp0bh8ZF-PSx9M,839
80
80
  synapse_sdk/devtools/docs/docs/api/plugins/models.md,sha256=XRMTD2DBilZwmO6AmPhLgdzNfBpcFkAdrBg9mgOMTUs,1060
81
81
  synapse_sdk/devtools/docs/docs/api/plugins/utils.md,sha256=39soJ1JLROm_mygR9UWG6XqZ1i5ESmTeZGijrAfUh-o,8389
82
- synapse_sdk/devtools/docs/docs/api/utils/file.md,sha256=wmYX9KUIWupMpSUKATLtUM9UetsNMAc51iK97xlLYZM,5596
83
- synapse_sdk/devtools/docs/docs/api/utils/network.md,sha256=1FMLDjJkZVF3Ni1kjbtEP6shnpWM4GMLxWy1WHnveqg,9727
84
- synapse_sdk/devtools/docs/docs/api/utils/storage.md,sha256=uIpc37trKUm4XHe1fd4auw56vMq3DvAMjJveSfN4rqU,1000
85
- synapse_sdk/devtools/docs/docs/api/utils/types.md,sha256=l84J1Ooa40xBYdvK1YpeKBT9kaqaWQUMNIFPUiC2e_U,1046
86
82
  synapse_sdk/devtools/docs/docs/concepts/index.md,sha256=ezn67P568PvFRPVE4T74j5MuEikgVOX7DV6MxIQBOHo,760
87
83
  synapse_sdk/devtools/docs/docs/examples/index.md,sha256=IZnF8veO7PqJYtAQevL1VHt1rBzieCSaXoWTQoXS4lA,504
88
84
  synapse_sdk/devtools/docs/docs/features/index.md,sha256=FD2hUzTzFgKa5pcDWPtA6eVw9pLLiRajYi4xA8aJTHg,963
89
85
  synapse_sdk/devtools/docs/docs/features/converters/index.md,sha256=W5d5UO8nbOLWs1G9IgdTutlMl-d6M0hDLMJbg8DrCQ8,12713
90
- synapse_sdk/devtools/docs/docs/plugins/export-plugins.md,sha256=W8u8o9PWZQJ-rBvwuw-daWtqsOfFod_j_4yNj4zbOj0,27028
86
+ synapse_sdk/devtools/docs/docs/features/utils/file.md,sha256=H4vzxZiJ0X-US8OCfgfvUeXTp56BTg7NnmXU5wSTfb0,11869
87
+ synapse_sdk/devtools/docs/docs/features/utils/network.md,sha256=IOYMhC7bM6BwpvaJosj9vxHXr0Vc5_qP09HP8OVuM64,9734
88
+ synapse_sdk/devtools/docs/docs/features/utils/storage.md,sha256=uIpc37trKUm4XHe1fd4auw56vMq3DvAMjJveSfN4rqU,1000
89
+ synapse_sdk/devtools/docs/docs/features/utils/types.md,sha256=l84J1Ooa40xBYdvK1YpeKBT9kaqaWQUMNIFPUiC2e_U,1046
90
+ synapse_sdk/devtools/docs/docs/plugins/export-plugins.md,sha256=GDdAxcFyxoy96pMkGmodUXrKTxfFerk1Dt10QNHXTNA,32103
91
91
  synapse_sdk/devtools/docs/docs/plugins/plugins.md,sha256=2WMjbTKjIXTAdeODeTvJkDSsR9PiA58_VnCFuBnWRw4,24358
92
92
  synapse_sdk/devtools/docs/docs/plugins/upload-plugins.md,sha256=6-IE6QNimgggIJF5BxeGBUhKfV76WPglGH1-olU_R8Q,18489
93
93
  synapse_sdk/devtools/docs/docs/tutorial-basics/_category_.json,sha256=qQVHZ1p0CxHg5Gb4CYNxUSeqZ3LVo4nXN_N0yUMVpDM,180
@@ -113,21 +113,21 @@ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/install
113
113
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/introduction.md,sha256=TE1XUd4axGRqodFduAUxAI0h72PDToWWE2WeTz-D0bg,1646
114
114
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/quickstart.md,sha256=SjQD0q6L16zIwk6LE7HDXlbZdcnZbnwSmGZz-0KWiL8,1683
115
115
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/troubleshooting.md,sha256=OvXUtf_CkQlCZ6PzTSUM_YdWFTknEkgvttO8Ywy1qTo,11793
116
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md,sha256=o1wXl8lgCrpN_9sPj8AeajRqAdjJfaKg31Q7qLxyhnU,1474
116
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/index.md,sha256=60fhoQsnjuhdjFVVKCNd2qu6cY8f9A4PeZNx08obcdo,1524
117
117
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/agent.md,sha256=UVllVNexQYmiHAk6dVVvd0MPQt6S9vBcK5Ur-BeLP2M,827
118
118
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/backend.md,sha256=3XUZv_LYBuFfmY60t-0ZNeH4U61EzHrmI9ggfs7vS_8,1505
119
119
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/base.md,sha256=cn8B5Py1TQjQc3a1B8wT_UuOGmb9eCk2IrKWSZnPlmA,804
120
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md,sha256=CsI9mSPijmq1dz79BGD_74eR3Jb7ARsSi4M4-YHJ490,8334
121
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/utils/file.md,sha256=mPfds1ChrMR2yTcLTbBSQHSI7wit_76dI4_m6JIyebY,6107
122
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/utils/network.md,sha256=pIboIn7vB7VZbtvtFvJT-9rnP5fHu2kNVvZKbZ3i3wk,10341
123
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/utils/storage.md,sha256=V-IIUSVJjwh9n6KVZI5DxrU_T0l3AOtcCrAC2PRs43Q,1048
124
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/utils/types.md,sha256=JdDMC2FKovAU55pPEBoIUPPniU5mKAvA5w1Zb36u9AE,1207
120
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/api/clients/ray.md,sha256=sVdBRg4g7x0O9bJ0JP1fzzDc74Z9swGl8jDlbpBbCeA,8346
125
121
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/concepts/index.md,sha256=6o-8H7khfiMhQSXBAvkYpf6jzOEndPje1QAGdlGfskw,843
126
122
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/examples/index.md,sha256=pMAc1VLUXnHCv2xvvx-GBqVQ1Uh4h-u4nrco5UZ2z-Y,613
127
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md,sha256=ogU60hHjgRSUlxdoEFTlM7jwbZ3fharaTFuYHp3vya4,1051
123
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/index.md,sha256=X0haPkqUY89K5R3LiGLQX9Boh_BpLxUsHA13skTTAp8,1015
128
124
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/converters/index.md,sha256=WpXcLBqC-xlvuoh-AhNOtFSo4qmnBIbR_wqLlazT7zo,1366
129
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md,sha256=f1fe6zWV5t60QZwCev7e-GIW50itfZviZ8zVZTaoka0,28371
130
- synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md,sha256=63auCIr_5_IFZgvPDd9XSovM1cv3TSx9U0zQRjrsxkI,3108
125
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/file.md,sha256=1H-gv5w55BDjANFDrT7yIx2o-xM4g0E4At7hXFTCX5s,12546
126
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/network.md,sha256=_jYDA25anaQ7FdfJmapACjqDvw3D2J8wj0RWCnXXpLY,10348
127
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/storage.md,sha256=V-IIUSVJjwh9n6KVZI5DxrU_T0l3AOtcCrAC2PRs43Q,1048
128
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/features/utils/types.md,sha256=JdDMC2FKovAU55pPEBoIUPPniU5mKAvA5w1Zb36u9AE,1207
129
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/export-plugins.md,sha256=DSnhvWk54V6qlMXaeaiwgTJ9l0DVzkc36p0rOyqBjlE,33567
130
+ synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/plugins.md,sha256=wUuuOmQQY1dURZzJ0HSpiABaJWqKbxQn31Xfn-wUf8E,4947
131
131
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-plugin-content-docs/current/plugins/upload-plugins.md,sha256=E-xplOw6ZEgB0rtarshmSqRIFpYL12Ax5mXULI4VWXo,24740
132
132
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/footer.json,sha256=SCLmysIhJ6XEEfnL7cOQb3s08EG4LA-ColdRRxecIH8,1601
133
133
  synapse_sdk/devtools/docs/i18n/ko/docusaurus-theme-classic/navbar.json,sha256=M-ly81cWnesYYtCRcfMvOsKl5P0z52K9kiw0T6GIQ60,429
@@ -185,7 +185,7 @@ synapse_sdk/plugins/categories/export/enums.py,sha256=gtyngvQ1DKkos9iKGcbecwTVQQ
185
185
  synapse_sdk/plugins/categories/export/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
186
  synapse_sdk/plugins/categories/export/actions/export.py,sha256=BO8N1LT8X9ImDmsqMdrbCUePsMEtOhazCuVtwp_ZmXs,13706
187
187
  synapse_sdk/plugins/categories/export/templates/config.yaml,sha256=fAqi-9dH7qEkFDSDFvt0BcZ72d2qbyt1P83L2ti6ELM,58
188
- synapse_sdk/plugins/categories/export/templates/plugin/__init__.py,sha256=jr88AziO-yi6dO9-O4a6HF6I6EBQjqP3h6dOrjYrDsU,15374
188
+ synapse_sdk/plugins/categories/export/templates/plugin/__init__.py,sha256=9pEo-TUCDugi-UVL5x9iz8gnMqGabsDTaKIm-SeQf7s,16042
189
189
  synapse_sdk/plugins/categories/export/templates/plugin/export.py,sha256=3dZUEdhj-4YySJ-cPyNAqQvj5xcAXIX4KmXKcacTtd0,2754
190
190
  synapse_sdk/plugins/categories/neural_net/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
191
  synapse_sdk/plugins/categories/neural_net/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -257,7 +257,7 @@ synapse_sdk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
257
257
  synapse_sdk/utils/dataset.py,sha256=zWTzFmv589izFr62BDuApi3r5FpTsdm-5AmriC0AEdM,1865
258
258
  synapse_sdk/utils/debug.py,sha256=F7JlUwYjTFZAMRbBqKm6hxOIz-_IXYA8lBInOS4jbS4,100
259
259
  synapse_sdk/utils/encryption.py,sha256=KMARrAk5aIHfBLC8CvdXiSIuaGvxljluubjF9PVLf7c,5100
260
- synapse_sdk/utils/file.py,sha256=lDyvSdw8_lV1mIwBWzO0DiCjPcv0BgC4qJNsr-ymbDQ,9162
260
+ synapse_sdk/utils/file.py.backup,sha256=lDyvSdw8_lV1mIwBWzO0DiCjPcv0BgC4qJNsr-ymbDQ,9162
261
261
  synapse_sdk/utils/http.py,sha256=yRxYfru8tMnBVeBK-7S0Ga13yOf8oRHquG5e8K_FWcI,4759
262
262
  synapse_sdk/utils/module_loading.py,sha256=chHpU-BZjtYaTBD_q0T7LcKWtqKvYBS4L0lPlKkoMQ8,1020
263
263
  synapse_sdk/utils/network.py,sha256=4zWUbuEPcMXb_NVVeuUJ8zSl10ZAlWVHfzqbR25aez8,11978
@@ -275,6 +275,15 @@ synapse_sdk/utils/converters/pascal/to_dm.py,sha256=bQNUepahOCot4J23LCPOlFOhIZJ8
275
275
  synapse_sdk/utils/converters/yolo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
276
276
  synapse_sdk/utils/converters/yolo/from_dm.py,sha256=-JDCQLk4g1_FIVoOwZ1Tcs2kWFkhXRCAPVLKLXz6sLU,16180
277
277
  synapse_sdk/utils/converters/yolo/to_dm.py,sha256=XcSkyPickvdPR2JZ-PMMPEf1-uWQL76_pO78-4aPYcQ,10614
278
+ synapse_sdk/utils/file/__init__.py,sha256=1FFrQVddZ8GgjcXkpWh4YcKLdzzCIB0p8bGmE3PPE5o,967
279
+ synapse_sdk/utils/file/archive.py,sha256=Wdn4f7vkqePNCE2JPMzZnyIfLrQ33LuPRvEGwB4Ieg4,1107
280
+ synapse_sdk/utils/file/checksum.py,sha256=9TArSECBHVwb0-NmtlJyNjZXXXMMOtwGxXW1p350B1g,1570
281
+ synapse_sdk/utils/file/chunking.py,sha256=IC1FPMqRwtuDFTZOZDvhCuUfo2LBMIC4Tf-LeLB0A1Q,1088
282
+ synapse_sdk/utils/file/download.py,sha256=Zsd0ik7ajRexwcRoQvx7AlZbe4uD9hhurZYs3eGw_1s,3931
283
+ synapse_sdk/utils/file/encoding.py,sha256=wcmWJuqhOnO94Umz03z_7znhtKwgpKIK9CsEagNdIwc,1124
284
+ synapse_sdk/utils/file/io.py,sha256=fl_PvRrdnAkGMmxcDth6nshudv94nalibkPOaI7KIOk,447
285
+ synapse_sdk/utils/file/video/__init__.py,sha256=mlmTtmx22-XZmrf5acPTOo2Ra2MMtVxUkxkDdQht4UE,614
286
+ synapse_sdk/utils/file/video/transcode.py,sha256=KKn2Mi9rP2ew33q4P-cn9O5JSVQODR5rg1FDPU6fjxo,10375
278
287
  synapse_sdk/utils/pydantic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
288
  synapse_sdk/utils/pydantic/config.py,sha256=1vYOcUI35GslfD1rrqhFkNXXJOXt4IDqOPSx9VWGfNE,123
280
289
  synapse_sdk/utils/pydantic/errors.py,sha256=0v0T12eQBr1KrFiEOBu6KMaPK4aPEGEC6etPJGoR5b4,1061
@@ -287,9 +296,9 @@ synapse_sdk/utils/storage/providers/gcp.py,sha256=i2BQCu1Kej1If9SuNr2_lEyTcr5M_n
287
296
  synapse_sdk/utils/storage/providers/http.py,sha256=2DhIulND47JOnS5ZY7MZUex7Su3peAPksGo1Wwg07L4,5828
288
297
  synapse_sdk/utils/storage/providers/s3.py,sha256=ZmqekAvIgcQBdRU-QVJYv1Rlp6VHfXwtbtjTSphua94,2573
289
298
  synapse_sdk/utils/storage/providers/sftp.py,sha256=_8s9hf0JXIO21gvm-JVS00FbLsbtvly4c-ETLRax68A,1426
290
- synapse_sdk-1.0.0b23.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
291
- synapse_sdk-1.0.0b23.dist-info/METADATA,sha256=9Ei8_lzCHlc2TOUN7xLUzRf41GqlAbLc8V83Icw0PVw,3745
292
- synapse_sdk-1.0.0b23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
293
- synapse_sdk-1.0.0b23.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
294
- synapse_sdk-1.0.0b23.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
295
- synapse_sdk-1.0.0b23.dist-info/RECORD,,
299
+ synapse_sdk-1.0.0b24.dist-info/licenses/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
300
+ synapse_sdk-1.0.0b24.dist-info/METADATA,sha256=tZXjgzMFe1phEDqypqt3HjsxjvYfKS7lm_MfRgcKHNc,3781
301
+ synapse_sdk-1.0.0b24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
302
+ synapse_sdk-1.0.0b24.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
303
+ synapse_sdk-1.0.0b24.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
304
+ synapse_sdk-1.0.0b24.dist-info/RECORD,,
@@ -1,195 +0,0 @@
1
- ---
2
- id: file
3
- title: File Utilities
4
- sidebar_position: 1
5
- ---
6
-
7
- # File Utilities
8
-
9
- File operations and handling utilities.
10
-
11
- ## File Operations
12
-
13
- ### Archive Functions
14
-
15
- Functions for creating and extracting plugin archives.
16
-
17
- ### Download Functions
18
-
19
- Utilities for downloading files from URLs.
20
-
21
- ```python
22
- from synapse_sdk.utils.file import download_file
23
-
24
- local_path = download_file(url, destination)
25
- ```
26
-
27
- ### Upload Functions
28
-
29
- File upload utilities with chunked upload support.
30
-
31
- ## Chunked File Operations
32
-
33
- ### read_file_in_chunks
34
-
35
- Read files in chunks for efficient memory usage, particularly useful for large files or when processing files in chunks for uploading or hashing.
36
-
37
- ```python
38
- from synapse_sdk.utils.file import read_file_in_chunks
39
-
40
- # Read a file in default 50MB chunks
41
- for chunk in read_file_in_chunks('/path/to/large_file.bin'):
42
- process_chunk(chunk)
43
-
44
- # Read with custom chunk size (10MB)
45
- for chunk in read_file_in_chunks('/path/to/file.bin', chunk_size=1024*1024*10):
46
- upload_chunk(chunk)
47
- ```
48
-
49
- **Parameters:**
50
-
51
- - `file_path` (str | Path): Path to the file to read
52
- - `chunk_size` (int, optional): Size of each chunk in bytes. Defaults to 50MB (52,428,800 bytes)
53
-
54
- **Returns:**
55
-
56
- - Generator yielding file content chunks as bytes
57
-
58
- **Raises:**
59
-
60
- - `FileNotFoundError`: If the file doesn't exist
61
- - `PermissionError`: If the file can't be read due to permissions
62
- - `OSError`: If there's an OS-level error reading the file
63
-
64
- ### Use Cases
65
-
66
- **Large File Processing**: Efficiently process files that are too large to fit in memory:
67
-
68
- ```python
69
- import hashlib
70
-
71
- def calculate_hash_for_large_file(file_path):
72
- hash_md5 = hashlib.md5()
73
- for chunk in read_file_in_chunks(file_path):
74
- hash_md5.update(chunk)
75
- return hash_md5.hexdigest()
76
- ```
77
-
78
- **Chunked Upload Integration**: The function integrates seamlessly with the `CoreClientMixin.create_chunked_upload` method:
79
-
80
- ```python
81
- from synapse_sdk.clients.backend.core import CoreClientMixin
82
-
83
- client = CoreClientMixin(base_url='https://api.example.com')
84
- result = client.create_chunked_upload('/path/to/large_file.zip')
85
- ```
86
-
87
- **Best Practices:**
88
-
89
- - Use default chunk size (50MB) for optimal upload performance
90
- - Adjust chunk size based on available memory and network conditions
91
- - For very large files (>1GB), consider using smaller chunks for better progress tracking
92
- - Always handle exceptions when working with file operations
93
-
94
- ## Checksum Functions
95
-
96
- ### get_checksum_from_file
97
-
98
- Calculate checksum for file-like objects without requiring Django dependencies. This function works with any file-like object that has a `read()` method, making it compatible with Django's File objects, BytesIO, StringIO, and regular file objects.
99
-
100
- ```python
101
- import hashlib
102
- from io import BytesIO
103
- from synapse_sdk.utils.file import get_checksum_from_file
104
-
105
- # Basic usage with BytesIO (defaults to SHA1)
106
- data = BytesIO(b'Hello, world!')
107
- checksum = get_checksum_from_file(data)
108
- print(checksum) # SHA1 hash as hexadecimal string
109
-
110
- # Using different hash algorithms
111
- checksum_md5 = get_checksum_from_file(data, digest_mod=hashlib.md5)
112
- checksum_sha256 = get_checksum_from_file(data, digest_mod=hashlib.sha256)
113
-
114
- # With real file objects
115
- with open('/path/to/file.txt', 'rb') as f:
116
- checksum = get_checksum_from_file(f)
117
-
118
- # With StringIO (text files)
119
- from io import StringIO
120
- text_data = StringIO('Hello, world!')
121
- checksum = get_checksum_from_file(text_data) # Automatically UTF-8 encoded
122
- ```
123
-
124
- **Parameters:**
125
-
126
- - `file` (IO[Any]): File-like object with read() method that supports reading in chunks
127
- - `digest_mod` (Callable[[], Any], optional): Hash algorithm from hashlib. Defaults to `hashlib.sha1`
128
-
129
- **Returns:**
130
-
131
- - `str`: Hexadecimal digest of the file contents
132
-
133
- **Key Features:**
134
-
135
- - **Memory Efficient**: Reads files in 4KB chunks to handle large files
136
- - **Automatic File Pointer Reset**: Resets to beginning if the file object supports seeking
137
- - **Text/Binary Agnostic**: Handles both text (StringIO) and binary (BytesIO) file objects
138
- - **No Django Dependency**: Works without Django while being compatible with Django File objects
139
- - **Flexible Hash Algorithms**: Supports any hashlib algorithm (SHA1, SHA256, MD5, etc.)
140
-
141
- **Use Cases:**
142
-
143
- **Django File Object Compatibility**: Works with Django's File objects without requiring Django:
144
-
145
- ```python
146
- # Simulating Django File-like behavior
147
- class FileWrapper:
148
- def __init__(self, data):
149
- self._data = data
150
- self._pos = 0
151
-
152
- def read(self, size=None):
153
- if size is None:
154
- result = self._data[self._pos:]
155
- self._pos = len(self._data)
156
- else:
157
- result = self._data[self._pos:self._pos + size]
158
- self._pos += len(result)
159
- return result
160
-
161
- file_obj = FileWrapper(b'File content')
162
- checksum = get_checksum_from_file(file_obj)
163
- ```
164
-
165
- **Large File Processing**: Efficiently calculate checksums for large files:
166
-
167
- ```python
168
- # Large file processing with memory efficiency
169
- with open('/path/to/large_file.bin', 'rb') as large_file:
170
- checksum = get_checksum_from_file(large_file, digest_mod=hashlib.sha256)
171
- ```
172
-
173
- **Multiple Hash Algorithms**: Calculate different checksums for the same file:
174
-
175
- ```python
176
- algorithms = [
177
- ('MD5', hashlib.md5),
178
- ('SHA1', hashlib.sha1),
179
- ('SHA256', hashlib.sha256),
180
- ]
181
-
182
- with open('/path/to/file.bin', 'rb') as f:
183
- checksums = {}
184
- for name, algo in algorithms:
185
- f.seek(0) # Reset file pointer
186
- checksums[name] = get_checksum_from_file(f, digest_mod=algo)
187
- ```
188
-
189
- ## Path Utilities
190
-
191
- Functions for path manipulation and validation.
192
-
193
- ## Temporary Files
194
-
195
- Utilities for managing temporary files and cleanup.
@@ -1,195 +0,0 @@
1
- ---
2
- id: file
3
- title: 파일 유틸리티
4
- sidebar_position: 1
5
- ---
6
-
7
- # 파일 유틸리티
8
-
9
- 파일 작업 및 처리 유틸리티입니다.
10
-
11
- ## 파일 작업
12
-
13
- ### 아카이브 함수
14
-
15
- 플러그인 아카이브를 생성하고 추출하는 함수입니다.
16
-
17
- ### 다운로드 함수
18
-
19
- URL에서 파일을 다운로드하는 유틸리티입니다.
20
-
21
- ```python
22
- from synapse_sdk.utils.file import download_file
23
-
24
- local_path = download_file(url, destination)
25
- ```
26
-
27
- ### 업로드 함수
28
-
29
- 청크 업로드 지원을 포함한 파일 업로드 유틸리티입니다.
30
-
31
- ## 청크 파일 작업
32
-
33
- ### read_file_in_chunks
34
-
35
- 효율적인 메모리 사용을 위해 파일을 청크 단위로 읽습니다. 대용량 파일이나 업로드 또는 해싱을 위해 파일을 청크 단위로 처리할 때 특히 유용합니다.
36
-
37
- ```python
38
- from synapse_sdk.utils.file import read_file_in_chunks
39
-
40
- # 기본 50MB 청크로 파일 읽기
41
- for chunk in read_file_in_chunks('/path/to/large_file.bin'):
42
- process_chunk(chunk)
43
-
44
- # 사용자 정의 청크 크기로 읽기 (10MB)
45
- for chunk in read_file_in_chunks('/path/to/file.bin', chunk_size=1024*1024*10):
46
- upload_chunk(chunk)
47
- ```
48
-
49
- **매개변수:**
50
-
51
- - `file_path` (str | Path): 읽을 파일의 경로
52
- - `chunk_size` (int, 선택사항): 각 청크의 바이트 크기. 기본값은 50MB (52,428,800바이트)
53
-
54
- **반환값:**
55
-
56
- - 파일 내용 청크를 바이트로 생성하는 제너레이터
57
-
58
- **예외:**
59
-
60
- - `FileNotFoundError`: 파일이 존재하지 않는 경우
61
- - `PermissionError`: 권한으로 인해 파일을 읽을 수 없는 경우
62
- - `OSError`: 파일 읽기 시 OS 수준 오류가 발생한 경우
63
-
64
- ### 사용 사례
65
-
66
- **대용량 파일 처리**: 메모리에 맞지 않는 대용량 파일을 효율적으로 처리합니다:
67
-
68
- ```python
69
- import hashlib
70
-
71
- def calculate_hash_for_large_file(file_path):
72
- hash_md5 = hashlib.md5()
73
- for chunk in read_file_in_chunks(file_path):
74
- hash_md5.update(chunk)
75
- return hash_md5.hexdigest()
76
- ```
77
-
78
- **청크 업로드 통합**: 이 함수는 `CoreClientMixin.create_chunked_upload` 메서드와 완벽하게 통합됩니다:
79
-
80
- ```python
81
- from synapse_sdk.clients.backend.core import CoreClientMixin
82
-
83
- client = CoreClientMixin(base_url='https://api.example.com')
84
- result = client.create_chunked_upload('/path/to/large_file.zip')
85
- ```
86
-
87
- **모범 사례:**
88
-
89
- - 최적의 업로드 성능을 위해 기본 청크 크기(50MB) 사용
90
- - 사용 가능한 메모리와 네트워크 조건에 따라 청크 크기 조정
91
- - 매우 큰 파일(>1GB)의 경우, 더 나은 진행 상황 추적을 위해 작은 청크 사용 고려
92
- - 파일 작업 시 항상 예외 처리
93
-
94
- ## 체크섬 함수
95
-
96
- ### get_checksum_from_file
97
-
98
- Django 의존성 없이 파일 형태 객체의 체크섬을 계산합니다. 이 함수는 `read()` 메서드가 있는 모든 파일 형태 객체와 함께 작동하며, Django의 File 객체, BytesIO, StringIO, 일반 파일 객체와 호환됩니다.
99
-
100
- ```python
101
- import hashlib
102
- from io import BytesIO
103
- from synapse_sdk.utils.file import get_checksum_from_file
104
-
105
- # BytesIO와 기본 사용법 (기본값은 SHA1)
106
- data = BytesIO(b'Hello, world!')
107
- checksum = get_checksum_from_file(data)
108
- print(checksum) # 16진수 문자열로 된 SHA1 해시
109
-
110
- # 다른 해시 알고리즘 사용
111
- checksum_md5 = get_checksum_from_file(data, digest_mod=hashlib.md5)
112
- checksum_sha256 = get_checksum_from_file(data, digest_mod=hashlib.sha256)
113
-
114
- # 실제 파일 객체와 함께 사용
115
- with open('/path/to/file.txt', 'rb') as f:
116
- checksum = get_checksum_from_file(f)
117
-
118
- # StringIO와 함께 사용 (텍스트 파일)
119
- from io import StringIO
120
- text_data = StringIO('Hello, world!')
121
- checksum = get_checksum_from_file(text_data) # 자동으로 UTF-8로 인코딩
122
- ```
123
-
124
- **매개변수:**
125
-
126
- - `file` (IO[Any]): 청크 단위로 읽기를 지원하는 read() 메서드가 있는 파일 형태 객체
127
- - `digest_mod` (Callable[[], Any], 선택사항): hashlib의 해시 알고리즘. 기본값은 `hashlib.sha1`
128
-
129
- **반환값:**
130
-
131
- - `str`: 파일 내용의 16진수 다이제스트
132
-
133
- **주요 기능:**
134
-
135
- - **메모리 효율적**: 대용량 파일을 처리하기 위해 4KB 청크로 파일 읽기
136
- - **자동 파일 포인터 리셋**: 파일 객체가 시킹을 지원하는 경우 시작 위치로 리셋
137
- - **텍스트/바이너리 무관**: 텍스트(StringIO)와 바이너리(BytesIO) 파일 객체 모두 처리
138
- - **Django 의존성 없음**: Django File 객체와 호환되면서도 Django 없이 작동
139
- - **유연한 해시 알고리즘**: 모든 hashlib 알고리즘 지원 (SHA1, SHA256, MD5 등)
140
-
141
- **사용 사례:**
142
-
143
- **Django 파일 객체 호환성**: Django를 요구하지 않으면서도 Django의 File 객체와 함께 작동합니다:
144
-
145
- ```python
146
- # Django File 형태 동작 시뮬레이션
147
- class FileWrapper:
148
- def __init__(self, data):
149
- self._data = data
150
- self._pos = 0
151
-
152
- def read(self, size=None):
153
- if size is None:
154
- result = self._data[self._pos:]
155
- self._pos = len(self._data)
156
- else:
157
- result = self._data[self._pos:self._pos + size]
158
- self._pos += len(result)
159
- return result
160
-
161
- file_obj = FileWrapper(b'File content')
162
- checksum = get_checksum_from_file(file_obj)
163
- ```
164
-
165
- **대용량 파일 처리**: 대용량 파일의 체크섬을 효율적으로 계산합니다:
166
-
167
- ```python
168
- # 메모리 효율성을 갖춘 대용량 파일 처리
169
- with open('/path/to/large_file.bin', 'rb') as large_file:
170
- checksum = get_checksum_from_file(large_file, digest_mod=hashlib.sha256)
171
- ```
172
-
173
- **다중 해시 알고리즘**: 같은 파일에 대해 다른 체크섬을 계산합니다:
174
-
175
- ```python
176
- algorithms = [
177
- ('MD5', hashlib.md5),
178
- ('SHA1', hashlib.sha1),
179
- ('SHA256', hashlib.sha256),
180
- ]
181
-
182
- with open('/path/to/file.bin', 'rb') as f:
183
- checksums = {}
184
- for name, algo in algorithms:
185
- f.seek(0) # 파일 포인터 리셋
186
- checksums[name] = get_checksum_from_file(f, digest_mod=algo)
187
- ```
188
-
189
- ## 경로 유틸리티
190
-
191
- 경로 조작 및 검증을 위한 함수입니다.
192
-
193
- ## 임시 파일
194
-
195
- 임시 파일 관리 및 정리를 위한 유틸리티입니다.
File without changes