synapse-sdk 1.0.0a24__tar.gz → 1.0.0a26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of synapse-sdk might be problematic. Click here for more details.

Files changed (126) hide show
  1. {synapse_sdk-1.0.0a24/synapse_sdk.egg-info → synapse_sdk-1.0.0a26}/PKG-INFO +2 -2
  2. synapse_sdk-1.0.0a26/synapse_sdk/types.py +19 -0
  3. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/file.py +31 -15
  4. synapse_sdk-1.0.0a26/synapse_sdk/utils/network.py +16 -0
  5. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26/synapse_sdk.egg-info}/PKG-INFO +2 -2
  6. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk.egg-info/SOURCES.txt +2 -0
  7. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/.github/workflows/lint.yml +0 -0
  8. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/.github/workflows/pypi-publish.yml +0 -0
  9. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/.gitignore +0 -0
  10. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/.pre-commit-config.yaml +0 -0
  11. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/LICENSE +0 -0
  12. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/README.md +0 -0
  13. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/locale/en/LC_MESSAGES/messages.mo +0 -0
  14. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/locale/en/LC_MESSAGES/messages.po +0 -0
  15. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/locale/ko/LC_MESSAGES/messages.mo +0 -0
  16. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/locale/ko/LC_MESSAGES/messages.po +0 -0
  17. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/pyproject.toml +0 -0
  18. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/requirements.txt +0 -0
  19. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/setup.cfg +0 -0
  20. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/__init__.py +0 -0
  21. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/cli/__init__.py +0 -0
  22. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/cli/create_plugin.py +0 -0
  23. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/__init__.py +0 -0
  24. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/agent/__init__.py +0 -0
  25. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/agent/core.py +0 -0
  26. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/agent/ray.py +0 -0
  27. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/agent/service.py +0 -0
  28. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/backend/__init__.py +0 -0
  29. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/backend/annotation.py +0 -0
  30. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/backend/core.py +0 -0
  31. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/backend/dataset.py +0 -0
  32. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/backend/integration.py +0 -0
  33. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/backend/ml.py +0 -0
  34. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/base.py +0 -0
  35. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/exceptions.py +0 -0
  36. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/ray/__init__.py +0 -0
  37. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/ray/core.py +0 -0
  38. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/ray/serve.py +0 -0
  39. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/clients/utils.py +0 -0
  40. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/i18n.py +0 -0
  41. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/loggers.py +0 -0
  42. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/__init__.py +0 -0
  43. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/__init__.py +0 -0
  44. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/base.py +0 -0
  45. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/data_validation/__init__.py +0 -0
  46. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/data_validation/actions/__init__.py +0 -0
  47. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/data_validation/actions/validation.py +0 -0
  48. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/data_validation/templates/config.yaml +0 -0
  49. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/data_validation/templates/plugin/__init__.py +0 -0
  50. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/data_validation/templates/plugin/validation.py +0 -0
  51. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/decorators.py +0 -0
  52. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/export/__init__.py +0 -0
  53. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/export/actions/__init__.py +0 -0
  54. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/export/actions/export.py +0 -0
  55. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/import/__init__.py +0 -0
  56. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/import/actions/__init__.py +0 -0
  57. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/import/actions/import.py +0 -0
  58. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/__init__.py +0 -0
  59. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/actions/__init__.py +0 -0
  60. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/actions/deployment.py +0 -0
  61. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/actions/inference.py +0 -0
  62. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/actions/test.py +0 -0
  63. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/actions/train.py +0 -0
  64. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/base/__init__.py +0 -0
  65. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/base/inference.py +1 -1
  66. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/templates/config.yaml +0 -0
  67. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py +0 -0
  68. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py +0 -0
  69. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py +0 -0
  70. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +0 -0
  71. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/post_annotation/__init__.py +0 -0
  72. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/post_annotation/actions/__init__.py +0 -0
  73. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py +0 -0
  74. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/post_annotation/templates/config.yaml +0 -0
  75. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/__init__.py +0 -0
  76. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/post_annotation/templates/plugin/post_annotation.py +0 -0
  77. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/pre_annotation/__init__.py +0 -0
  78. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/pre_annotation/actions/__init__.py +0 -0
  79. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/pre_annotation/actions/pre_annotation.py +0 -0
  80. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/pre_annotation/templates/config.yaml +0 -0
  81. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/__init__.py +0 -0
  82. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/pre_annotation/templates/plugin/pre_annotation.py +0 -0
  83. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/registry.py +0 -0
  84. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/smart_tool/__init__.py +0 -0
  85. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/smart_tool/actions/__init__.py +0 -0
  86. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/smart_tool/actions/auto_label.py +0 -0
  87. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/smart_tool/templates/config.yaml +0 -0
  88. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/__init__.py +0 -0
  89. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/smart_tool/templates/plugin/auto_label.py +0 -0
  90. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/categories/templates.py +0 -0
  91. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/cli/__init__.py +0 -0
  92. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/cli/publish.py +0 -0
  93. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/cli/run.py +0 -0
  94. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/enums.py +0 -0
  95. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/exceptions.py +0 -0
  96. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/models.py +0 -0
  97. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/cookiecutter.json +0 -0
  98. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/hooks/post_gen_project.py +0 -0
  99. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/hooks/pre_prompt.py +0 -0
  100. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env +0 -0
  101. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.env.dist +0 -0
  102. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.gitignore +0 -0
  103. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/.pre-commit-config.yaml +0 -0
  104. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/README.md +0 -0
  105. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/config.yaml +0 -0
  106. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/main.py +0 -0
  107. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/plugin/__init__.py +0 -0
  108. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/pyproject.toml +0 -0
  109. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/templates/synapse-{{cookiecutter.plugin_code}}-plugin/requirements.txt +0 -0
  110. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/upload.py +0 -0
  111. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/plugins/utils.py +0 -0
  112. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/shared/__init__.py +0 -0
  113. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/shared/enums.py +0 -0
  114. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/__init__.py +0 -0
  115. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/debug.py +0 -0
  116. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/module_loading.py +0 -0
  117. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/pydantic/__init__.py +0 -0
  118. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/pydantic/config.py +0 -0
  119. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/pydantic/errors.py +0 -0
  120. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/pydantic/validators.py +0 -0
  121. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/storage.py +0 -0
  122. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk/utils/string.py +0 -0
  123. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk.egg-info/dependency_links.txt +0 -0
  124. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk.egg-info/entry_points.txt +0 -0
  125. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk.egg-info/requires.txt +0 -0
  126. {synapse_sdk-1.0.0a24 → synapse_sdk-1.0.0a26}/synapse_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a24
