fiuai-sdk-python 0.11.3__tar.gz → 0.11.5__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.
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/PKG-INFO +1 -1
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/pyproject.toml +1 -1
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/__init__.py +1 -1
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/client.py +3 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/http/client.py +8 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/profile.py +2 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/type.py +4 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/util.py +6 -1
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/.gitignore +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/CHANGELOG.md +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/LICENSE +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/README.md +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/auth/__init__.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/auth/context_mgr.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/auth/header.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/auth/helper.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/auth/type.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/bank.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/company.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/config.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/const.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/context.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/datatype.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/doctype.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/error.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/examples/fastapi_integration.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/http/__init__.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/item.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/perm.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/__init__.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/cache_client.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/circuit_breaker.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/decorator.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/redis_manager.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/types.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/scheduler/__init__.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/scheduler/runner.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/resp.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/setup.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/utils/__init__.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/utils/ids.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/utils/logger.py +0 -0
- {fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/utils/text.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fiuai_sdk_python
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.5
|
|
4
4
|
Summary: FiuAI Python SDK - 企业级AI服务集成开发工具包
|
|
5
5
|
Project-URL: Homepage, https://github.com/fiuai/fiuai-sdk-python
|
|
6
6
|
Project-URL: Documentation, https://github.com/fiuai/fiuai-sdk-python#readme
|
|
@@ -36,6 +36,7 @@ class FiuaiSDK(object):
|
|
|
36
36
|
verify: bool=False,
|
|
37
37
|
is_internal: bool = False,
|
|
38
38
|
host: Optional[str] = None,
|
|
39
|
+
trust_env: bool = False,
|
|
39
40
|
):
|
|
40
41
|
self.username = username
|
|
41
42
|
self.auth_tenant_id = auth_tenant_id
|
|
@@ -50,6 +51,7 @@ class FiuaiSDK(object):
|
|
|
50
51
|
"timeout": timeout,
|
|
51
52
|
"follow_redirects": True,
|
|
52
53
|
"proxy": None,
|
|
54
|
+
"trust_env": trust_env,
|
|
53
55
|
}
|
|
54
56
|
if is_internal:
|
|
55
57
|
if host is None or not str(host).strip():
|
|
@@ -458,5 +460,6 @@ def get_client(username: str = None, auth_tenant_id: str = None, current_company
|
|
|
458
460
|
verify=client_config.verify,
|
|
459
461
|
is_internal=client_config.is_internal,
|
|
460
462
|
host=client_config.host,
|
|
463
|
+
trust_env=client_config.trust_env,
|
|
461
464
|
)
|
|
462
465
|
|
|
@@ -281,6 +281,7 @@ def create_http_client(
|
|
|
281
281
|
verify: bool = True,
|
|
282
282
|
retry_count: int = 0,
|
|
283
283
|
retry_interval: float = 1.0,
|
|
284
|
+
trust_env: bool = False,
|
|
284
285
|
**kwargs: Any,
|
|
285
286
|
) -> httpx.AsyncClient:
|
|
286
287
|
"""创建带认证头拦截器的 httpx 异步客户端。"""
|
|
@@ -288,6 +289,7 @@ def create_http_client(
|
|
|
288
289
|
"timeout": timeout,
|
|
289
290
|
"follow_redirects": follow_redirects,
|
|
290
291
|
"verify": verify,
|
|
292
|
+
"trust_env": trust_env,
|
|
291
293
|
**kwargs,
|
|
292
294
|
}
|
|
293
295
|
if base_url is not None:
|
|
@@ -312,6 +314,7 @@ def create_sync_http_client(
|
|
|
312
314
|
verify: bool = True,
|
|
313
315
|
retry_count: int = 0,
|
|
314
316
|
retry_interval: float = 1.0,
|
|
317
|
+
trust_env: bool = False,
|
|
315
318
|
**kwargs: Any,
|
|
316
319
|
) -> httpx.Client:
|
|
317
320
|
"""创建带认证头拦截器的 httpx 同步客户端。"""
|
|
@@ -319,6 +322,7 @@ def create_sync_http_client(
|
|
|
319
322
|
"timeout": timeout,
|
|
320
323
|
"follow_redirects": follow_redirects,
|
|
321
324
|
"verify": verify,
|
|
325
|
+
"trust_env": trust_env,
|
|
322
326
|
**kwargs,
|
|
323
327
|
}
|
|
324
328
|
if base_url is not None:
|
|
@@ -347,6 +351,7 @@ def get_async_http_client(
|
|
|
347
351
|
verify: bool = True,
|
|
348
352
|
retry_count: int = 0,
|
|
349
353
|
retry_interval: float = 1.0,
|
|
354
|
+
trust_env: bool = False,
|
|
350
355
|
**kwargs: Any,
|
|
351
356
|
) -> httpx.AsyncClient:
|
|
352
357
|
"""获取全局 httpx 异步客户端(单例)。"""
|
|
@@ -359,6 +364,7 @@ def get_async_http_client(
|
|
|
359
364
|
verify=verify,
|
|
360
365
|
retry_count=retry_count,
|
|
361
366
|
retry_interval=retry_interval,
|
|
367
|
+
trust_env=trust_env,
|
|
362
368
|
**kwargs,
|
|
363
369
|
)
|
|
364
370
|
return _global_async_client
|
|
@@ -371,6 +377,7 @@ def get_sync_http_client(
|
|
|
371
377
|
verify: bool = True,
|
|
372
378
|
retry_count: int = 0,
|
|
373
379
|
retry_interval: float = 1.0,
|
|
380
|
+
trust_env: bool = False,
|
|
374
381
|
**kwargs: Any,
|
|
375
382
|
) -> httpx.Client:
|
|
376
383
|
"""获取全局 httpx 同步客户端(单例)。"""
|
|
@@ -383,6 +390,7 @@ def get_sync_http_client(
|
|
|
383
390
|
verify=verify,
|
|
384
391
|
retry_count=retry_count,
|
|
385
392
|
retry_interval=retry_interval,
|
|
393
|
+
trust_env=trust_env,
|
|
386
394
|
**kwargs,
|
|
387
395
|
)
|
|
388
396
|
return _global_sync_client
|
|
@@ -93,6 +93,8 @@ class UserBaseInfo(BaseModel):
|
|
|
93
93
|
time_zone: str = Field(description="时区")
|
|
94
94
|
auth_tenant_id: str = Field(description="租户id")
|
|
95
95
|
current_company: str = Field(description="当前公司")
|
|
96
|
+
tax_account_username: Optional[str] = Field(description="税账号用户名", default=None)
|
|
97
|
+
tax_account_type: Optional[str] = Field(description="税账号类型", default=None)
|
|
96
98
|
available_companies: List[UserCompanyInfo] = Field(description="用户在租户下可以访问的公司列表", default_factory=list)
|
|
97
99
|
|
|
98
100
|
|
|
@@ -27,6 +27,10 @@ class ClientConfig(BaseModel):
|
|
|
27
27
|
verify: bool
|
|
28
28
|
is_internal: bool = False
|
|
29
29
|
host: Optional[str] = None
|
|
30
|
+
trust_env: bool = Field(
|
|
31
|
+
default=False,
|
|
32
|
+
description="httpx trust_env:False 时不读环境代理;True 时信任环境(含 SSL_CERT_FILE / REQUESTS_CA_BUNDLE 等)。",
|
|
33
|
+
)
|
|
30
34
|
|
|
31
35
|
@model_validator(mode="after")
|
|
32
36
|
def validate_internal_requires_host(self) -> "ClientConfig":
|
|
@@ -37,6 +37,7 @@ class FiuaiConfig:
|
|
|
37
37
|
verify: bool = False,
|
|
38
38
|
is_internal: bool = False,
|
|
39
39
|
host: Optional[str] = None,
|
|
40
|
+
trust_env: bool = False,
|
|
40
41
|
):
|
|
41
42
|
"""
|
|
42
43
|
初始化 FiuaiSDK 全局配置
|
|
@@ -48,6 +49,7 @@ class FiuaiConfig:
|
|
|
48
49
|
verify: 是否验证 SSL 证书
|
|
49
50
|
is_internal: 是否通过内网地址访问 (需配合 host 注入 Host header)
|
|
50
51
|
host: 内网访问时 Frappe 期望的站点 Host 名, is_internal 为 True 时必填
|
|
52
|
+
trust_env: 是否让 httpx 信任环境变量(代理、SSL_CERT_FILE 等)。默认 False,避免本机系统代理劫持 SDK 请求。
|
|
51
53
|
"""
|
|
52
54
|
|
|
53
55
|
self.client_config = ClientConfig(
|
|
@@ -57,6 +59,7 @@ class FiuaiConfig:
|
|
|
57
59
|
verify=verify,
|
|
58
60
|
is_internal=is_internal,
|
|
59
61
|
host=host,
|
|
62
|
+
trust_env=trust_env,
|
|
60
63
|
)
|
|
61
64
|
|
|
62
65
|
|
|
@@ -89,6 +92,7 @@ def init_fiuai(
|
|
|
89
92
|
verify: bool = False,
|
|
90
93
|
is_internal: bool = False,
|
|
91
94
|
host: Optional[str] = None,
|
|
95
|
+
trust_env: bool = False,
|
|
92
96
|
):
|
|
93
97
|
"""
|
|
94
98
|
初始化 FiuaiSDK 全局配置
|
|
@@ -100,8 +104,9 @@ def init_fiuai(
|
|
|
100
104
|
verify: 是否验证 SSL 证书
|
|
101
105
|
is_internal: 是否通过内网地址访问
|
|
102
106
|
host: 内网访问时站点 Host 名, is_internal 为 True 时必填
|
|
107
|
+
trust_env: 是否让 httpx 信任环境变量(代理、SSL_CERT_FILE 等)。默认 False。
|
|
103
108
|
"""
|
|
104
|
-
_config.init(url, max_api_retry, timeout, verify, is_internal, host)
|
|
109
|
+
_config.init(url, max_api_retry, timeout, verify, is_internal, host, trust_env)
|
|
105
110
|
|
|
106
111
|
|
|
107
112
|
###### tools
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/auth/context_mgr.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/__init__.py
RENAMED
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/cache_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/decorator.py
RENAMED
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/cache/redis_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/scheduler/__init__.py
RENAMED
|
File without changes
|
{fiuai_sdk_python-0.11.3 → fiuai_sdk_python-0.11.5}/src/fiuai_sdk_python/pkg/scheduler/runner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|