tencentcloud-sdk-python-redis 3.1.145__tar.gz → 3.1.152__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (17) hide show
  1. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/PKG-INFO +2 -2
  2. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/setup.py +1 -1
  3. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/__init__.py +1 -1
  4. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/redis/v20180412/models.py +81 -4
  5. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud_sdk_python_redis.egg-info/PKG-INFO +2 -2
  6. tencentcloud_sdk_python_redis-3.1.152/tencentcloud_sdk_python_redis.egg-info/requires.txt +1 -0
  7. tencentcloud_sdk_python_redis-3.1.145/tencentcloud_sdk_python_redis.egg-info/requires.txt +0 -1
  8. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/README.rst +0 -0
  9. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/setup.cfg +0 -0
  10. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/redis/__init__.py +0 -0
  11. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/redis/v20180412/__init__.py +0 -0
  12. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/redis/v20180412/errorcodes.py +0 -0
  13. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/redis/v20180412/redis_client.py +0 -0
  14. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud/redis/v20180412/redis_client_async.py +0 -0
  15. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud_sdk_python_redis.egg-info/SOURCES.txt +0 -0
  16. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud_sdk_python_redis.egg-info/dependency_links.txt +0 -0
  17. {tencentcloud_sdk_python_redis-3.1.145 → tencentcloud_sdk_python_redis-3.1.152}/tencentcloud_sdk_python_redis.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tencentcloud-sdk-python-redis
3
- Version: 3.1.145
3
+ Version: 3.1.152
4
4
  Summary: Tencent Cloud Redis SDK for Python
5
5
  Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
6
6
  Author: Tencent Cloud
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
15
15
  Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.6
17
17
  Classifier: Programming Language :: Python :: 3.7
18
- Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.145
18
+ Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.152
19
19
 
20
20
  ============================
21
21
  Tencent Cloud SDK for Python
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
8
8
 