3
+ Version: 1.0.0a26
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -0,0 +1,19 @@
1
+ from typing import Any
2
+
3
+ from pydantic import HttpUrl
4
+ from pydantic_core import core_schema
5
+ from pydantic_core.core_schema import ValidationInfo
6
+
7
+ from synapse_sdk.utils.file import download_file, get_temp_path
8
+
9
+
10
+ class FileField(str):
11
+ @classmethod
12
+ def __get_pydantic_core_schema__(cls, source_type: Any, _handler: callable) -> core_schema.CoreSchema:
13
+ return core_schema.with_info_before_validator_function(cls.validate, core_schema.str_schema())
14
+
15
+ @staticmethod
16
+ def validate(url: HttpUrl, info: ValidationInfo) -> str:
17
+ path_download = get_temp_path('media')
18
+ path_download.mkdir(parents=True, exist_ok=True)
19
+ return str(download_file(url, path_download))
@@ -5,24 +5,35 @@ import operator
5
5
  import zipfile
6
6
  from functools import reduce
7
7
  from pathlib import Path
8
- from urllib.parse import urlparse
9
8
 
10
9
  import aiohttp
11
10
  import requests
12
11
  import yaml
13
12
 
13
+ from synapse_sdk.utils.network import clean_url
14
+ from synapse_sdk.utils.string import hash_text
15
+
16
+
17
+ def download_file(url, path_download, name=None, coerce=None, use_cached=True):
18
+ chunk_size = 1024 * 1024 * 50
19
+ cleaned_url = clean_url(url) # remove query params and fragment
14
20
 
15
- def download_file(url, path_download, name=None, coerce=None):
16
21
  if name:
17
- name += Path(url).suffix
22
+ use_cached = False
18
23
  else:
