polaris-python 0.0.1.dev3__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.
Files changed (84) hide show
  1. polaris/__init__.py +74 -0
  2. polaris/_version.py +16 -0
  3. polaris/api/__init__.py +55 -0
  4. polaris/api/_log_file.py +232 -0
  5. polaris/api/config.py +145 -0
  6. polaris/api/consumer.py +240 -0
  7. polaris/api/log.py +414 -0
  8. polaris/api/lossless.py +73 -0
  9. polaris/api/provider.py +152 -0
  10. polaris/api/skill.py +162 -0
  11. polaris/pkg/__init__.py +15 -0
  12. polaris/pkg/common/__init__.py +15 -0
  13. polaris/pkg/common/plugin.py +33 -0
  14. polaris/pkg/config/__init__.py +15 -0
  15. polaris/pkg/config/api.py +1205 -0
  16. polaris/pkg/config/default.py +92 -0
  17. polaris/pkg/config/event.py +76 -0
  18. polaris/pkg/config/loader.py +392 -0
  19. polaris/pkg/config/stat_reporter.py +100 -0
  20. polaris/pkg/flow/__init__.py +15 -0
  21. polaris/pkg/flow/admin_server.py +104 -0
  22. polaris/pkg/flow/async_flow.py +55 -0
  23. polaris/pkg/flow/base_flow.py +111 -0
  24. polaris/pkg/flow/impl.py +1277 -0
  25. polaris/pkg/flow/lossless.py +605 -0
  26. polaris/pkg/flow/notify.py +46 -0
  27. polaris/pkg/flow/register.py +210 -0
  28. polaris/pkg/flow/skill.py +110 -0
  29. polaris/pkg/flow/sync_flow.py +20 -0
  30. polaris/pkg/model/__init__.py +15 -0
  31. polaris/pkg/model/context.py +53 -0
  32. polaris/pkg/model/contract.py +89 -0
  33. polaris/pkg/model/core.py +51 -0
  34. polaris/pkg/model/engine.py +83 -0
  35. polaris/pkg/model/error.py +94 -0
  36. polaris/pkg/model/event.py +159 -0
  37. polaris/pkg/model/lossless.py +102 -0
  38. polaris/pkg/model/rule.py +152 -0
  39. polaris/pkg/model/server.py +288 -0
  40. polaris/pkg/model/service.py +820 -0
  41. polaris/pkg/model/skill.py +179 -0
  42. polaris/pkg/model/stat.py +168 -0
  43. polaris/pkg/model/util.py +58 -0
  44. polaris/pkg/version/__init__.py +18 -0
  45. polaris/plugin/__init__.py +32 -0
  46. polaris/plugin/circuit_breaker/__init__.py +19 -0
  47. polaris/plugin/circuit_breaker/base.py +54 -0
  48. polaris/plugin/circuit_breaker/composite.py +265 -0
  49. polaris/plugin/circuit_breaker/config.py +36 -0
  50. polaris/plugin/event/__init__.py +21 -0
  51. polaris/plugin/event/pushgateway.py +202 -0
  52. polaris/plugin/load_balancer/__init__.py +24 -0
  53. polaris/plugin/load_balancer/base.py +30 -0
  54. polaris/plugin/load_balancer/random.py +39 -0
  55. polaris/plugin/load_balancer/weighted_random.py +50 -0
  56. polaris/plugin/local_registry/__init__.py +18 -0
  57. polaris/plugin/local_registry/base.py +47 -0
  58. polaris/plugin/local_registry/file_cache.py +335 -0
  59. polaris/plugin/local_registry/local_cache.py +433 -0
  60. polaris/plugin/server_connector/__init__.py +20 -0
  61. polaris/plugin/server_connector/base.py +104 -0
  62. polaris/plugin/server_connector/convert.py +149 -0
  63. polaris/plugin/server_connector/grpc_connector/__init__.py +21 -0
  64. polaris/plugin/server_connector/grpc_connector/connection.py +401 -0
  65. polaris/plugin/server_connector/grpc_connector/grpc_client.py +384 -0
  66. polaris/plugin/server_connector/grpc_connector/tls.py +45 -0
  67. polaris/plugin/service_router/__init__.py +28 -0
  68. polaris/plugin/service_router/base.py +105 -0
  69. polaris/plugin/service_router/isolated.py +35 -0
  70. polaris/plugin/service_router/metadata.py +84 -0
  71. polaris/plugin/service_router/recover.py +62 -0
  72. polaris/plugin/service_router/util.py +54 -0
  73. polaris/plugin/skill/__init__.py +16 -0
  74. polaris/plugin/skill/connector.py +127 -0
  75. polaris/plugin/skill/persistence.py +94 -0
  76. polaris/plugin/stat_reporter/__init__.py +16 -0
  77. polaris/plugin/stat_reporter/base.py +34 -0
  78. polaris/plugin/stat_reporter/prometheus.py +375 -0
  79. polaris/plugin_manager.py +146 -0
  80. polaris_python-0.0.1.dev3.dist-info/METADATA +213 -0
  81. polaris_python-0.0.1.dev3.dist-info/RECORD +84 -0
  82. polaris_python-0.0.1.dev3.dist-info/WHEEL +5 -0
  83. polaris_python-0.0.1.dev3.dist-info/licenses/LICENSE +18 -0
  84. polaris_python-0.0.1.dev3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,213 @@