9
9
  setup(
10
10
  name='tencentcloud-sdk-python-redis',
11
- install_requires=["tencentcloud-sdk-python-common>=3.1.145,<4.0.0"],
11
+ install_requires=["tencentcloud-sdk-python-common>=3.1.152,<4.0.0"],
12
12
 
13
13
  version=tencentcloud.__version__,
14
14
  description='Tencent Cloud Redis SDK for Python',
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
 
16
16
 
17
- __version__ = '3.1.145'
17
+ __version__ = '3.1.152'
@@ -1749,6 +1749,8 @@ class CloneInstancesRequest(AbstractModel):
1749
1749
  :type EnableSSL: bool
1750
1750
  :param _SSLBindPrivateIPv4: <p>开启 SSL 时,是否将实例的内网 IPv4 地址写入证书的域名别名(SAN)中。仅在 EnableSSL 为 true 时生效。</p><p>枚举值:</p><ul><li>true: 允许使用内网 IP 进行 SSL 证书校验。</li><li>false: 不添加证书的 SAN 扩展信息。</li></ul><p>默认值:false</p>
1751
1751
  :type SSLBindPrivateIPv4: bool
1752
+ :param _ProductVersion: <p>指实例类型</p><p>枚举值:</p><ul><li>local: 通用 I 型</li><li>localv2: 通用 II 型</li></ul><p>不传则默认和原实例类型保持一致</p>
1753
+ :type ProductVersion: str
1752
1754
  """
1753
1755
  self._InstanceId = None
1754
1756
  self._GoodsNum = None
@@ -1774,6 +1776,7 @@ class CloneInstancesRequest(AbstractModel):
1774
1776
  self._PasswordPolicy = None
1775
1777
  self._EnableSSL = None
1776
1778
  self._SSLBindPrivateIPv4 = None
1779
+ self._ProductVersion = None
1777
1780
 
1778
1781
  @property
1779
1782
  def InstanceId(self):
@@ -2039,6 +2042,17 @@ class CloneInstancesRequest(AbstractModel):
2039
2042
  def SSLBindPrivateIPv4(self, SSLBindPrivateIPv4):
2040
2043
  self._SSLBindPrivateIPv4 = SSLBindPrivateIPv4
2041
2044
 
2045
+ @property
2046
+ def ProductVersion(self):
2047
+ r"""<p>指实例类型</p><p>枚举值:</p><ul><li>local: 通用 I 型</li><li>localv2: 通用 II 型</li></ul><p>不传则默认和原实例类型保持一致</p>
2048
+ :rtype: str
2049
+ """
2050
+ return self._ProductVersion
2051
+
2052
+ @ProductVersion.setter
2053
+ def ProductVersion(self, ProductVersion):
2054
+ self._ProductVersion = ProductVersion
2055
+
2042
2056
 
2043
2057
  def _deserialize(self, params):
2044
2058
  self._InstanceId = params.get("InstanceId")
@@ -2077,6 +2091,7 @@ class CloneInstancesRequest(AbstractModel):
2077
2091
  self._PasswordPolicy._deserialize(params.get("PasswordPolicy"))
2078
2092
  self._EnableSSL = params.get("EnableSSL")
2079
2093
  self._SSLBindPrivateIPv4 = params.get("SSLBindPrivateIPv4")
2094
+ self._ProductVersion = params.get("ProductVersion")
2080
2095
  memeber_set = set(params.keys())
2081
2096
  for name, value in vars(self).items():
2082
2097
  property_name = name[1:]
@@ -2723,7 +2738,7 @@ class CreateInstancesRequest(AbstractModel):
2723
2738
 
2724
2739
  def __init__(self):
2725
2740
  r"""
2726
- :param _TypeId: <p>实例类型。</p><ul><li>2:Redis 2.8 内存版(标准架构)。</li><li>3:CKV 3.2 内存版(标准架构)。</li><li>4:CKV 3.2 内存版(集群架构)。</li><li>6:Redis 4.0 内存版(标准架构)。</li><li>7:Redis 4.0 内存版(集群架构)。</li><li>8:Redis 5.0 内存版(标准架构)。</li><li>9:Redis 5.0 内存版(集群架构)。</li><li>15:Redis 6.2 内存版(标准架构)。</li><li>16:Redis 6.2 内存版(集群架构)。</li><li>17:Redis 7.0 内存版(标准架构)。</li><li>18:Redis 7.0 内存版(集群架构)。</li><li>19:Valkey 8.0 内存版(标准架构)。</li><li>20:Valkey 8.0 内存版(集群架构)。</li><li>200:Memcached 1.6 内存版(集群架构)。<br><strong>说明</strong>:CKV 版本当前有存量用户使用,暂时保留。</li></ul>
2741
+ :param _TypeId: <p>实例类型。</p><ul><li>2:Redis 2.8 内存版(标准架构)。</li><li>3:CKV 3.2 内存版(标准架构)。</li><li>4:CKV 3.2 内存版(集群架构)。</li><li>6:Redis 4.0 内存版(标准架构)。</li><li>7:Redis 4.0 内存版(集群架构)。</li><li>8:Redis 5.0 内存版(标准架构)。</li><li>9:Redis 5.0 内存版(集群架构)。</li><li>15:Redis 6.2 内存版(标准架构)。</li><li>16:Redis 6.2 内存版(集群架构)。</li><li>17:Redis 7.0 内存版(标准架构)。</li><li>18:Redis 7.0 内存版(集群架构)。</li><li>19:Valkey 8.0 内存版(标准架构)。</li><li>20:Valkey 8.0 内存版(集群架构)。</li><li>21:Valkey 9.0 内存版(标准架构)。</li><li>22:Valkey 9.0 内存版(集群架构)。</li><li>200:Memcached 1.6 内存版(集群架构)。<br><strong>说明</strong>:CKV 版本当前有存量用户使用,暂时保留。</li></ul>
2727
2742
  :type TypeId: int
2728
2743
  :param _MemSize: <p>内存容量,单位为MB, 数值需为1024的整数倍。具体规格,请通过 <a href="https://cloud.tencent.com/document/api/239/30600">DescribeProductInfo</a> 接口查询全地域的售卖规格。</p><ul><li><strong>TypeId</strong>为标准架构时,<strong>MemSize</strong>是实例总内存容量;</li><li><strong>TypeId</strong>为集群架构时,<strong>MemSize</strong>是单分片内存容量。</li></ul>
2729
2744
  :type MemSize: int
@@ -2777,6 +2792,14 @@ class CreateInstancesRequest(AbstractModel):
2777
2792
  :type AlarmPolicyList: list of str
2778
2793
  :param _EncryptPassword: <p>是否启用密码加密传输。</p><ul><li>true:加密。</li><li>false:不加密(默认值)。</li></ul>
2779
2794
  :type EncryptPassword: bool
2795
+ :param _PasswordPolicy: <p>实例级密码复杂度策略。未传入或 Enabled=false 时,视为不启用策略,按系统默认规则校验。</p>
2796
+ :type PasswordPolicy: :class:`tencentcloud.redis.v20180412.models.PasswordPolicy`
2797
+ :param _EnableSSL: <p>是否开启 SSL 加密传输。</p><ul><li>true:开启。</li><li>false:关闭(默认值)。</li></ul>
2798
+ :type EnableSSL: bool
2799
+ :param _SSLBindPrivateIPv4: <p>开启 SSL 时,是否将实例的内网 IPv4 地址写入证书的域名别名(SAN)中。仅在 EnableSSL 为 true 时生效。</p><ul><li>true:允许使用内网 IP 进行 SSL 证书校验。</li><li>false:不添加证书的 SAN 扩展信息。</li></ul>
2800
+ :type SSLBindPrivateIPv4: bool
2801
+ :param _ConnectionMode: <p>实例连接访问模式。</p><ul><li>0:代理模式(Proxy Mode,默认值)。</li><li>1:直连模式(Direct Connect Mode)。</li></ul>
2802
+ :type ConnectionMode: int
2780
2803
  """
2781
2804
  self._TypeId = None
2782
2805
  self._MemSize = None
@@ -2805,10 +2828,14 @@ class CreateInstancesRequest(AbstractModel):
2805
2828
  self._RedisClusterId = None
2806
2829
  self._AlarmPolicyList = None
2807
2830
  self._EncryptPassword = None
2831
+ self._PasswordPolicy = None
2832
+ self._EnableSSL = None
2833
+ self._SSLBindPrivateIPv4 = None
2834
+ self._ConnectionMode = None
2808
2835
 
2809
2836
  @property
2810
2837
  def TypeId(self):
2811
- r"""<p>实例类型。</p><ul><li>2:Redis 2.8 内存版(标准架构)。</li><li>3:CKV 3.2 内存版(标准架构)。</li><li>4:CKV 3.2 内存版(集群架构)。</li><li>6:Redis 4.0 内存版(标准架构)。</li><li>7:Redis 4.0 内存版(集群架构)。</li><li>8:Redis 5.0 内存版(标准架构)。</li><li>9:Redis 5.0 内存版(集群架构)。</li><li>15:Redis 6.2 内存版(标准架构)。</li><li>16:Redis 6.2 内存版(集群架构)。</li><li>17:Redis 7.0 内存版(标准架构)。</li><li>18:Redis 7.0 内存版(集群架构)。</li><li>19:Valkey 8.0 内存版(标准架构)。</li><li>20:Valkey 8.0 内存版(集群架构)。</li><li>200:Memcached 1.6 内存版(集群架构)。<br><strong>说明</strong>:CKV 版本当前有存量用户使用,暂时保留。</li></ul>
2838
+ r"""<p>实例类型。</p><ul><li>2:Redis 2.8 内存版(标准架构)。</li><li>3:CKV 3.2 内存版(标准架构)。</li><li>4:CKV 3.2 内存版(集群架构)。</li><li>6:Redis 4.0 内存版(标准架构)。</li><li>7:Redis 4.0 内存版(集群架构)。</li><li>8:Redis 5.0 内存版(标准架构)。</li><li>9:Redis 5.0 内存版(集群架构)。</li><li>15:Redis 6.2 内存版(标准架构)。</li><li>16:Redis 6.2 内存版(集群架构)。</li><li>17:Redis 7.0 内存版(标准架构)。</li><li>18:Redis 7.0 内存版(集群架构)。</li><li>19:Valkey 8.0 内存版(标准架构)。</li><li>20:Valkey 8.0 内存版(集群架构)。</li><li>21:Valkey 9.0 内存版(标准架构)。</li><li>22:Valkey 9.0 内存版(集群架构)。</li><li>200:Memcached 1.6 内存版(集群架构)。<br><strong>说明</strong>:CKV 版本当前有存量用户使用,暂时保留。</li></ul>
2812
2839
  :rtype: int
2813
2840
  """
2814
2841
  return self._TypeId
@@ -3103,6 +3130,50 @@ class CreateInstancesRequest(AbstractModel):
3103
3130
  def EncryptPassword(self, EncryptPassword):
3104
3131
  self._EncryptPassword = EncryptPassword
3105
3132
 
3133
+ @property
3134
+ def PasswordPolicy(self):
3135
+ r"""<p>实例级密码复杂度策略。未传入或 Enabled=false 时,视为不启用策略,按系统默认规则校验。</p>
3136
+ :rtype: :class:`tencentcloud.redis.v20180412.models.PasswordPolicy`
3137
+ """
3138
+ return self._PasswordPolicy
3139
+
3140
+ @PasswordPolicy.setter
3141
+ def PasswordPolicy(self, PasswordPolicy):
3142
+ self._PasswordPolicy = PasswordPolicy
3143
+
3144
+ @property
3145
+ def EnableSSL(self):
3146
+ r"""<p>是否开启 SSL 加密传输。</p><ul><li>true:开启。</li><li>false:关闭(默认值)。</li></ul>
3147
+ :rtype: bool
3148
+ """
3149
+ return self._EnableSSL
3150
+
3151
+ @EnableSSL.setter
3152
+ def EnableSSL(self, EnableSSL):
3153
+ self._EnableSSL = EnableSSL
3154
+
3155
+ @property
3156
+ def SSLBindPrivateIPv4(self):
3157
+ r"""<p>开启 SSL 时,是否将实例的内网 IPv4 地址写入证书的域名别名(SAN)中。仅在 EnableSSL 为 true 时生效。</p><ul><li>true:允许使用内网 IP 进行 SSL 证书校验。</li><li>false:不添加证书的 SAN 扩展信息。</li></ul>
3158
+ :rtype: bool
3159
+ """
3160
+ return self._SSLBindPrivateIPv4
3161
+
3162
+ @SSLBindPrivateIPv4.setter
3163
+ def SSLBindPrivateIPv4(self, SSLBindPrivateIPv4):
3164
+ self._SSLBindPrivateIPv4 = SSLBindPrivateIPv4
3165
+
3166
+ @property
3167
+ def ConnectionMode(self):
3168
+ r"""<p>实例连接访问模式。</p><ul><li>0:代理模式(Proxy Mode,默认值)。</li><li>1:直连模式(Direct Connect Mode)。</li></ul>
3169
+ :rtype: int
3170
+ """
3171
+ return self._ConnectionMode
3172
+
3173
+ @ConnectionMode.setter
3174
+ def ConnectionMode(self, ConnectionMode):
3175
+ self._ConnectionMode = ConnectionMode
3176
+
3106
3177
 
3107
3178
  def _deserialize(self, params):
3108
3179
  self._TypeId = params.get("TypeId")
@@ -3142,6 +3213,12 @@ class CreateInstancesRequest(AbstractModel):
3142
3213
  self._RedisClusterId = params.get("RedisClusterId")
3143
3214
  self._AlarmPolicyList = params.get("AlarmPolicyList")
3144
3215
  self._EncryptPassword = params.get("EncryptPassword")
3216
+ if params.get("PasswordPolicy") is not None:
3217
+ self._PasswordPolicy = PasswordPolicy()
3218
+ self._PasswordPolicy._deserialize(params.get("PasswordPolicy"))
3219
+ self._EnableSSL = params.get("EnableSSL")
3220
+ self._SSLBindPrivateIPv4 = params.get("SSLBindPrivateIPv4")
3221
+ self._ConnectionMode = params.get("ConnectionMode")
3145
3222
  memeber_set = set(params.keys())
3146
3223
  for name, value in vars(self).items():
3147
3224
  property_name = name[1:]
@@ -15722,7 +15799,7 @@ class InstanceSet(AbstractModel):
15722
15799
  :type Size: float
15723
15800
  :param _SizeUsed: <p>该字段已废弃。请使用腾讯云可观测平台API 接口 <a href="https://cloud.tencent.com/document/product/248/31014">GetMonitorData</a> 获取实例已使用的内存容量。</p>
15724
15801
  :type SizeUsed: float
15725
- :param _Type: <p>实例类型。</p><p>枚举值:</p><ul><li>2: Redis 2.8 内存版(标准架构)。</li><li>3: CKV 3.2 内存版(标准架构)。</li><li>4: CKV 3.2 内存版(集群架构)。</li><li>5: Redis 2.8 内存版(单机)。</li><li>6: Redis 4.0 内存版(标准架构)。</li><li>7: Redis 4.0 内存版(集群架构)。</li><li>8: Redis 5.0 内存版(标准架构)。</li><li>9: Redis 5.0 内存版(集群架构)。</li><li>15: Redis 6.2 内存版(标准架构)。</li><li>16: Redis 6.2 内存版(集群架构)。</li><li>17: Redis 7.0 内存版(标准架构)。</li><li>18: Redis 7.0 内存版(集群架构)。</li><li>19: Valkey 8.0 内存版(标准架构)。</li><li>20: Valkey 8.0 内存版(集群架构)。</li><li>200: Memcached 1.6 内存版(集群架构)。</li></ul>
15802
+ :param _Type: <p>实例类型。</p><p>枚举值:</p><ul><li>2: Redis 2.8 内存版(标准架构)。</li><li>3: CKV 3.2 内存版(标准架构)。</li><li>4: CKV 3.2 内存版(集群架构)。</li><li>5: Redis 2.8 内存版(单机)。</li><li>6: Redis 4.0 内存版(标准架构)。</li><li>7: Redis 4.0 内存版(集群架构)。</li><li>8: Redis 5.0 内存版(标准架构)。</li><li>9: Redis 5.0 内存版(集群架构)。</li><li>15: Redis 6.2 内存版(标准架构)。</li><li>16: Redis 6.2 内存版(集群架构)。</li><li>17: Redis 7.0 内存版(标准架构)。</li><li>18: Redis 7.0 内存版(集群架构)。</li><li>19: Valkey 8.0 内存版(标准架构)。</li><li>20: Valkey 8.0 内存版(集群架构)。</li><li>21: Valkey 8.0 内存版(标准架构)。</li><li>22: Valkey 8.0 内存版(集群架构)。</li><li>200: Memcached 1.6 内存版(集群架构)。</li></ul>
15726
15803
  :type Type: int
15727
15804
  :param _AutoRenewFlag: <p>实例是否设置自动续费标识。<ul><li>1:设置自动续费。</li><li>0:未设置自动续费。</li></ul></p>
15728
15805
  :type AutoRenewFlag: int
@@ -16039,7 +16116,7 @@ class InstanceSet(AbstractModel):
16039
16116
 
16040
16117
  @property
16041
16118
  def Type(self):
16042
- r"""<p>实例类型。</p><p>枚举值:</p><ul><li>2: Redis 2.8 内存版(标准架构)。</li><li>3: CKV 3.2 内存版(标准架构)。</li><li>4: CKV 3.2 内存版(集群架构)。</li><li>5: Redis 2.8 内存版(单机)。</li><li>6: Redis 4.0 内存版(标准架构)。</li><li>7: Redis 4.0 内存版(集群架构)。</li><li>8: Redis 5.0 内存版(标准架构)。</li><li>9: Redis 5.0 内存版(集群架构)。</li><li>15: Redis 6.2 内存版(标准架构)。</li><li>16: Redis 6.2 内存版(集群架构)。</li><li>17: Redis 7.0 内存版(标准架构)。</li><li>18: Redis 7.0 内存版(集群架构)。</li><li>19: Valkey 8.0 内存版(标准架构)。</li><li>20: Valkey 8.0 内存版(集群架构)。</li><li>200: Memcached 1.6 内存版(集群架构)。</li></ul>
16119
+ r"""<p>实例类型。</p><p>枚举值:</p><ul><li>2: Redis 2.8 内存版(标准架构)。</li><li>3: CKV 3.2 内存版(标准架构)。</li><li>4: CKV 3.2 内存版(集群架构)。</li><li>5: Redis 2.8 内存版(单机)。</li><li>6: Redis 4.0 内存版(标准架构)。</li><li>7: Redis 4.0 内存版(集群架构)。</li><li>8: Redis 5.0 内存版(标准架构)。</li><li>9: Redis 5.0 内存版(集群架构)。</li><li>15: Redis 6.2 内存版(标准架构)。</li><li>16: Redis 6.2 内存版(集群架构)。</li><li>17: Redis 7.0 内存版(标准架构)。</li><li>18: Redis 7.0 内存版(集群架构)。</li><li>19: Valkey 8.0 内存版(标准架构)。</li><li>20: Valkey 8.0 内存版(集群架构)。</li><li>21: Valkey 8.0 内存版(标准架构)。</li><li>22: Valkey 8.0 内存版(集群架构)。</li><li>200: Memcached 1.6 内存版(集群架构)。</li></ul>
16043
16120
  :rtype: int
16044
16121
  """
16045
16122
  return self._Type
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tencentcloud-sdk-python-redis
3
- Version: 3.1.145
3
+ Version: 3.1.152
4
4
  Summary: Tencent Cloud Redis SDK for Python
5
5
  Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
6
6
  Author: Tencent Cloud
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
15
15
  Classifier: Programming Language :: Python :: 3
16
16
  Classifier: Programming Language :: Python :: 3.6
17
17
  Classifier: Programming Language :: Python :: 3.7
18
- Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.145
18
+ Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.152
19
19
 
20
20
  ============================
21
21
  Tencent Cloud SDK for Python
@@ -0,0 +1 @@
1
+ tencentcloud-sdk-python-common<4.0.0,>=3.1.152
@@ -1 +0,0 @@
1
- tencentcloud-sdk-python-common<4.0.0,>=3.1.145