19
- name = Path(url).name
24
+ name = hash_text(cleaned_url)
25
+
26
+ name += Path(cleaned_url).suffix
20
27
 
21
- name = urlparse(name).path
22
28
  path = Path(path_download) / name
23
- if not path.is_file():
24
- r = requests.get(url, allow_redirects=True)
25
- open(str(path), 'wb').write(r.content)
29
+
30
+ if not use_cached or not path.is_file():
31
+ response = requests.get(url, allow_redirects=True, stream=True)
32
+ response.raise_for_status()
33
+
34
+ with path.open('wb') as file:
35
+ for chunk in response.iter_content(chunk_size=chunk_size):
36
+ file.write(chunk)
26
37
 
27
38
  if coerce:
28
39
  path = coerce(path)
@@ -62,19 +73,24 @@ def files_url_to_path_from_objs(objs, files_fields, coerce=None, is_list=False,
62
73
  pass
63
74
 
64
75
 
65
- async def adownload_file(url, path_download, name=None, coerce=None):
76
+ async def adownload_file(url, path_download, name=None, coerce=None, use_cached=True):
77
+ chunk_size = 1024 * 1024 * 50
78
+ cleaned_url = clean_url(url) # remove query params and fragment
79
+
66
80
  if name:
67
- name += Path(url).suffix
81
+ use_cached = False
68
82
  else:
69
- name = Path(url).name
83
+ name = hash_text(cleaned_url)
84
+
85
+ name += Path(cleaned_url).suffix
70
86
 
71
- name = urlparse(name).path
72
87
  path = Path(path_download) / name
73
- if not path.is_file():
88
+
89
+ if not use_cached or not path.is_file():
74
90
  async with aiohttp.ClientSession() as session:
75
91
  async with session.get(url) as response:
76
- with open(str(path), 'wb') as file:
77
- while chunk := await response.content.read(1024 * 64):
92
+ with path.open('wb') as file:
93
+ while chunk := await response.content.read(chunk_size):
78
94
  file.write(chunk)
79
95
 
80
96
  if coerce:
@@ -0,0 +1,16 @@
1
+ from urllib.parse import urlparse, urlunparse
2
+
3
+
4
+ def clean_url(url, remove_query_params=True, remove_fragment=True):
5
+ parsed = urlparse(url)
6
+ query = '' if remove_query_params else parsed.query
7
+ fragment = '' if remove_fragment else parsed.fragment
8
+
9
+ return urlunparse((
10
+ parsed.scheme,
11
+ parsed.netloc,
12
+ parsed.path,
13
+ parsed.params,
14
+ query,
15
+ fragment,
16
+ ))
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: synapse-sdk
3
- Version: 1.0.0a24
3
+ Version: 1.0.0a26
4
4
  Summary: synapse sdk
5
5
  Author-email: datamaker <developer@datamaker.io>
6
6
  License: MIT
@@ -11,6 +11,7 @@ locale/ko/LC_MESSAGES/messages.po
11
11
  synapse_sdk/__init__.py
12
12
  synapse_sdk/i18n.py
13
13
  synapse_sdk/loggers.py
14
+ synapse_sdk/types.py
14
15
  synapse_sdk.egg-info/PKG-INFO
15
16
  synapse_sdk.egg-info/SOURCES.txt
16
17
  synapse_sdk.egg-info/dependency_links.txt
@@ -116,6 +117,7 @@ synapse_sdk/utils/__init__.py
116
117
  synapse_sdk/utils/debug.py
117
118
  synapse_sdk/utils/file.py
118
119
  synapse_sdk/utils/module_loading.py
120
+ synapse_sdk/utils/network.py
119
121
  synapse_sdk/utils/storage.py
120
122
  synapse_sdk/utils/string.py
121
123
  synapse_sdk/utils/pydantic/__init__.py
File without changes
File without changes
File without changes
@@ -1,10 +1,10 @@
1
1
  import tempfile
2
2
 
3
3
  import jwt
4
- from synapse_sdk.clients.backend import BackendClient
5
4
  from fastapi import FastAPI
6
5
  from ray import serve
7
6
 
7
+ from synapse_sdk.clients.backend import BackendClient
8
8
  from synapse_sdk.utils.file import unarchive
9
9
 
10
10
  app = FastAPI()