1
+ Metadata-Version: 2.4
2
+ Name: polaris-python
3
+ Version: 0.0.1.dev3
4
+ Summary: Python SDK for Polaris service governance.
5
+ Author-email: evelynwei <evelynwei@tencent.com>
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: Homepage, https://github.com/polaris-contrib/polaris-python
8
+ Project-URL: Repository, https://github.com/polaris-contrib/polaris-python
9
+ Project-URL: Issues, https://github.com/polaris-contrib/polaris-python/issues
10
+ Project-URL: Documentation, https://github.com/polaris-contrib/polaris-python#readme
11
+ Keywords: polaris,service-governance,service-discovery,service-mesh,grpc
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Topic :: System :: Distributed Computing
20
+ Requires-Python: >=3.12
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: grpcio>=1.84.0
24
+ Requires-Dist: protobuf<8,>=7.35.1
25
+ Requires-Dist: polarismesh-specification==1.9.0.dev4
26
+ Requires-Dist: PyYAML<7,>=6.0.2
27
+ Requires-Dist: psutil<8,>=7.0
28
+ Requires-Dist: prometheus-client<1,>=0.21
29
+ Requires-Dist: aiohttp<4,>=3.11
30
+ Dynamic: license-file
31
+
32
+ # Polaris Python SDK
33
+
34
+ [中文](README-zh.md)
35
+
36
+ Python client for Polaris service discovery, registration, service governance,
37
+ AI Registry resources, observability, and TLS.
38
+
39
+ The distribution is `polaris-python`; import it as `polaris`.
40
+
41
+ The categorized documentation index is [docs/README.md](docs/README.md).
42
+
43
+ ## Install
44
+
45
+ Requires Python 3.12+.
46
+
47
+ ```bash
48
+ uv sync --group dev --locked
49
+ uv run pytest
50
+ ```
51
+
52
+ The project uses a `src` layout. `uv sync` installs `src/polaris/` in editable mode,
53
+ so source changes take effect immediately.
54
+
55
+ See [Version and release](docs/project/version-release.md) for release and development package publishing.
56
+
57
+ ## Configure
58
+
59
+ ```yaml
60
+ global:
61
+ serverConnector:
62
+ addresses:
63
+ - ${POLARIS_SERVER_ADDRESS:127.0.0.1:8091}
64
+ token: ${POLARIS_TOKEN:}
65
+ ```
66
+
67
+ Use `Configuration.from_file()` for YAML, `Configuration.from_env()` for environment
68
+ variables, or `Configuration.from_dict()` for code-owned mappings. Python durations
69
+ are integer milliseconds; YAML also accepts values such as `500ms`, `1s`, and `1m30s`.
70
+
71
+ See:
72
+
73
+ - [Configuration parameters](docs/config/configuration-reference.md)
74
+ - [Minimal YAML example](docs/config/polaris.yaml)
75
+ - [Environment variables and precedence](docs/config/environment-variables.md)
76
+ - [Minimal file example](examples/sdkconfig/file/polaris.yaml)
77
+
78
+ ## Context
79
+
80
+ Each `SDKContext` owns its configuration snapshot, client ID, plugins, connections,
81
+ caches, tasks, and logs. Reuse one context for APIs that should share that client.
82
+
83
+ ```python
84
+ from polaris import Configuration, init_context_by_config
85
+
86
+ config = Configuration()
87
+ config.set_default()
88
+ config.get_global().get_server_connector().addresses = ["127.0.0.1:8091"]
89
+
90
+ context = init_context_by_config(config)
91
+ try:
92
+ ...
93
+ finally:
94
+ context.destroy()
95
+ ```
96
+
97
+ API calls after `destroy()` raise `SDKError`.
98
+
99
+ ## Provider
100
+
101
+ `ProviderAPI` supports synchronous methods and `async_` counterparts.
102
+ `register_instance()` enables SDK-managed heartbeats by default.
103
+
104
+ ```python
105
+ from polaris.pkg.model.server import InstanceRegisterRequest
106
+
107
+ response = provider.register_instance(InstanceRegisterRequest(
108
+ service="demo",
109
+ service_token="service-token",
110
+ namespace="default",
111
+ host="127.0.0.1",
112
+ port=8080,
113
+ ttl=5,
114
+ ))
115
+ ```
116
+
117
+ The service token authorizes register, heartbeat, and deregister. It is different
118
+ from `POLARIS_TOKEN`, which authenticates the SDK connection.
119
+
120
+ Automatic re-registration runs after two consecutive `400202` responses and
121
+ `provider.minRegisterInterval`.
122
+ Deregistration stops heartbeat tasks before the RPC. Context destruction does not
123
+ implicitly deregister instances.
124
+
125
+ ## Consumer
126
+
127
+ Reuse one `ConsumerAPI` per context. Synchronous calls are `get_one_instance()`,
128
+ `get_instances()`, `get_all_instances()`, `get_healthy_instances()`, and
129
+ `get_services()`; query methods have `async_` counterparts. `watch_service()` pins a
130
+ loaded resource and forwards cache lifecycle events; `unwatch_service()` releases it.
131
+
132
+ ```python
133
+ from polaris.pkg.model.service import GetOneInstanceRequest
134
+
135
+ instance = consumer.get_one_instance(GetOneInstanceRequest(
136
+ namespace="default",
137
+ service="demo",
138
+ ))
139
+ ```
140
+
141
+ After invoking the downstream service, report the result with
142
+ `update_service_call_result()` or `async_update_service_call_result()`.
143
+
144
+ Local cache behavior, idle eviction, disk retries, and restart recovery are covered by
145
+ the examples and [configuration reference](docs/config/configuration-reference.md).
146
+
147
+ ## AI Registry
148
+
149
+ - MCP, A2A, and LangGraph use ordinary `Instance` registration and discovery.
150
+ - Service contracts use `report_service_contract()` and `get_service_contract()`.
151
+ - `SkillAPI` provides read-only get/list/download operations over an independent connector.
152
+ - Skill downloads can fall back to versioned local backups after network errors.
153
+
154
+ See [AI Registry APIs](docs/guides/ai-registry.md) and:
155
+
156
+ - [MCP example](examples/mcp/README.md)
157
+ - [A2A example](examples/a2a/README.md)
158
+ - [Skill example](examples/skill/README.md)
159
+
160
+ ## Plugins
161
+
162
+ | Kind | Names |
163
+ | --- | --- |
164
+ | Server connector | `grpc` |
165
+ | Local cache | `inmemory`, `file` |
166
+ | Service router | `isolatedRouter`, `metadataRouter`, `recoverRouter` |
167
+ | Load balancer | `weightedRandom`, `random` |
168
+ | Circuit breaker | `composite` |
169
+ | Stat reporter | `prometheus` (`pushgateway` chain alias for push mode) |
170
+ | Event reporter | `pushgateway` |
171
+
172
+ Legacy names `wr` and `err_count` normalize to `weightedRandom` and `composite`.
173
+ Remote lossless rules are supported. Remote circuit-breaking, routing, rate-limiting and
174
+ configuration rules remain disabled, and active health detection is not enabled.
175
+
176
+ ## Observability And Security
177
+
178
+ Public cloud currently uses Pushgateway as the default supported export path.
179
+ Prometheus pull remains available for self-hosted or custom scraping setups.
180
+ See [Observability](docs/guides/observability.md).
181
+
182
+ Each context has an isolated event center for implemented instance-cache and local
183
+ circuit-breaker events, with an optional Pushgateway reporter. See
184
+ [Events](docs/guides/events.md).
185
+
186
+ The registry and Skill connectors support independent TLS and mTLS certificates.
187
+ Invalid certificate configuration fails startup instead of falling back to plaintext.
188
+ See [TLS](docs/guides/tls.md).
189
+
190
+ ## Examples
191
+
192
+ Run all offline verifications:
193
+
194
+ ```bash
195
+ ./examples/verify_all.sh
196
+ ```
197
+
198
+ Run or inspect a single demo:
199
+
200
+ ```bash
201
+ cd examples/quickstart
202
+ ./run.sh --help
203
+ ./verify.sh
204
+ ./logs.sh --latest --tail 30
205
+ ./cleanup.sh --force
206
+ ```
207
+
208
+ Start with [examples/README.md](examples/README.md). Real registry examples require
209
+ `POLARIS_E2E=1`.
210
+
211
+ ## License
212
+
213
+ [BSD 3-Clause](LICENSE)
@@ -0,0 +1,84 @@
1
+ polaris/__init__.py,sha256=g0tzWZkbmiA08jI9eamped66UghtWNHP52QNSgPeJ28,2471
2
+ polaris/_version.py,sha256=KMXFk_FwAdUVDsP4hvXM2JXs47QArQgdsX84gjLynJ8,710
3
+ polaris/plugin_manager.py,sha256=5hngFEOGMSGTeI0dnk-y4Y4Q4CXttS3fsZyxu-rGELg,5690
4
+ polaris/api/__init__.py,sha256=tOUxtVmMBEdzZUP5YqfIIEWUiu1jtrOXpuSTFTHuOs0,1778
5
+ polaris/api/_log_file.py,sha256=LYd__J8ooAdtONz7Ux7KmEridLpMyzKh0jk82BRsgpU,8729
6
+ polaris/api/config.py,sha256=dFm7wKgbjpzZgLrF6yUQYPHW_kFJBmLXu-80mFF_RHw,6023
7
+ polaris/api/consumer.py,sha256=etibb0SYWeqkVKGb_JDl4yCUxQ2r_AVU6YoB-Wj_S_s,10708
8
+ polaris/api/log.py,sha256=3FvOC395PiIXbdxZfD5SlU9nMMpKktSn96OoDPk-T9s,17496
9
+ polaris/api/lossless.py,sha256=Bg6srjmKU7mUNxlQkE2Ctpu_GyQgNr0Ijd7d-DPAxA0,3393
10
+ polaris/api/provider.py,sha256=wZ8yize1GTuaeXR1WB15-y7OuU-esgKvgw2cXblKekU,6936
11
+ polaris/api/skill.py,sha256=j3lCuU0H9Hhyc6OvA0tU9fE_g4lGmhEna3qUATXmXR0,8352
12
+ polaris/pkg/__init__.py,sha256=jH6kcIpEZCCVb_UW0h-tNeZ7W7hgoWNq4_jaaYYitFc,683
13
+ polaris/pkg/common/__init__.py,sha256=jH6kcIpEZCCVb_UW0h-tNeZ7W7hgoWNq4_jaaYYitFc,683
14
+ polaris/pkg/common/plugin.py,sha256=oOmMcs_TMZhkIt2jrf0NzQOqmuv63n4CPQGTd4UE4lA,1153
15
+ polaris/pkg/config/__init__.py,sha256=jH6kcIpEZCCVb_UW0h-tNeZ7W7hgoWNq4_jaaYYitFc,683
16
+ polaris/pkg/config/api.py,sha256=H2U16Dwro0TqZSDcTt0qxguZPzGNJNGLDxIz5p4rFlk,51573
17
+ polaris/pkg/config/default.py,sha256=L8o0oMsIPWJi3AGd7cvD7ldzSAia2CodFlIWq0ibGHU,3750
18
+ polaris/pkg/config/event.py,sha256=qV0U-Zb3VW1G6WaCcq6bVnb08JHNBIJV7II16yYdlCA,3765
19
+ polaris/pkg/config/loader.py,sha256=kWotlkBDlFfKRuSAEAXW7es85U4yFsFX6Or5MdHCe8c,15375
20
+ polaris/pkg/config/stat_reporter.py,sha256=yUw5wGeu4UMJV8FaOlwS8wo9UzgUDbIlOUzgprR6vbM,4521
21
+ polaris/pkg/flow/__init__.py,sha256=jH6kcIpEZCCVb_UW0h-tNeZ7W7hgoWNq4_jaaYYitFc,683
22
+ polaris/pkg/flow/admin_server.py,sha256=ynsziHEROM5DS5cokgGTI3A78UaYKx6IS6mT-rich-M,3932
23
+ polaris/pkg/flow/async_flow.py,sha256=jJBuTlZuPm62yxtamwDgfq5wO0ZCO7bOsCOJupFG1ew,2431
24
+ polaris/pkg/flow/base_flow.py,sha256=4XiGKhD_oeCx0-RwrwuXmupKnFnNlL2GvHQBpgqdHUE,4328
25
+ polaris/pkg/flow/impl.py,sha256=skh8LNjAnd7cWABdZVhujx6eIdEd5ZtJzFuev5G5IYQ,62197
26
+ polaris/pkg/flow/lossless.py,sha256=rDLeNuBGmSJgqspL89pQqw_LfHRZKjR3m7Pi_Sfgxf0,26721
27
+ polaris/pkg/flow/notify.py,sha256=whyA-F39v17AraWwsXItDx9_XoyAKtyfjSTp3qu6rRQ,1548
28
+ polaris/pkg/flow/register.py,sha256=3keWTUgxyE4ODYvzY0bloFBCAuLMrvE_9faP7e65LAo,8882
29
+ polaris/pkg/flow/skill.py,sha256=lBf7O5_QKLzU3rezm4sxDRabBg4-AI9FyK8Wvqy3hR0,5711
30
+ polaris/pkg/flow/sync_flow.py,sha256=7gcDbwR5BSR3WIDdcsa1WkD-UHj-dWRCWHgdOv4qYyI,834
31
+ polaris/pkg/model/__init__.py,sha256=jH6kcIpEZCCVb_UW0h-tNeZ7W7hgoWNq4_jaaYYitFc,683
32
+ polaris/pkg/model/context.py,sha256=Nbj-KbaOGDLrRO-ufMrzuLbQn5WcXuLB6uWSEWblhYs,1711
33
+ polaris/pkg/model/contract.py,sha256=S4AhDBZppdUclpqbTiry85ChKVfhcSKIuNDkSTtd3S4,2762
34
+ polaris/pkg/model/core.py,sha256=jG9ulc1g0DRVUXA4sRdFyKSiBjBNe-91wj7n_bRUJHg,1615
35
+ polaris/pkg/model/engine.py,sha256=Fa6ghRPzsWsfnSlNGe3wwSPOJfO97brEImOxVXe9DkU,2464
36
+ polaris/pkg/model/error.py,sha256=ESWvV1LP-Z5EtYw34rr31Ly8SMXmO2zogr3Zur-wdWE,3597
37
+ polaris/pkg/model/event.py,sha256=uI4TEZeharZp2YYtrO4a1TXCLauFE3hODTbkRUAqokE,5982
38
+ polaris/pkg/model/lossless.py,sha256=NRygrjQHYSn5017pql-Oie-CbM3wSzxlFcgjYzSP6vE,3293
39
+ polaris/pkg/model/rule.py,sha256=IeMe1YwqW1gYr8h1iFV-Mvm88hGUmgxpuHGvBrRNBiI,4910
40
+ polaris/pkg/model/server.py,sha256=BRYR_9SHE-XaqRlKluxc9y3wRIevnLvn-GvaM-JmiFY,12075
41
+ polaris/pkg/model/service.py,sha256=v5ROgqsdB0dypLJXgfDHOqyXdgJJHob9SiSLR1k0LcQ,30254
42
+ polaris/pkg/model/skill.py,sha256=H1A8mWNzDqGgse--VtPwW9x3lPf0ZkVb_06KGJK1fwA,5151
43
+ polaris/pkg/model/stat.py,sha256=bzhz0l6-EJk3yoqu1FPxGJRtgO9iuNpB7I9P1pBfIwM,4862
44
+ polaris/pkg/model/util.py,sha256=ePFd8sVCCc6faEMft72qK-__MyE8rDNZjYx2Qb-4RQc,2247
45
+ polaris/pkg/version/__init__.py,sha256=qPPacppRhWlqT_lh-4k4dCgN9LQyUX7PDgnHLFsqwK4,747
46
+ polaris/plugin/__init__.py,sha256=rQbDxVUXICSiwnoT4_j5AoArWIq57kgRvR2cMPrKQOI,1047
47
+ polaris/plugin/circuit_breaker/__init__.py,sha256=dgSGIIoO6gKlfnZVgXlr-rQj6cI5Y_PBmSWdc3koyZc,852
48
+ polaris/plugin/circuit_breaker/base.py,sha256=P0rr9VPo29w_ZoQUBVTnL3j7p4F06Rcc9pLuRYuR4Ag,1615
49
+ polaris/plugin/circuit_breaker/composite.py,sha256=U1XFJ4Tg_LFLpyOboSVreLXQp35oCbFEchTivQvuncM,12275
50
+ polaris/plugin/circuit_breaker/config.py,sha256=ciJdGBq6ftfyr3Q1hQk751DIOqrXNo2w7Zp5-KBAYI8,1577
51
+ polaris/plugin/event/__init__.py,sha256=talFqe82enOFDTlWUKEMFEocGAQ19OWmtxPaVEEQrFM,806
52
+ polaris/plugin/event/pushgateway.py,sha256=ZVsIKPeugZ9722d3rVH2Xd8GuirLRqBXIbjO8N_dgjE,8414
53
+ polaris/plugin/load_balancer/__init__.py,sha256=a4ykUJMVWvP8h-rgwQISiAPUWCVfphhQgTElVK5XhPU,912
54
+ polaris/plugin/load_balancer/base.py,sha256=Oqg9NXvjID06zbnfMXsRGqDLcWTcoc_lr8pGGk4Q9Vw,1005
55
+ polaris/plugin/load_balancer/random.py,sha256=tCuFC4pX47fV3LQ1JPQo-5TwghtyYoDJ9-3bl-fnAPs,1626
56
+ polaris/plugin/load_balancer/weighted_random.py,sha256=EwMDnRe3J-60bTRMuDzmaslkHA0MZkgjP9xjG2-wfms,2092
57
+ polaris/plugin/local_registry/__init__.py,sha256=bDD5DLm_w36Y_bCFcFDFiY9JENg8wFyIyLiFib9gYTY,786
58
+ polaris/plugin/local_registry/base.py,sha256=Gyq8aGPWl6F4AOLhMjB7xtE0AM5ZeH2oiawKQJAm1rk,1574
59
+ polaris/plugin/local_registry/file_cache.py,sha256=G5dwxL1X9B7fTpqgysilxvNpgdARpiK9AqNrDCL6dGM,13711
60
+ polaris/plugin/local_registry/local_cache.py,sha256=khxF-5ruia5COY7TiMwTTb8zD8R4nz-h0vuNw_yoK8A,19662
61
+ polaris/plugin/server_connector/__init__.py,sha256=vxOLRFc-K6p6WjDZdtNAe95DRDXIgsjwdvbaKRqgLb0,816
62
+ polaris/plugin/server_connector/base.py,sha256=CbCGkZQP3ZuCw2BFlzOhTgxLACFpl9u4BzzUqb8tn9c,3129
63
+ polaris/plugin/server_connector/convert.py,sha256=xhYAqkl2DpLuAyWYFrS8v6tFjKf0ZE26UXH9d3ghJTA,7506
64
+ polaris/plugin/server_connector/grpc_connector/__init__.py,sha256=grRkHuo-nrdQxpBZyDEsNs8bLOKR0XGQfYTe7_NrQFw,883
65
+ polaris/plugin/server_connector/grpc_connector/connection.py,sha256=EJ-w_YQN3gpfhJ0_6rQqkfsd4_kZKAc80heQmhi5Jxo,18373
66
+ polaris/plugin/server_connector/grpc_connector/grpc_client.py,sha256=Q_qK2_5mDBXocqsa0MMpkpEZLtHAwUMD4lSnf3w8AG8,18425
67
+ polaris/plugin/server_connector/grpc_connector/tls.py,sha256=iGLyeqAUOKZsltg4IJAxLnnQFDbCfXAwEWVGacK3NWg,1987
68
+ polaris/plugin/service_router/__init__.py,sha256=MdDHSjiSE7gTKPRTNH5JCWI8o5t60oz4u1Zmaf1Re7E,993
69
+ polaris/plugin/service_router/base.py,sha256=Bi64HFL25iuDiyMleKK15Im2fOFAy0zgHVtAuRxuCOY,4022
70
+ polaris/plugin/service_router/isolated.py,sha256=JVNiwawLETgt5cYxnGWxBCijgDDZgPomNUEwRKO-iYQ,1711
71
+ polaris/plugin/service_router/metadata.py,sha256=Qzt4BAHO7s_ZRifjbUZR6d1sp3YJvJcEvK4px-E7zvw,4040
72
+ polaris/plugin/service_router/recover.py,sha256=5GWyO-SsEeycFOfmCKTqZUanlNN3j6DDx6SmRKJyHF8,3053
73
+ polaris/plugin/service_router/util.py,sha256=WUmrecnsUng3dj5rDX0ynmxCnSVuQ6J-a6uLQgJtpNU,2236
74
+ polaris/plugin/skill/__init__.py,sha256=Ksnk2sHuV9mr2WOtheEN6G9qf_enHpvZbThlH6bccao,740
75
+ polaris/plugin/skill/connector.py,sha256=l7c-2MHODCERp912_mjj0vvLVTZaajpBOgqCVxqRD30,7243
76
+ polaris/plugin/skill/persistence.py,sha256=Lr6D6KbcxHBAkP-vTkMg2sfGMwLhqOxhLyVGLyrfkkE,4110
77
+ polaris/plugin/stat_reporter/__init__.py,sha256=dWFnNx7KLGCJoyIBjDDco8xvm_QgAr6RFnVd3IXj6oY,726
78
+ polaris/plugin/stat_reporter/base.py,sha256=egAQK8ZBTXsFpnFK8fW9fgA_2xDq7BeeQah4aio9T0Y,1178
79
+ polaris/plugin/stat_reporter/prometheus.py,sha256=so0H8CyaGsnJpPMsmW57ryqePyWIsLvQZJu-g2cl-c8,17311
80
+ polaris_python-0.0.1.dev3.dist-info/licenses/LICENSE,sha256=YJW-rt35PlCxHBGzDNLAaMYMaUjgCrrH57V3MJTwpSI,1779
81
+ polaris_python-0.0.1.dev3.dist-info/METADATA,sha256=6qohm4-Fxqc4fKYbBD6vShc_rcwWVSm9pVMRuWPDR0M,6938
82
+ polaris_python-0.0.1.dev3.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
83
+ polaris_python-0.0.1.dev3.dist-info/top_level.txt,sha256=w-dcIlTf_g1vjlHs3857yHM0OcmFnk4xJ2LgBYbPI6w,8
84
+ polaris_python-0.0.1.dev3.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.2.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,18 @@
1
+ Tencent is pleased to support the open source community by making polaris-python available.
2
+
3
+ Copyright (C) 2021 Tencent. All rights reserved.
4
+
5
+ A polaris-python is licensed under the BSD 3-Clause License. A copy of the BSD 3-Clause License is included in this file.
6
+
7
+
8
+ Terms of BSD 3-Clause License
9
+ ---------------------------------------------------
10
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
11
+
12
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
13
+
14
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1 @@
1
+ polaris