scmcp-shared 0.5.0__py3-none-any.whl → 0.6.2__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 (148) hide show
  1. scmcp_shared/__init__.py +1 -1
  2. scmcp_shared/agent.py +16 -46
  3. scmcp_shared/kb.py +74 -3
  4. scmcp_shared/server/__init__.py +7 -0
  5. scmcp_shared/server/auto.py +5 -3
  6. scmcp_shared/server/rag.py +13 -0
  7. {scmcp_shared-0.5.0.dist-info → scmcp_shared-0.6.2.dist-info}/METADATA +5 -2
  8. scmcp_shared-0.6.2.dist-info/RECORD +35 -0
  9. scmcp_shared/vector_db/decoupler.lance/_transactions/0-9499b1b5-85d4-44c2-8f05-1bcce87fe4ef.txn +0 -3
  10. scmcp_shared/vector_db/decoupler.lance/_transactions/1-1632e7a3-4427-4077-8d03-57437144443d.txn +0 -0
  11. scmcp_shared/vector_db/decoupler.lance/_transactions/10-dcf66479-eafb-4193-9358-198154aea1c1.txn +0 -0
  12. scmcp_shared/vector_db/decoupler.lance/_transactions/11-2c6ddc17-49f5-47b5-8764-753297cf9e1b.txn +0 -0
  13. scmcp_shared/vector_db/decoupler.lance/_transactions/12-f079d0a2-9c1c-4e7a-abf6-3e3c4cddac11.txn +0 -0
  14. scmcp_shared/vector_db/decoupler.lance/_transactions/13-5bda9382-a06e-493d-85cb-e066172778ce.txn +0 -0
  15. scmcp_shared/vector_db/decoupler.lance/_transactions/14-6f9c669f-25e2-4096-b7ea-9b421a37e110.txn +0 -0
  16. scmcp_shared/vector_db/decoupler.lance/_transactions/15-2068cca9-31e8-45a3-86d1-bcb8924c72b9.txn +0 -0
  17. scmcp_shared/vector_db/decoupler.lance/_transactions/16-72356bb2-5c98-424e-97aa-a92fa3453da6.txn +0 -0
  18. scmcp_shared/vector_db/decoupler.lance/_transactions/17-9baa67ce-f6d3-478c-9511-20d01988d4d5.txn +0 -0
  19. scmcp_shared/vector_db/decoupler.lance/_transactions/18-b9f2e28e-c4c5-4ce7-bf58-402d53a39558.txn +0 -0
  20. scmcp_shared/vector_db/decoupler.lance/_transactions/19-d199d9f9-7990-4ec0-adde-e98c1c927202.txn +0 -0
  21. scmcp_shared/vector_db/decoupler.lance/_transactions/2-3827747c-095e-41cb-af69-3814bab3a588.txn +0 -0
  22. scmcp_shared/vector_db/decoupler.lance/_transactions/20-31c197a3-7a23-472f-a7e3-056c0ff11e3a.txn +0 -0
  23. scmcp_shared/vector_db/decoupler.lance/_transactions/21-066e3024-36f8-4557-83ae-d2f338ec045c.txn +0 -0
  24. scmcp_shared/vector_db/decoupler.lance/_transactions/22-1d1ccbe5-7c4c-4882-986a-c61ec2f7925e.txn +0 -0
  25. scmcp_shared/vector_db/decoupler.lance/_transactions/23-b2c41628-b2d6-49f1-81b5-3cd9100894b4.txn +0 -0
  26. scmcp_shared/vector_db/decoupler.lance/_transactions/24-e43e2e8d-9dd8-479f-b63c-d147e737c49f.txn +0 -0
  27. scmcp_shared/vector_db/decoupler.lance/_transactions/25-188708e9-5ee1-4b5c-8e13-45dec8efd60d.txn +0 -0
  28. scmcp_shared/vector_db/decoupler.lance/_transactions/26-4f4b6316-5680-4b31-8dd6-215cce66d7b5.txn +0 -0
  29. scmcp_shared/vector_db/decoupler.lance/_transactions/27-c1855f86-abab-44ef-9e61-1312dffc9b06.txn +0 -0
  30. scmcp_shared/vector_db/decoupler.lance/_transactions/28-650d2be0-e977-4177-b457-b733eea8b6ea.txn +0 -0
  31. scmcp_shared/vector_db/decoupler.lance/_transactions/29-e47751d8-0e44-46da-82bd-4836b00a8431.txn +0 -0
  32. scmcp_shared/vector_db/decoupler.lance/_transactions/3-518fc9b8-67de-48f7-94c8-f2398c63dbc5.txn +0 -0
  33. scmcp_shared/vector_db/decoupler.lance/_transactions/30-0db3ea0f-deca-4b5b-9d70-9fb5f741f90c.txn +0 -0
  34. scmcp_shared/vector_db/decoupler.lance/_transactions/31-ef76f0bb-bcfa-4031-b3ad-94b51ee818a9.txn +0 -0
  35. scmcp_shared/vector_db/decoupler.lance/_transactions/32-a763e0f1-5c8d-460f-a455-0c6f6c4f1450.txn +0 -0
  36. scmcp_shared/vector_db/decoupler.lance/_transactions/33-30bce2aa-8e6f-4f42-a323-c420133aa20f.txn +0 -0
  37. scmcp_shared/vector_db/decoupler.lance/_transactions/34-f91ec2f9-d34b-4fcf-8bc7-564c28e50538.txn +0 -0
  38. scmcp_shared/vector_db/decoupler.lance/_transactions/35-7f36a75c-96a7-4868-a4db-5d5f78ecf850.txn +0 -0
  39. scmcp_shared/vector_db/decoupler.lance/_transactions/36-f2df7f99-a37c-458a-958d-7eb5e81eee18.txn +0 -0
  40. scmcp_shared/vector_db/decoupler.lance/_transactions/37-e0af7415-955b-4167-8705-fa9ddb643e9a.txn +0 -0
  41. scmcp_shared/vector_db/decoupler.lance/_transactions/38-6c24a9f0-ce71-4dda-8193-479aa23c5456.txn +0 -0
  42. scmcp_shared/vector_db/decoupler.lance/_transactions/39-72b8a20c-3112-4cf1-8b05-b74a2c02c3f2.txn +0 -0
  43. scmcp_shared/vector_db/decoupler.lance/_transactions/4-42904942-5a79-4f28-90ce-35a4ae8c40d1.txn +0 -0
  44. scmcp_shared/vector_db/decoupler.lance/_transactions/40-95ac7526-6a2e-4914-9654-288c41bff370.txn +0 -0
  45. scmcp_shared/vector_db/decoupler.lance/_transactions/41-13430464-5e62-4aa8-9709-513693a75095.txn +0 -0
  46. scmcp_shared/vector_db/decoupler.lance/_transactions/42-cbb1ad83-a906-4540-bc37-4db158eac618.txn +0 -0
  47. scmcp_shared/vector_db/decoupler.lance/_transactions/43-3c246401-d742-49a9-b24d-cfc457685461.txn +0 -0
  48. scmcp_shared/vector_db/decoupler.lance/_transactions/44-11315c14-ecf4-4e3d-8690-46d57cb3e8c0.txn +0 -0
  49. scmcp_shared/vector_db/decoupler.lance/_transactions/45-7bbf4bc6-96d4-425a-afa2-34aec7121c85.txn +0 -0
  50. scmcp_shared/vector_db/decoupler.lance/_transactions/5-82dda0b4-7838-4f04-90f3-4b1e932c6891.txn +0 -0
  51. scmcp_shared/vector_db/decoupler.lance/_transactions/6-c78352d8-16ba-4814-bd7f-74b8c0c5efe7.txn +0 -0
  52. scmcp_shared/vector_db/decoupler.lance/_transactions/7-bb882b35-63f3-4c52-870f-6a64e3ac7f3c.txn +0 -0
  53. scmcp_shared/vector_db/decoupler.lance/_transactions/8-fc84ad1b-1b59-4822-8fc7-70f4eb18f6d9.txn +0 -0
  54. scmcp_shared/vector_db/decoupler.lance/_transactions/9-3404dcf1-bb17-40e6-9e5d-d9942dff90b2.txn +0 -0
  55. scmcp_shared/vector_db/decoupler.lance/_versions/1.manifest +0 -0
  56. scmcp_shared/vector_db/decoupler.lance/_versions/10.manifest +0 -0
  57. scmcp_shared/vector_db/decoupler.lance/_versions/11.manifest +0 -0
  58. scmcp_shared/vector_db/decoupler.lance/_versions/12.manifest +0 -0
  59. scmcp_shared/vector_db/decoupler.lance/_versions/13.manifest +0 -0
  60. scmcp_shared/vector_db/decoupler.lance/_versions/14.manifest +0 -0
  61. scmcp_shared/vector_db/decoupler.lance/_versions/15.manifest +0 -0
  62. scmcp_shared/vector_db/decoupler.lance/_versions/16.manifest +0 -0
  63. scmcp_shared/vector_db/decoupler.lance/_versions/17.manifest +0 -0
  64. scmcp_shared/vector_db/decoupler.lance/_versions/18.manifest +0 -0
  65. scmcp_shared/vector_db/decoupler.lance/_versions/19.manifest +0 -0
  66. scmcp_shared/vector_db/decoupler.lance/_versions/2.manifest +0 -0
  67. scmcp_shared/vector_db/decoupler.lance/_versions/20.manifest +0 -0
  68. scmcp_shared/vector_db/decoupler.lance/_versions/21.manifest +0 -0
  69. scmcp_shared/vector_db/decoupler.lance/_versions/22.manifest +0 -0
  70. scmcp_shared/vector_db/decoupler.lance/_versions/23.manifest +0 -0
  71. scmcp_shared/vector_db/decoupler.lance/_versions/24.manifest +0 -0
  72. scmcp_shared/vector_db/decoupler.lance/_versions/25.manifest +0 -0
  73. scmcp_shared/vector_db/decoupler.lance/_versions/26.manifest +0 -0
  74. scmcp_shared/vector_db/decoupler.lance/_versions/27.manifest +0 -0
  75. scmcp_shared/vector_db/decoupler.lance/_versions/28.manifest +0 -0
  76. scmcp_shared/vector_db/decoupler.lance/_versions/29.manifest +0 -0
  77. scmcp_shared/vector_db/decoupler.lance/_versions/3.manifest +0 -0
  78. scmcp_shared/vector_db/decoupler.lance/_versions/30.manifest +0 -0
  79. scmcp_shared/vector_db/decoupler.lance/_versions/31.manifest +0 -0
  80. scmcp_shared/vector_db/decoupler.lance/_versions/32.manifest +0 -0
  81. scmcp_shared/vector_db/decoupler.lance/_versions/33.manifest +0 -0
  82. scmcp_shared/vector_db/decoupler.lance/_versions/34.manifest +0 -0
  83. scmcp_shared/vector_db/decoupler.lance/_versions/35.manifest +0 -0
  84. scmcp_shared/vector_db/decoupler.lance/_versions/36.manifest +0 -0
  85. scmcp_shared/vector_db/decoupler.lance/_versions/37.manifest +0 -0
  86. scmcp_shared/vector_db/decoupler.lance/_versions/38.manifest +0 -0
  87. scmcp_shared/vector_db/decoupler.lance/_versions/39.manifest +0 -0
  88. scmcp_shared/vector_db/decoupler.lance/_versions/4.manifest +0 -0
  89. scmcp_shared/vector_db/decoupler.lance/_versions/40.manifest +0 -0
  90. scmcp_shared/vector_db/decoupler.lance/_versions/41.manifest +0 -0
  91. scmcp_shared/vector_db/decoupler.lance/_versions/42.manifest +0 -0
  92. scmcp_shared/vector_db/decoupler.lance/_versions/43.manifest +0 -0
  93. scmcp_shared/vector_db/decoupler.lance/_versions/44.manifest +0 -0
  94. scmcp_shared/vector_db/decoupler.lance/_versions/45.manifest +0 -0
  95. scmcp_shared/vector_db/decoupler.lance/_versions/46.manifest +0 -0
  96. scmcp_shared/vector_db/decoupler.lance/_versions/5.manifest +0 -0
  97. scmcp_shared/vector_db/decoupler.lance/_versions/6.manifest +0 -0
  98. scmcp_shared/vector_db/decoupler.lance/_versions/7.manifest +0 -0
  99. scmcp_shared/vector_db/decoupler.lance/_versions/8.manifest +0 -0
  100. scmcp_shared/vector_db/decoupler.lance/_versions/9.manifest +0 -0
  101. scmcp_shared/vector_db/decoupler.lance/data/0cc94dc3-2ca3-403c-a9df-59753f24b3f2.lance +0 -0
  102. scmcp_shared/vector_db/decoupler.lance/data/254a1a71-cdd2-4cca-b7ec-a50540fed62c.lance +0 -0
  103. scmcp_shared/vector_db/decoupler.lance/data/2574d216-5f05-4794-9e1c-986fafde6ab4.lance +0 -0
  104. scmcp_shared/vector_db/decoupler.lance/data/26c7bbe7-5f97-4453-b065-123b764448b3.lance +0 -0
  105. scmcp_shared/vector_db/decoupler.lance/data/286595a6-88f6-4b05-861e-e4f607a6fcdb.lance +0 -0
  106. scmcp_shared/vector_db/decoupler.lance/data/33219b1a-7575-46ef-bb64-2bdbde1e692b.lance +0 -0
  107. scmcp_shared/vector_db/decoupler.lance/data/344ad7dd-98bb-41de-b347-2f17bf5735cb.lance +0 -0
  108. scmcp_shared/vector_db/decoupler.lance/data/395b1ecb-68fe-4dd3-a770-4b3ed393ae0c.lance +0 -0
  109. scmcp_shared/vector_db/decoupler.lance/data/3db97f4c-9c35-44b7-9042-82b4006c5a22.lance +0 -0
  110. scmcp_shared/vector_db/decoupler.lance/data/4540246e-b0bb-4f4d-8f98-60a64f1c42ed.lance +0 -0
  111. scmcp_shared/vector_db/decoupler.lance/data/4643dbc0-9e45-4b63-81e1-e06cf9bddcec.lance +0 -0
  112. scmcp_shared/vector_db/decoupler.lance/data/4f28eb52-d409-43f2-ae17-d1826f209006.lance +0 -0
  113. scmcp_shared/vector_db/decoupler.lance/data/4fda4a22-35f0-4897-b4c5-6cedefba66e6.lance +0 -0
  114. scmcp_shared/vector_db/decoupler.lance/data/51ee77b6-ab24-44c0-916e-b81ff3912731.lance +0 -0
  115. scmcp_shared/vector_db/decoupler.lance/data/539d15c9-e88b-400c-9ab7-08f5e8dca10d.lance +0 -0
  116. scmcp_shared/vector_db/decoupler.lance/data/54007132-91f5-4909-8678-c471ef4d100f.lance +0 -0
  117. scmcp_shared/vector_db/decoupler.lance/data/546d88ec-0d5c-42bb-bccc-3271f3f183a4.lance +0 -0
  118. scmcp_shared/vector_db/decoupler.lance/data/6912ad8a-343c-4ca1-b1b7-4300125e688e.lance +0 -0
  119. scmcp_shared/vector_db/decoupler.lance/data/6b72e4f7-3051-40a4-a492-6d9eff1c647d.lance +0 -0
  120. scmcp_shared/vector_db/decoupler.lance/data/6d7ee320-ae1c-4e49-8ce5-c85971b11ce6.lance +0 -0
  121. scmcp_shared/vector_db/decoupler.lance/data/6ea47b70-69d4-43e9-b2c6-442fe50e4dd1.lance +0 -0
  122. scmcp_shared/vector_db/decoupler.lance/data/72adb5ed-bf11-4d06-b146-0272d333db08.lance +0 -0
  123. scmcp_shared/vector_db/decoupler.lance/data/745907df-e261-4f4b-a757-2c01c058bf27.lance +0 -0
  124. scmcp_shared/vector_db/decoupler.lance/data/78988307-4c66-4ad7-b295-7463ecd53609.lance +0 -0
  125. scmcp_shared/vector_db/decoupler.lance/data/798ce305-6d60-4f28-b82a-e1f647907abf.lance +0 -0
  126. scmcp_shared/vector_db/decoupler.lance/data/7c159cce-2741-442b-9c63-f44bf2996718.lance +0 -0
  127. scmcp_shared/vector_db/decoupler.lance/data/7cd7a818-e68b-4fa8-bad3-23b60c386670.lance +0 -0
  128. scmcp_shared/vector_db/decoupler.lance/data/7ec553ed-0c7a-4bac-99b2-2ad976b40466.lance +0 -0
  129. scmcp_shared/vector_db/decoupler.lance/data/83efdc85-d990-4762-b69a-fb1c3938f60f.lance +0 -0
  130. scmcp_shared/vector_db/decoupler.lance/data/8c1613b3-8d69-49c5-bfd0-a021bb516faf.lance +0 -0
  131. scmcp_shared/vector_db/decoupler.lance/data/95cd1b22-1f93-4133-9841-de21549ad8c5.lance +0 -0
  132. scmcp_shared/vector_db/decoupler.lance/data/9a2ea5d4-087e-4d3a-b64b-6c568b8a0010.lance +0 -0
  133. scmcp_shared/vector_db/decoupler.lance/data/b1c47dc6-450a-4dca-b465-badb6a3619c2.lance +0 -0
  134. scmcp_shared/vector_db/decoupler.lance/data/b21d183a-c51d-463b-932e-9beb2e0da9aa.lance +0 -0
  135. scmcp_shared/vector_db/decoupler.lance/data/b2598625-8683-4c33-be40-6f1a7555dc2c.lance +0 -0
  136. scmcp_shared/vector_db/decoupler.lance/data/b7297b39-1fc5-4886-be21-708b369bef59.lance +0 -0
  137. scmcp_shared/vector_db/decoupler.lance/data/b7d90085-5bd6-48f9-8a73-17eb7cf556fa.lance +0 -0
  138. scmcp_shared/vector_db/decoupler.lance/data/b988ceee-57fc-423b-8e67-5729086c6946.lance +0 -0
  139. scmcp_shared/vector_db/decoupler.lance/data/bfd68ea6-ddf4-44bb-aa87-2669f0462f7d.lance +0 -0
  140. scmcp_shared/vector_db/decoupler.lance/data/cb8ac58e-0e59-4391-95ab-6195e71b9625.lance +0 -0
  141. scmcp_shared/vector_db/decoupler.lance/data/d0f10434-afb5-49c5-9e77-d39a4f8cca94.lance +0 -0
  142. scmcp_shared/vector_db/decoupler.lance/data/d3f89fec-5795-4e11-8c15-bc2206a7fae2.lance +0 -0
  143. scmcp_shared/vector_db/decoupler.lance/data/e063c8a4-5ef1-4933-a049-b41049d9be5f.lance +0 -0
  144. scmcp_shared/vector_db/decoupler.lance/data/e2348b24-f290-4fe2-a6c8-e98009ae4c1b.lance +0 -0
  145. scmcp_shared/vector_db/decoupler.lance/data/e5d3f893-6763-40dc-9d02-04e2f56a4883.lance +0 -0
  146. scmcp_shared-0.5.0.dist-info/RECORD +0 -171
  147. {scmcp_shared-0.5.0.dist-info → scmcp_shared-0.6.2.dist-info}/WHEEL +0 -0
  148. {scmcp_shared-0.5.0.dist-info → scmcp_shared-0.6.2.dist-info}/licenses/LICENSE +0 -0
scmcp_shared/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.5.0"
1
+ __version__ = "0.6.2"
scmcp_shared/agent.py CHANGED
@@ -1,12 +1,10 @@
1
- import instructor
2
- from openai import OpenAI
3
- from scmcp_shared.schema.tool import ToolList
1
+ from .schema.tool import ToolList
4
2
  import os
5
3
 
6
4
 
7
5
  from agno.agent import Agent
8
6
  from agno.models.openai import OpenAILike
9
- from scmcp_shared.kb import load_kb
7
+ from .kb import load_kb
10
8
 
11
9
  model = OpenAILike(
12
10
  id=os.getenv("MODEL"),
@@ -15,43 +13,24 @@ model = OpenAILike(
15
13
  )
16
14
 
17
15
 
18
- def rag_agent(task, software=None):
16
+ def rag_agent(task, software="scmcp"):
19
17
  knowledge_base = load_kb(software=software)
20
18
  agent = Agent(
21
19
  model=model,
22
20
  knowledge=knowledge_base,
23
21
  show_tool_calls=True,
24
22
  search_knowledge=True,
23
+ instructions="""
24
+ MUST query the knowledge base, and return the code example that can be used to solve the task.
25
+ """,
25
26
  )
26
27
  query = f"""
27
28
  <task>
28
29
  {task}
29
30
  </task>
30
- 拆分任务,分别查询知识库,查找完成每个子任务所需要的函数以及参数, 给出一个总的用于解决任务的代码示例。返回结果格式为:
31
- <function_list>
32
- <function>
33
- <package>.<module>.<function_name>
34
- <package>.<module>.<function_name>(<param1>[, <param2>=<default>][, ...][, **kwargs])
35
- <一句话描述函数的主要功能>。
36
-
37
- <可选:补充说明/实现细节/依赖等>
38
-
39
- Parameters
40
- :
41
- <param1> (<type>) – <param1 的说明>
42
-
43
- <param2> (<type> (default: <default>)) – <param2 的说明>
44
-
45
- <param3> (<type> (default: <default>)) – <param3 的说明>
46
-
47
- ...(按需继续列出其他参数)
48
-
49
- **kwargs – <对底层实现传递的其他关键字参数的说明;如无需说明可简写为“其他关键字参数”。>
50
- </function>
51
- ...
52
- </function_list>
31
+ 查询知识库,给出一个用于解决任务的代码示例。返回结果格式为:
53
32
  <code_example>
54
- [code_example]
33
+ [code_example]
55
34
  </code_example>
56
35
  """
57
36
  rep = agent.run(query)
@@ -59,22 +38,13 @@ def rag_agent(task, software=None):
59
38
 
60
39
 
61
40
  def select_tool(query):
62
- API_KEY = os.environ.get("API_KEY", None)
63
- BASE_URL = os.environ.get("BASE_URL", None)
64
- MODEL = os.environ.get("MODEL", None)
65
-
66
- client = OpenAI(api_key=API_KEY, base_url=BASE_URL)
67
- client = instructor.from_openai(client)
68
-
69
- response = client.chat.completions.create(
70
- model=MODEL,
71
- messages=[
72
- {
73
- "role": "system",
74
- "content": "you are a bioinformatician, you are given a task and a list of tools, you need to select the most directly relevant tools to use to solve the task",
75
- },
76
- {"role": "user", "content": query},
77
- ],
41
+ agent = Agent(
42
+ model=model,
78
43
  response_model=ToolList,
44
+ use_json_mode=True,
45
+ instructions="""
46
+ you are a bioinformatician, you are given a task and a list of tools, you need to select the most directly relevant tools to use to solve the task
47
+ """,
79
48
  )
80
- return response.tools
49
+ rep = agent.run(query)
50
+ return rep.content
scmcp_shared/kb.py CHANGED
@@ -3,9 +3,13 @@ from agno.embedder.openai import OpenAIEmbedder
3
3
  from agno.models.deepseek import DeepSeek
4
4
  from agno.vectordb.lancedb import LanceDb
5
5
  from agno.knowledge.agent import AgentKnowledge
6
- import importlib.resources
7
6
  import os
7
+ import requests
8
+ import zipfile
9
+ from pathlib import Path
10
+ import logging
8
11
 
12
+ logger = logging.getLogger(__name__)
9
13
 
10
14
  embedder_id = os.getenv("EMBEDDER_MODEL")
11
15
  embedder_api_key = os.getenv("EMBEDDER_API_KEY")
@@ -15,10 +19,77 @@ model_api_key = os.getenv("API_KEY")
15
19
  model_base_url = os.getenv("BASE_URL")
16
20
 
17
21
 
18
- def load_kb(software=None):
22
+ def download_vector_db(source="huggingface"):
23
+ """
24
+ 下载向量数据库文件
25
+
26
+ Args:
27
+ source: 下载源 ("huggingface" 或 "github")
28
+ """
29
+
30
+ local_dir = Path(__file__).parent
31
+ local_dir.mkdir(exist_ok=True)
32
+
33
+ # 检查是否已存在
34
+ if (local_dir / "scmcp.lance").exists():
35
+ logger.info("Vector database already exists locally")
36
+ return str(local_dir)
37
+
38
+ logger.info(f"Downloading vector database from {source}...")
39
+
40
+ # 下载文件
41
+ if source == "huggingface":
42
+ url = "https://huggingface.co/datasets/huangshing/scmcp_vector_db/resolve/main/vector_db.zip"
43
+ else:
44
+ raise ValueError(f"Unsupported source: {source}")
45
+
46
+ logger.info(f"Downloading from: {url}")
47
+ response = requests.get(url, stream=True)
48
+ response.raise_for_status()
49
+
50
+ # 下载到目标目录
51
+ zip_path = local_dir / "vector_db.zip"
52
+ with open(zip_path, "wb") as f:
53
+ for chunk in response.iter_content(chunk_size=8192):
54
+ f.write(chunk)
55
+
56
+ # 解压文件
57
+ logger.info("Extracting downloaded archive...")
58
+ with zipfile.ZipFile(zip_path, "r") as zip_ref:
59
+ zip_ref.extractall(local_dir)
60
+
61
+ # 删除zip文件
62
+ zip_path.unlink()
63
+
64
+ logger.info(f"Vector database downloaded and extracted to: {local_dir}")
65
+ return str(local_dir)
66
+
67
+
68
+ def load_kb(software=None, auto_download=True, download_source="huggingface"):
69
+ """
70
+ 加载知识库
71
+
72
+ Args:
73
+ software: 软件名称
74
+ auto_download: 是否自动下载向量数据库
75
+ download_source: 下载源 ("huggingface" 或 "github")
76
+ """
77
+ # 获取向量数据库路径
78
+ vector_db_path = Path(__file__).parent / "vector_db"
79
+
80
+ # 如果不存在且允许自动下载,则下载
81
+ if not (vector_db_path / "scmcp.lance").exists():
82
+ if auto_download:
83
+ logger.info("Vector database not found, downloading...")
84
+ download_vector_db(download_source)
85
+ else:
86
+ raise FileNotFoundError(
87
+ "Vector database not found. Set auto_download=True to download automatically."
88
+ )
89
+
19
90
  vector_db = LanceDb(
20
91
  table_name=software,
21
- uri=importlib.resources.path("scmcp_shared", "vector_db"),
92
+ uri=vector_db_path,
22
93
  embedder=OpenAIEmbedder(
23
94
  id=embedder_id,
24
95
  base_url=embedder_base_url,
@@ -1 +1,8 @@
1
1
  from __future__ import annotations
2
+
3
+ from .auto import auto_mcp
4
+ from .rag import rag_mcp
5
+ from abcoder.server import nb_mcp
6
+ from . import preset
7
+
8
+ __all__ = ["auto_mcp", "rag_mcp", "nb_mcp", "preset"]
@@ -15,17 +15,19 @@ def search_tool(
15
15
  """search the tools and get tool parameters that can be used to solve the user's tasks or questions"""
16
16
  ctx = get_context()
17
17
  fastmcp = ctx.fastmcp
18
- all_tools = fastmcp._tool_manager._all_tools
18
+ if hasattr(fastmcp._tool_manager, "_all_tools"):
19
+ all_tools = fastmcp._tool_manager._all_tools
20
+ else:
21
+ all_tools = fastmcp._tool_manager._tools
19
22
  auto_tools = fastmcp._tool_manager._tools
20
23
  fastmcp._tool_manager._tools = all_tools
21
24
  query = f"<task>{task}</task>\n"
22
25
  for name in all_tools:
23
26
  tool = all_tools[name]
24
27
  query += f"<Tool>\n<name>{name}</name>\n<description>{tool.description}</description>\n</Tool>\n"
25
-
26
28
  results = select_tool(query)
27
29
  tool_list = []
28
- for tool in results:
30
+ for tool in results.tools:
29
31
  tool = tool.model_dump()
30
32
  tool["parameters"] = all_tools[tool["name"]].parameters
31
33
  tool_list.append(tool)
@@ -0,0 +1,13 @@
1
+ from fastmcp import FastMCP
2
+ from ..agent import rag_agent
3
+ from pydantic import Field
4
+
5
+ rag_mcp = FastMCP("RAG-Server")
6
+
7
+
8
+ @rag_mcp.tool(tags={"rag"})
9
+ def retrieve_knowledge(
10
+ task: str = Field(description="The tasks or questions that needs to be solved"),
11
+ ):
12
+ """search guide or code example that can be used to solve the user's tasks or questions"""
13
+ return rag_agent(task, software="scmcp")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scmcp_shared
3
- Version: 0.5.0
3
+ Version: 0.6.2
4
4
  Summary: A shared function libray for scmcphub
5
5
  Project-URL: Homepage, http://scmcphub.org/
6
6
  Project-URL: Repository, https://github.com/scmcphub/scmcp-shared
@@ -38,12 +38,15 @@ License-File: LICENSE
38
38
  Keywords: AI,agent,bioinformatics,llm,mcp,model context protocol,scRNA-seq,single cell
39
39
  Requires-Python: >=3.10
40
40
  Requires-Dist: abcoder
41
+ Requires-Dist: agno
41
42
  Requires-Dist: fastmcp>=2.7.0
42
43
  Requires-Dist: igraph
43
- Requires-Dist: instructor>=1.8.3
44
+ Requires-Dist: lancedb
44
45
  Requires-Dist: leidenalg
45
46
  Requires-Dist: mcp>=1.8.0
46
47
  Requires-Dist: nest-asyncio
48
+ Requires-Dist: openai
49
+ Requires-Dist: requests
47
50
  Requires-Dist: scanpy
48
51
  Description-Content-Type: text/markdown
49
52
 
@@ -0,0 +1,35 @@
1
+ scmcp_shared/__init__.py,sha256=jFlbxEJFS0G44LE-yXXVSwXACA1J_NyYDk5E20_2zpc,22
2
+ scmcp_shared/agent.py,sha256=IRzsyxdf0bwAyhH_wHW7gVKqza_E8ldOQSCMvTcOTuE,1274
3
+ scmcp_shared/backend.py,sha256=PyxHhg7ThHE5u6XtWwleAiJ3aqdLHbXoXuyw5QeF4Qw,1695
4
+ scmcp_shared/cli.py,sha256=zYz_E3SlZ_mtYOrSdDJhDmHsppkwzEi2rZ6D3a_ga1c,5603
5
+ scmcp_shared/kb.py,sha256=mRT3EzSOzXZ1_h1RV4Z7Maqzk2wSwmkpb4DrpBOOJtk,3218
6
+ scmcp_shared/logging_config.py,sha256=Z5jLgOCfir4UGxM-ZQvYv7Iyl_zF78qqPNQ_aSE77f0,838
7
+ scmcp_shared/mcp_base.py,sha256=v8sBqObTVzLEvoeQe3la2cfnDWZE7DkY07SqEb_1srA,7277
8
+ scmcp_shared/util.py,sha256=LNrpoHBdA4x-Tt16uT_9A72_QZ41SrqZ0zy3Ozwa858,11163
9
+ scmcp_shared/schema/__init__.py,sha256=Kwkc7kPLjExOlxt1sWEy_5qa96MvOS8sNCMlZa6yRg8,737
10
+ scmcp_shared/schema/io.py,sha256=wZxGDJzzeSbI5Nl5IIE9GJDkBynqYFakK21tnECvBNk,6090
11
+ scmcp_shared/schema/pl.py,sha256=vheuv1itA-FkhAb9c7kkCpHWgbmJGhWJf8nAYkfzbBI,28228
12
+ scmcp_shared/schema/pp.py,sha256=PtbgMupJNBWmAx6lIoMy6RflByAasSnFB5PCytijS80,32300
13
+ scmcp_shared/schema/tl.py,sha256=YbeKoaUqJXcn2WIJn0Rzn5rq4qud_ncUdoaliQkZYwI,35358
14
+ scmcp_shared/schema/tool.py,sha256=U-VFrovAEr2FklS8cSJPimfhTSTHmskmLfCO7Ee0s2o,267
15
+ scmcp_shared/schema/util.py,sha256=1twQ9kiaKI6XubJIuYywG7vr-T2cCCblehhYXJQskls,4558
16
+ scmcp_shared/schema/preset/__init__.py,sha256=dw8bPW1LaQKtATc2wmkAkF-fHYGwIGxY3Aq9mHTL9HA,422
17
+ scmcp_shared/schema/preset/io.py,sha256=hP8LVbiZUaGU0mHCxHS3wmA3Q6OPEldvMACnD6gAn9Y,4558
18
+ scmcp_shared/schema/preset/pl.py,sha256=bURWdeJ1CVOyL78Zfof7aJIXiqtKUog5NuVxNm1mGNw,28152
19
+ scmcp_shared/schema/preset/pp.py,sha256=j6cnQlt2YuOIJwjl8x4JNojSVcXW1bVjnt6BZ8QHNzQ,21079
20
+ scmcp_shared/schema/preset/tl.py,sha256=cHne8cIJBFph5MENsgElx1MQUOi7LYc62M0OQppcZ40,33818
21
+ scmcp_shared/schema/preset/util.py,sha256=1twQ9kiaKI6XubJIuYywG7vr-T2cCCblehhYXJQskls,4558
22
+ scmcp_shared/server/__init__.py,sha256=qwJEKZnBjcTi7wXcPpeQ-EP4YY9jJo9BYXkfCyn662c,198
23
+ scmcp_shared/server/auto.py,sha256=FQKbUDuWlgfkcakLGm28lzrJTBm2vynwskHDdVLV2Dk,1966
24
+ scmcp_shared/server/code.py,sha256=_uNIZ7sVfpBAhX1qPJ8f3zquSEgZXA3jWkPaRx3ph9k,56
25
+ scmcp_shared/server/rag.py,sha256=2b7ILYaFjVXfIjX4_J3EpARwrB1dds_7MEdea8oU7vQ,400
26
+ scmcp_shared/server/preset/__init__.py,sha256=2DdRR0MaipsxREZ4dWvnGfNRAaHQY7BGGVNgGQEyfbo,318
27
+ scmcp_shared/server/preset/io.py,sha256=2QigfUHR8HJtVdI4nIfRh0tm8WhVu8Hge1AAos6afZM,4059
28
+ scmcp_shared/server/preset/pl.py,sha256=pQx7yD1-vRSnNky_8tapI6vU1lqcZ5S4zs5y1aamtcc,16774
29
+ scmcp_shared/server/preset/pp.py,sha256=9WtTQ8aHnN_G_7Rm9hZsa7GU3A7xHBoNf8tE-gsDDHY,17114
30
+ scmcp_shared/server/preset/tl.py,sha256=LtrGMNkeTlTqe2Cyw1OwZXpeTbyGqgENYYC76BKXgpg,19716
31
+ scmcp_shared/server/preset/util.py,sha256=vek2SOEfiyAyCUEjwsFf1uqwT9YuzDHVQJ-dprIDWME,13519
32
+ scmcp_shared-0.6.2.dist-info/METADATA,sha256=G9fDdQvtdg4DHARkVp9_LyE_lhlRkwbtjedqSUWnb6Y,2514
33
+ scmcp_shared-0.6.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
34
+ scmcp_shared-0.6.2.dist-info/licenses/LICENSE,sha256=YNr1hpea195yq-wGtB8j-2dGtt7A5G00WENmxa7JGco,1495
35
+ scmcp_shared-0.6.2.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- $9499b1b5-85d4-44c2-8f05-1bcce87fe4ef��<vector ���������*fixed_size_list:float:102408Zdefault&id ���������*string08Zdefault+payload ���������*string08Zdefault"!
2
- lance.auto_cleanup.interval20"'
3
- lance.auto_cleanup.older_than14days
@@ -1,171 +0,0 @@
1
- scmcp_shared/__init__.py,sha256=LBK46heutvn3KmsCrKIYu8RQikbfnjZaj2xFrXaeCzQ,22
2
- scmcp_shared/agent.py,sha256=R_QYcJhSmARdQGymPRZSH6r43CnX-dZZA1zWqIyEUs4,2423
3
- scmcp_shared/backend.py,sha256=PyxHhg7ThHE5u6XtWwleAiJ3aqdLHbXoXuyw5QeF4Qw,1695
4
- scmcp_shared/cli.py,sha256=zYz_E3SlZ_mtYOrSdDJhDmHsppkwzEi2rZ6D3a_ga1c,5603
5
- scmcp_shared/kb.py,sha256=1SpUrXcDllxTwdn_0iyEEyJqZuhndtGajolAuIqHryg,1101
6
- scmcp_shared/logging_config.py,sha256=Z5jLgOCfir4UGxM-ZQvYv7Iyl_zF78qqPNQ_aSE77f0,838
7
- scmcp_shared/mcp_base.py,sha256=v8sBqObTVzLEvoeQe3la2cfnDWZE7DkY07SqEb_1srA,7277
8
- scmcp_shared/util.py,sha256=LNrpoHBdA4x-Tt16uT_9A72_QZ41SrqZ0zy3Ozwa858,11163
9
- scmcp_shared/schema/__init__.py,sha256=Kwkc7kPLjExOlxt1sWEy_5qa96MvOS8sNCMlZa6yRg8,737
10
- scmcp_shared/schema/io.py,sha256=wZxGDJzzeSbI5Nl5IIE9GJDkBynqYFakK21tnECvBNk,6090
11
- scmcp_shared/schema/pl.py,sha256=vheuv1itA-FkhAb9c7kkCpHWgbmJGhWJf8nAYkfzbBI,28228
12
- scmcp_shared/schema/pp.py,sha256=PtbgMupJNBWmAx6lIoMy6RflByAasSnFB5PCytijS80,32300
13
- scmcp_shared/schema/tl.py,sha256=YbeKoaUqJXcn2WIJn0Rzn5rq4qud_ncUdoaliQkZYwI,35358
14
- scmcp_shared/schema/tool.py,sha256=U-VFrovAEr2FklS8cSJPimfhTSTHmskmLfCO7Ee0s2o,267
15
- scmcp_shared/schema/util.py,sha256=1twQ9kiaKI6XubJIuYywG7vr-T2cCCblehhYXJQskls,4558
16
- scmcp_shared/schema/preset/__init__.py,sha256=dw8bPW1LaQKtATc2wmkAkF-fHYGwIGxY3Aq9mHTL9HA,422
17
- scmcp_shared/schema/preset/io.py,sha256=hP8LVbiZUaGU0mHCxHS3wmA3Q6OPEldvMACnD6gAn9Y,4558
18
- scmcp_shared/schema/preset/pl.py,sha256=bURWdeJ1CVOyL78Zfof7aJIXiqtKUog5NuVxNm1mGNw,28152
19
- scmcp_shared/schema/preset/pp.py,sha256=j6cnQlt2YuOIJwjl8x4JNojSVcXW1bVjnt6BZ8QHNzQ,21079
20
- scmcp_shared/schema/preset/tl.py,sha256=cHne8cIJBFph5MENsgElx1MQUOi7LYc62M0OQppcZ40,33818
21
- scmcp_shared/schema/preset/util.py,sha256=1twQ9kiaKI6XubJIuYywG7vr-T2cCCblehhYXJQskls,4558
22
- scmcp_shared/server/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
23
- scmcp_shared/server/auto.py,sha256=J0--mP-Ya705tjO2KJP1fra8CwSM8db4pD0-VAP1mCg,1845
24
- scmcp_shared/server/code.py,sha256=_uNIZ7sVfpBAhX1qPJ8f3zquSEgZXA3jWkPaRx3ph9k,56
25
- scmcp_shared/server/preset/__init__.py,sha256=2DdRR0MaipsxREZ4dWvnGfNRAaHQY7BGGVNgGQEyfbo,318
26
- scmcp_shared/server/preset/io.py,sha256=2QigfUHR8HJtVdI4nIfRh0tm8WhVu8Hge1AAos6afZM,4059
27
- scmcp_shared/server/preset/pl.py,sha256=pQx7yD1-vRSnNky_8tapI6vU1lqcZ5S4zs5y1aamtcc,16774
28
- scmcp_shared/server/preset/pp.py,sha256=9WtTQ8aHnN_G_7Rm9hZsa7GU3A7xHBoNf8tE-gsDDHY,17114
29
- scmcp_shared/server/preset/tl.py,sha256=LtrGMNkeTlTqe2Cyw1OwZXpeTbyGqgENYYC76BKXgpg,19716
30
- scmcp_shared/server/preset/util.py,sha256=vek2SOEfiyAyCUEjwsFf1uqwT9YuzDHVQJ-dprIDWME,13519
31
- scmcp_shared/vector_db/decoupler.lance/_transactions/0-9499b1b5-85d4-44c2-8f05-1bcce87fe4ef.txn,sha256=lleoGX8x_ChVrRzY3IjTbUh0fLfWJWZo7_K1DN6SyNM,265
32
- scmcp_shared/vector_db/decoupler.lance/_transactions/1-1632e7a3-4427-4077-8d03-57437144443d.txn,sha256=G-zanM2HzVjyDUjrfzrRmGm3YZ5qoaBrBErnwJpxlo4,108
33
- scmcp_shared/vector_db/decoupler.lance/_transactions/10-dcf66479-eafb-4193-9358-198154aea1c1.txn,sha256=cCgLyiWXaJBWou8NskTqSN0vvUWSrJzUViYTqHlmqeM,108
34
- scmcp_shared/vector_db/decoupler.lance/_transactions/11-2c6ddc17-49f5-47b5-8764-753297cf9e1b.txn,sha256=ZAZazmtz9zKjvoLK-gQR_C-K5R18jIrOSuHzrB0WEfs,108
35
- scmcp_shared/vector_db/decoupler.lance/_transactions/12-f079d0a2-9c1c-4e7a-abf6-3e3c4cddac11.txn,sha256=bcDxWaSxSWNR34165asrErRWvcI69IGyzK9CATzdYFw,108
36
- scmcp_shared/vector_db/decoupler.lance/_transactions/13-5bda9382-a06e-493d-85cb-e066172778ce.txn,sha256=s_rUaIJnt-aDHLwhNCVxCywk7853KuSRDieXqEXF9jQ,108
37
- scmcp_shared/vector_db/decoupler.lance/_transactions/14-6f9c669f-25e2-4096-b7ea-9b421a37e110.txn,sha256=fbmt-xaDcmYk29F3NWjv2N3mx5prtu_G0mUpMsGkXm4,108
38
- scmcp_shared/vector_db/decoupler.lance/_transactions/15-2068cca9-31e8-45a3-86d1-bcb8924c72b9.txn,sha256=p92KcL9ouXt_85y3Hfm-hn1u8BXIx3YnP8hLWwdNR-8,108
39
- scmcp_shared/vector_db/decoupler.lance/_transactions/16-72356bb2-5c98-424e-97aa-a92fa3453da6.txn,sha256=x8kUJE0SGJg1RTcSskduqTSD_FXcIIcv2s-al4VnClU,108
40
- scmcp_shared/vector_db/decoupler.lance/_transactions/17-9baa67ce-f6d3-478c-9511-20d01988d4d5.txn,sha256=wRRLy47v_aC0p_1aHj1NGVZxgMvh5qfwD8DB4n0vr44,108
41
- scmcp_shared/vector_db/decoupler.lance/_transactions/18-b9f2e28e-c4c5-4ce7-bf58-402d53a39558.txn,sha256=ZJIe5gTGZ0OmC3GljFT4gLO6uQ5gvJp4E7_U11GQ31k,108
42
- scmcp_shared/vector_db/decoupler.lance/_transactions/19-d199d9f9-7990-4ec0-adde-e98c1c927202.txn,sha256=57WIOrewTp07kOqoi5JUk6Vf21TwjqYSu2ZRVWiUfSY,108
43
- scmcp_shared/vector_db/decoupler.lance/_transactions/2-3827747c-095e-41cb-af69-3814bab3a588.txn,sha256=ButofcV4GYSedoyUBDtE7gAyX7gr_44d1KKrnuynPAs,108
44
- scmcp_shared/vector_db/decoupler.lance/_transactions/20-31c197a3-7a23-472f-a7e3-056c0ff11e3a.txn,sha256=bOclQUGMHpSWU_LjOanSilRJsjg0mz5kYs5rN8NuvBU,108
45
- scmcp_shared/vector_db/decoupler.lance/_transactions/21-066e3024-36f8-4557-83ae-d2f338ec045c.txn,sha256=PrN16m7VPg7jPeEaFbKV-u6gUv7o7YF4KL_voD9xzg4,108
46
- scmcp_shared/vector_db/decoupler.lance/_transactions/22-1d1ccbe5-7c4c-4882-986a-c61ec2f7925e.txn,sha256=iF1NNzasQQhodHBPr9u_7yO7kBLVXizJGH1MWRG72Fg,108
47
- scmcp_shared/vector_db/decoupler.lance/_transactions/23-b2c41628-b2d6-49f1-81b5-3cd9100894b4.txn,sha256=Su8uYRDS9pFupK_kNnJfMhPAT3tRp23bpwcR9jsD-_c,108
48
- scmcp_shared/vector_db/decoupler.lance/_transactions/24-e43e2e8d-9dd8-479f-b63c-d147e737c49f.txn,sha256=NO0F_XB0dRIYaNlXtmVc-vYrMqN72tsPQA_q2zJJ-hA,108
49
- scmcp_shared/vector_db/decoupler.lance/_transactions/25-188708e9-5ee1-4b5c-8e13-45dec8efd60d.txn,sha256=jhFyW57vXd5jLYV3eVQqe8QyELczPyBOziJX8sCj93o,108
50
- scmcp_shared/vector_db/decoupler.lance/_transactions/26-4f4b6316-5680-4b31-8dd6-215cce66d7b5.txn,sha256=zMCLu-TVw89GCyw_piLKM6SbXw0Jl7vrSFhILWP41fU,108
51
- scmcp_shared/vector_db/decoupler.lance/_transactions/27-c1855f86-abab-44ef-9e61-1312dffc9b06.txn,sha256=IVX6cx8R2d6kHM6KIAAXaaS1qNqZKv5ADGP3u5SK-Go,108
52
- scmcp_shared/vector_db/decoupler.lance/_transactions/28-650d2be0-e977-4177-b457-b733eea8b6ea.txn,sha256=vLkoKvC1DwEuXGDa0P9r3B4hJqvUDPB7v2i6t9JolxY,108
53
- scmcp_shared/vector_db/decoupler.lance/_transactions/29-e47751d8-0e44-46da-82bd-4836b00a8431.txn,sha256=gMfUDlRw9JPKD7fTMjcSiswvgHqa1qhOa_LpXvy8IK0,108
54
- scmcp_shared/vector_db/decoupler.lance/_transactions/3-518fc9b8-67de-48f7-94c8-f2398c63dbc5.txn,sha256=4mDau6ZCJew_aZrDgjSpyP6TlM2CjKCDIyC1swxxmP4,108
55
- scmcp_shared/vector_db/decoupler.lance/_transactions/30-0db3ea0f-deca-4b5b-9d70-9fb5f741f90c.txn,sha256=goxpqJrig2QGPmSh2ua9pYOuMdx5-z6DWT0JQa1E9E4,108
56
- scmcp_shared/vector_db/decoupler.lance/_transactions/31-ef76f0bb-bcfa-4031-b3ad-94b51ee818a9.txn,sha256=r9nw5wgH8w5C0O5Q8yGHKQPBX_3BV0SAPcozsLd41Lw,108
57
- scmcp_shared/vector_db/decoupler.lance/_transactions/32-a763e0f1-5c8d-460f-a455-0c6f6c4f1450.txn,sha256=IThlauDaM6xRHwOSJ4ETIrU1WOenab0-1BoRR70tZt8,108
58
- scmcp_shared/vector_db/decoupler.lance/_transactions/33-30bce2aa-8e6f-4f42-a323-c420133aa20f.txn,sha256=5B0QgPdvl4uvqWt4W4EEJdPwJzJgUjDOupqsJT9CpOE,108
59
- scmcp_shared/vector_db/decoupler.lance/_transactions/34-f91ec2f9-d34b-4fcf-8bc7-564c28e50538.txn,sha256=mpmKQ8fk3A6wSweAL7mN_W7SNaIgAsynHVkGRKy6DWg,108
60
- scmcp_shared/vector_db/decoupler.lance/_transactions/35-7f36a75c-96a7-4868-a4db-5d5f78ecf850.txn,sha256=x2FI9OENo4hCtz-Hsaaiw4k-kWkXN7R0OLnCZ5iu_CQ,108
61
- scmcp_shared/vector_db/decoupler.lance/_transactions/36-f2df7f99-a37c-458a-958d-7eb5e81eee18.txn,sha256=bMtJX27o3b82Mcg5jgbLORIM0YdQ4lTpSz3EJCCnXA0,108
62
- scmcp_shared/vector_db/decoupler.lance/_transactions/37-e0af7415-955b-4167-8705-fa9ddb643e9a.txn,sha256=2fUjcavqrXU8DOWGAnEseeADedvUEQgWmIVn_Di5YV8,108
63
- scmcp_shared/vector_db/decoupler.lance/_transactions/38-6c24a9f0-ce71-4dda-8193-479aa23c5456.txn,sha256=Kvax65qNflSTDrNgl6JDMdFaJv7DCZEoIYFuHruayt4,108
64
- scmcp_shared/vector_db/decoupler.lance/_transactions/39-72b8a20c-3112-4cf1-8b05-b74a2c02c3f2.txn,sha256=44qbvb2e-kLvSB5_OruXxS8MrmejtD0nJzTm3gR9P50,108
65
- scmcp_shared/vector_db/decoupler.lance/_transactions/4-42904942-5a79-4f28-90ce-35a4ae8c40d1.txn,sha256=smW-VjuMd7tyx1XS5sqE0w6RFcr5QwX16EoKa0uk2M8,108
66
- scmcp_shared/vector_db/decoupler.lance/_transactions/40-95ac7526-6a2e-4914-9654-288c41bff370.txn,sha256=pQwyMAuGP89Fd_jnMlk_U0lRS6eCbBD1vD0O12dvqw8,108
67
- scmcp_shared/vector_db/decoupler.lance/_transactions/41-13430464-5e62-4aa8-9709-513693a75095.txn,sha256=Vv0i8ovk-LwdyMYqKMGsC_57EL8VN_lwWZfxkQhPT70,108
68
- scmcp_shared/vector_db/decoupler.lance/_transactions/42-cbb1ad83-a906-4540-bc37-4db158eac618.txn,sha256=2MenbPGHGpED3FyFsS8fNtmI8xv9Rq_APo2XqOClaA4,108
69
- scmcp_shared/vector_db/decoupler.lance/_transactions/43-3c246401-d742-49a9-b24d-cfc457685461.txn,sha256=pz1ne9Kf_Dlvlc5nJB50BbAQrUwZwOwncnHbe32Nd1k,108
70
- scmcp_shared/vector_db/decoupler.lance/_transactions/44-11315c14-ecf4-4e3d-8690-46d57cb3e8c0.txn,sha256=a0Wn5twVEO2p5dSNUUe0L6wUpHlfaB7kzGEow-NvQGE,108
71
- scmcp_shared/vector_db/decoupler.lance/_transactions/45-7bbf4bc6-96d4-425a-afa2-34aec7121c85.txn,sha256=Uv4YswQ7BOtVQgx3gXA58PUBlxru8wheRO928Tvft5k,108
72
- scmcp_shared/vector_db/decoupler.lance/_transactions/5-82dda0b4-7838-4f04-90f3-4b1e932c6891.txn,sha256=Qbj63lj6msQ-L4Z8wQSKrA60OTijup5Aoag4TrZJUUw,108
73
- scmcp_shared/vector_db/decoupler.lance/_transactions/6-c78352d8-16ba-4814-bd7f-74b8c0c5efe7.txn,sha256=bwFNvxbEE0-rZzoatPh83ifUdClB5ZOo4rIywHiAQdc,108
74
- scmcp_shared/vector_db/decoupler.lance/_transactions/7-bb882b35-63f3-4c52-870f-6a64e3ac7f3c.txn,sha256=x-jTUMkXrjxjnP2PWE5iBQsgVQ-zgYozexJnFm2kbWI,108
75
- scmcp_shared/vector_db/decoupler.lance/_transactions/8-fc84ad1b-1b59-4822-8fc7-70f4eb18f6d9.txn,sha256=sUcVPAmVdL_3f3Ui4KDrRl6NrA2ZQ2lhD4A-nIym-3U,108
76
- scmcp_shared/vector_db/decoupler.lance/_transactions/9-3404dcf1-bb17-40e6-9e5d-d9942dff90b2.txn,sha256=pjT1Iru3xSwiGJ8EtsusHfp_CFRiBqwFyL7L8Wtx-i4,108
77
- scmcp_shared/vector_db/decoupler.lance/_versions/1.manifest,sha256=PwhmB_HK7SfMUFec7rSw2hC3dqyfNEeLzEnukRhs6cw,338
78
- scmcp_shared/vector_db/decoupler.lance/_versions/10.manifest,sha256=6U9TXKKgtu37SAWewTT7mSD4MLOMezAgdqrraGfFIfI,941
79
- scmcp_shared/vector_db/decoupler.lance/_versions/11.manifest,sha256=G-LtgHNgMJhajvotWpqwRRUavBMtGKjReA8_Gh8rwg8,1009
80
- scmcp_shared/vector_db/decoupler.lance/_versions/12.manifest,sha256=Z2iMDbLLfvXzQnZyrzQUjT1oBh2yoemz-BI8cpmrK90,1076
81
- scmcp_shared/vector_db/decoupler.lance/_versions/13.manifest,sha256=H-eNV3UxDWbZ7rPY8GmxJ1syrUlNSPXwz0pWyCnIQUw,1143
82
- scmcp_shared/vector_db/decoupler.lance/_versions/14.manifest,sha256=7A6j_Fe-RzSDszOR1LfE5jEhiYQFlnANubU8j-jRrwQ,1210
83
- scmcp_shared/vector_db/decoupler.lance/_versions/15.manifest,sha256=hg45hkC6yvU58noYEDccp5GgAbRwBlHe9NZ1-8oZk0Y,1277
84
- scmcp_shared/vector_db/decoupler.lance/_versions/16.manifest,sha256=g8QjbWhQppDRKct_3Tx50gn_gh-ZVxLKt53_IOzT2ps,1344
85
- scmcp_shared/vector_db/decoupler.lance/_versions/17.manifest,sha256=7r1Srdm3whFA9b5-3QMwAZfTcdNL54SpRC7itHi0_Rw,1411
86
- scmcp_shared/vector_db/decoupler.lance/_versions/18.manifest,sha256=GJQxKE3xnwcy6S2a1i9t-tCyaCq-IBZOETdZh2SoMfM,1477
87
- scmcp_shared/vector_db/decoupler.lance/_versions/19.manifest,sha256=HaOengpfK_Vcet0sxHK-GQhST_BJjrDL3O9dH1C3Z2w,1545
88
- scmcp_shared/vector_db/decoupler.lance/_versions/2.manifest,sha256=kQ2YoWk-tCDrAQ1aHajZwWi-jKgqimdFEfDdUHMefAw,403
89
- scmcp_shared/vector_db/decoupler.lance/_versions/20.manifest,sha256=I9ll4ur74aNV5LzZVa3Qhu_rLUSfmOYU0YcVHAYBUck,1611
90
- scmcp_shared/vector_db/decoupler.lance/_versions/21.manifest,sha256=7dLZx4VdsvQAq9bStDtRgoxCQ0LoIVrqLxXahTognEQ,1679
91
- scmcp_shared/vector_db/decoupler.lance/_versions/22.manifest,sha256=BVbjnGpVWLHQGWly6oMCJZrBe2kKqRAJ037nJhx1f2Y,1746
92
- scmcp_shared/vector_db/decoupler.lance/_versions/23.manifest,sha256=z5gMxVZudmt55_AUPmDhzesVMXq3f-d9a744NM6CUrI,1813
93
- scmcp_shared/vector_db/decoupler.lance/_versions/24.manifest,sha256=rJDqiF3ez51Wb7jA3MbYQEj7s0bqWgAV14xIkTV-i7I,1880
94
- scmcp_shared/vector_db/decoupler.lance/_versions/25.manifest,sha256=uNU56czz62PPfIGtM0gBKHqZch1n1ykpmv63mRTFROo,1947
95
- scmcp_shared/vector_db/decoupler.lance/_versions/26.manifest,sha256=m9PKjJKxpyDH1ooE5ORdX_323OzW1rBkZuw8_BJaXhE,2014
96
- scmcp_shared/vector_db/decoupler.lance/_versions/27.manifest,sha256=Gr2Pp1uzFDpP_5Vd9v_IKlps9jT3LLDdU_SRGmp2ZJE,2081
97
- scmcp_shared/vector_db/decoupler.lance/_versions/28.manifest,sha256=kiRuufCwRYnshKqVffXvUOTyaK_i4zZtxjf-2ch8aBk,2147
98
- scmcp_shared/vector_db/decoupler.lance/_versions/29.manifest,sha256=IaSY7tWUJHI7wh69mP2iYcAcxVBQt4JmIPHC5HTWurg,2215
99
- scmcp_shared/vector_db/decoupler.lance/_versions/3.manifest,sha256=T1mX7dhvydS0-_HozolAg55TIs2J_hEV0_C8oHqNzM8,471
100
- scmcp_shared/vector_db/decoupler.lance/_versions/30.manifest,sha256=SmGpun-Kmg35swc4cwuggGN4t_RQYfXFCQVfR2xNHsw,2281
101
- scmcp_shared/vector_db/decoupler.lance/_versions/31.manifest,sha256=1vkLpeaWYPDF9vozVheQ1KHxt9x7icIsxstynfhq684,2349
102
- scmcp_shared/vector_db/decoupler.lance/_versions/32.manifest,sha256=FkaLD8fxD6mZ4g0HYs1r10zvrI1ZYKEAC_hcl-TcQc0,2416
103
- scmcp_shared/vector_db/decoupler.lance/_versions/33.manifest,sha256=lVo1US-9WgBqz2m6JkOGRKIaKb-1KpypwYBxvRxk26I,2483
104
- scmcp_shared/vector_db/decoupler.lance/_versions/34.manifest,sha256=eVtTraxjSgA6bJGg6rSfaBly03UWgcEv5DSPmOk1YxY,2549
105
- scmcp_shared/vector_db/decoupler.lance/_versions/35.manifest,sha256=Yt_LEbWjteMOCV4FX8y1dO3YiL7-03ZC-qgDZTkUFHY,2617
106
- scmcp_shared/vector_db/decoupler.lance/_versions/36.manifest,sha256=IQQkW3QLWmKNekbnYC49K3ndaPSI7p2AGj3xQFkhhds,2684
107
- scmcp_shared/vector_db/decoupler.lance/_versions/37.manifest,sha256=eD1PX9lA1myuzVE_9aTXa4gHYSeTZnPotDchiERB1mU,2751
108
- scmcp_shared/vector_db/decoupler.lance/_versions/38.manifest,sha256=89SptIyXZ_YOtfwcMS_57OfVO9lWKTEb855akNp4hV8,2818
109
- scmcp_shared/vector_db/decoupler.lance/_versions/39.manifest,sha256=w5H0_dBxlRIa8SGLHCQ3tIRBvbRNDI6QHElXumV9_JE,2885
110
- scmcp_shared/vector_db/decoupler.lance/_versions/4.manifest,sha256=j3Y3_An2eBDpfrrIqWmK1dglM8QxRlaOn-GWktrGVck,539
111
- scmcp_shared/vector_db/decoupler.lance/_versions/40.manifest,sha256=9A83wWcyVWlYypqoEEc69q2wZsv4hYuMyx4wWFxJXd8,2951
112
- scmcp_shared/vector_db/decoupler.lance/_versions/41.manifest,sha256=FIqbFl11fTJ-4pZKMDNe03ykeSGt3Zdvbu60HSpc10Y,3018
113
- scmcp_shared/vector_db/decoupler.lance/_versions/42.manifest,sha256=WmkqqphE2oJ8HyrZ7Zmm_QrIs9ksYmoUFYB97Y4A5vY,3086
114
- scmcp_shared/vector_db/decoupler.lance/_versions/43.manifest,sha256=D9pzgHJcoNxOrABo_d9s-YCwc2OkaAzSE7ZnfLcXyxk,3152
115
- scmcp_shared/vector_db/decoupler.lance/_versions/44.manifest,sha256=dw6rsePojpSiQZSt-uFDJ16aDlEzObjlbSlMHsKDJjc,3220
116
- scmcp_shared/vector_db/decoupler.lance/_versions/45.manifest,sha256=1ecNCjbM3NWtQFdD5pVdbwWfsp6kYl5REcVP2UaGwTs,3286
117
- scmcp_shared/vector_db/decoupler.lance/_versions/46.manifest,sha256=D7BwS_fHN6octypbDE45KNHhrXONiZuNfF6d8HFJ-XQ,3354
118
- scmcp_shared/vector_db/decoupler.lance/_versions/5.manifest,sha256=TEL8NmIXEZgjBSIQ0X2U7WARcCRpkz2tqfcdSDltmBs,605
119
- scmcp_shared/vector_db/decoupler.lance/_versions/6.manifest,sha256=VfsascrKrrCGVx4YjSWy3EJ39O9LcQ_ohdpbGlLro80,673
120
- scmcp_shared/vector_db/decoupler.lance/_versions/7.manifest,sha256=yxVQGD0Hy8Zolyg5M7bNxDKkndZhcegBmFXH2yJA9qs,740
121
- scmcp_shared/vector_db/decoupler.lance/_versions/8.manifest,sha256=a881GlgZ2Sa-2gxxyICdw5PL0AeEyc_zWeq0E9GhjVs,807
122
- scmcp_shared/vector_db/decoupler.lance/_versions/9.manifest,sha256=AS8yasRBfPritZcFcZtixUybEaiXwdxt2g8T9va9GFI,874
123
- scmcp_shared/vector_db/decoupler.lance/data/0cc94dc3-2ca3-403c-a9df-59753f24b3f2.lance,sha256=_7hF7YCklVed-GSM7mFEB0sfkK3KtufqLe0O5QCxd3c,8050
124
- scmcp_shared/vector_db/decoupler.lance/data/254a1a71-cdd2-4cca-b7ec-a50540fed62c.lance,sha256=oqyH8Qp0iLnCDP237q-5qP8FgxFX_2CHGFS8uOjX4Nw,7730
125
- scmcp_shared/vector_db/decoupler.lance/data/2574d216-5f05-4794-9e1c-986fafde6ab4.lance,sha256=jV8HB0U_rdTvd7ez_VG3R1-bOgOBKKd0yJ2yP8vI7sc,9778
126
- scmcp_shared/vector_db/decoupler.lance/data/26c7bbe7-5f97-4453-b065-123b764448b3.lance,sha256=QGx1weVgcCr-ezc6XjK8bQsEpTlQ1PmW73tqaloaY4E,9522
127
- scmcp_shared/vector_db/decoupler.lance/data/286595a6-88f6-4b05-861e-e4f607a6fcdb.lance,sha256=HK7yG3Ofxg--Qr9xt0ZW1YFQ8UW0DE0rsQtqnt0IuGY,5106
128
- scmcp_shared/vector_db/decoupler.lance/data/33219b1a-7575-46ef-bb64-2bdbde1e692b.lance,sha256=2Az-uZ7BdVnr2YYOesRhSU6F8tvIczAZbXXkZD08swM,9586
129
- scmcp_shared/vector_db/decoupler.lance/data/344ad7dd-98bb-41de-b347-2f17bf5735cb.lance,sha256=i_MbuOx8AI1hRI6Xcy1ZpnsEgDloS2yL1LBZ32WklGw,7858
130
- scmcp_shared/vector_db/decoupler.lance/data/395b1ecb-68fe-4dd3-a770-4b3ed393ae0c.lance,sha256=YjRcOhJ5051JU_Uc8w4iVM6ROEpqXoyG1IQJOKL149w,8818
131
- scmcp_shared/vector_db/decoupler.lance/data/3db97f4c-9c35-44b7-9042-82b4006c5a22.lance,sha256=ruEVOA-BQKZbcIM5PL10Fhw9JO7l_e-7foRqqfpr2JY,5106
132
- scmcp_shared/vector_db/decoupler.lance/data/4540246e-b0bb-4f4d-8f98-60a64f1c42ed.lance,sha256=N7Hnbo5-HxO_h5BeWRJWEkyk6JOezwg_r8Gvjc4NI5k,7794
133
- scmcp_shared/vector_db/decoupler.lance/data/4643dbc0-9e45-4b63-81e1-e06cf9bddcec.lance,sha256=X-_FdW8JHlUtd2VAQI_YmZn3NOPfBBkl3uzbVyH2BmQ,9138
134
- scmcp_shared/vector_db/decoupler.lance/data/4f28eb52-d409-43f2-ae17-d1826f209006.lance,sha256=Co5MSN_uOQSXRJUMceiJcySWdO3st5dbItLSirNg_vU,9842
135
- scmcp_shared/vector_db/decoupler.lance/data/4fda4a22-35f0-4897-b4c5-6cedefba66e6.lance,sha256=bceWaNLhvnZhTQkAOjM2WRD2C8bn0B3GwRI3gVEfJ0A,10034
136
- scmcp_shared/vector_db/decoupler.lance/data/51ee77b6-ab24-44c0-916e-b81ff3912731.lance,sha256=b7vgZESj0w7-o7Chr5GRG4FfT6fWC8N4hEmHzhJHFrw,9522
137
- scmcp_shared/vector_db/decoupler.lance/data/539d15c9-e88b-400c-9ab7-08f5e8dca10d.lance,sha256=tzpEY35SRFn0siqJGmGuW2BV-UmLY9BI9W3gXWWfEeU,8946
138
- scmcp_shared/vector_db/decoupler.lance/data/54007132-91f5-4909-8678-c471ef4d100f.lance,sha256=ThuodMY50a2i2DNLIlHu2dcP7gLhfD28roNVGi9w1Xo,9970
139
- scmcp_shared/vector_db/decoupler.lance/data/546d88ec-0d5c-42bb-bccc-3271f3f183a4.lance,sha256=Gp75Sw3LCQeG_jDtgSr2V5k7TZ7zbVrj_jiWZO8R49Q,8562
140
- scmcp_shared/vector_db/decoupler.lance/data/6912ad8a-343c-4ca1-b1b7-4300125e688e.lance,sha256=L0WhQeVIMxaYw3_L7vMAJhAhD5223y_5mVdy-a9h4OA,9202
141
- scmcp_shared/vector_db/decoupler.lance/data/6b72e4f7-3051-40a4-a492-6d9eff1c647d.lance,sha256=GZUCEaBExn9SSImihLOXWkfkyj3VF_ySs5iAU1zIVJE,9202
142
- scmcp_shared/vector_db/decoupler.lance/data/6d7ee320-ae1c-4e49-8ce5-c85971b11ce6.lance,sha256=Gk2BDqoc28jiyqave3cKfL0TaEd_uFWjzTsjspmWajo,9714
143
- scmcp_shared/vector_db/decoupler.lance/data/6ea47b70-69d4-43e9-b2c6-442fe50e4dd1.lance,sha256=OQIiAvAtYY-hooLM716ij9Xw_5a0Sy4Vx3WmByrRSVU,7730
144
- scmcp_shared/vector_db/decoupler.lance/data/72adb5ed-bf11-4d06-b146-0272d333db08.lance,sha256=A8n50QYs9FSOGdtme4fC91oAZhcCBHHy8lMD2uIk5mQ,9394
145
- scmcp_shared/vector_db/decoupler.lance/data/745907df-e261-4f4b-a757-2c01c058bf27.lance,sha256=FIc6-5uqZEWF-GvtxV5nUSCFe5XC1Vgzefpklx42PFs,6450
146
- scmcp_shared/vector_db/decoupler.lance/data/78988307-4c66-4ad7-b295-7463ecd53609.lance,sha256=bDHFa4Jov_587ww8b2e5MSpid9OM_2KpRN_T1TL4fA4,9586
147
- scmcp_shared/vector_db/decoupler.lance/data/798ce305-6d60-4f28-b82a-e1f647907abf.lance,sha256=sg9kukP6xFOMsUovThTm7U-BXOHgG6FIHbzXUTEFTyk,9906
148
- scmcp_shared/vector_db/decoupler.lance/data/7c159cce-2741-442b-9c63-f44bf2996718.lance,sha256=B_FNQ-D-TJi0RAqdPht5aObO8F2yzrNeQOR0ATJgpZE,8370
149
- scmcp_shared/vector_db/decoupler.lance/data/7cd7a818-e68b-4fa8-bad3-23b60c386670.lance,sha256=JF1BeBoJvgT8eS3LbKR4mK48sEeqhAfQQaf0MxT5qk0,10034
150
- scmcp_shared/vector_db/decoupler.lance/data/7ec553ed-0c7a-4bac-99b2-2ad976b40466.lance,sha256=jiIZv_2QiaSkGlEkk2U4qnovGxNwTuklsrJQ2rAb3Hw,9522
151
- scmcp_shared/vector_db/decoupler.lance/data/83efdc85-d990-4762-b69a-fb1c3938f60f.lance,sha256=xpOPHIvYiQjVvYd7KXvNvd2-jXSWGDBq8H-ZSIoZA0o,5170
152
- scmcp_shared/vector_db/decoupler.lance/data/8c1613b3-8d69-49c5-bfd0-a021bb516faf.lance,sha256=LLzDl_iWLif7owG6nI3_6FbFNX0sYhIkX3mCahIlGv8,6962
153
- scmcp_shared/vector_db/decoupler.lance/data/95cd1b22-1f93-4133-9841-de21549ad8c5.lance,sha256=2vIE8GbBPI7ja1ONh5pPlSOJ6UtuWhffl-hQynyTf3c,9202
154
- scmcp_shared/vector_db/decoupler.lance/data/9a2ea5d4-087e-4d3a-b64b-6c568b8a0010.lance,sha256=FK1Afn5PHtDLZBHPM5FeSP0gdxTYJGTzoxFIjlX2IgQ,7922
155
- scmcp_shared/vector_db/decoupler.lance/data/b1c47dc6-450a-4dca-b465-badb6a3619c2.lance,sha256=bzeFyezM9CPtx2vUK-fP2fhoSpxE3vzOiuo3xwtKDzs,8690
156
- scmcp_shared/vector_db/decoupler.lance/data/b21d183a-c51d-463b-932e-9beb2e0da9aa.lance,sha256=bfgFfaAkd0j6ZIgaDW2ae7iHcmStSzouo1xg4a_m4MM,8690
157
- scmcp_shared/vector_db/decoupler.lance/data/b2598625-8683-4c33-be40-6f1a7555dc2c.lance,sha256=z9Qtj-DTyJfVYeCqukz-WNeCvVAka4Omc825eLWXnN4,5106
158
- scmcp_shared/vector_db/decoupler.lance/data/b7297b39-1fc5-4886-be21-708b369bef59.lance,sha256=AvS-Dcv2xUGtJz_qe8seSWcNeTyytxEYWk3UNA_1k3M,9650
159
- scmcp_shared/vector_db/decoupler.lance/data/b7d90085-5bd6-48f9-8a73-17eb7cf556fa.lance,sha256=kR5Ift171jbNvKhQ0S5qF-GsKnG0IxXKRun6PT4Uzu0,5106
160
- scmcp_shared/vector_db/decoupler.lance/data/b988ceee-57fc-423b-8e67-5729086c6946.lance,sha256=ZMQHqtigQ152fd0nuVjSTInPm0-G5gARLuFiZI94oHw,7794
161
- scmcp_shared/vector_db/decoupler.lance/data/bfd68ea6-ddf4-44bb-aa87-2669f0462f7d.lance,sha256=u2pFxdXaWqHZU7d04Y--Lhi0kAesemnMrpdqWrQW8D4,8818
162
- scmcp_shared/vector_db/decoupler.lance/data/cb8ac58e-0e59-4391-95ab-6195e71b9625.lance,sha256=PT3usi4ordOiZ3UKRjqyUgQori8EsrsmisbVlBc8cVA,9458
163
- scmcp_shared/vector_db/decoupler.lance/data/d0f10434-afb5-49c5-9e77-d39a4f8cca94.lance,sha256=1SVL-CLlVUk8ufSAbG-rX5l39H9Xu1jOpDzVK_FeAeA,5106
164
- scmcp_shared/vector_db/decoupler.lance/data/d3f89fec-5795-4e11-8c15-bc2206a7fae2.lance,sha256=pMTBlNwigs1-60xnNZoLuttbKdUIGYlObefTHMPGsSQ,10098
165
- scmcp_shared/vector_db/decoupler.lance/data/e063c8a4-5ef1-4933-a049-b41049d9be5f.lance,sha256=I1ZTdHjHIOwnYd-gQaOUFh24lwfgfn3KxN7tcAddyVQ,9842
166
- scmcp_shared/vector_db/decoupler.lance/data/e2348b24-f290-4fe2-a6c8-e98009ae4c1b.lance,sha256=-tYWzIR9u3Nur_Qe3YV-OjBw5wZhw-REWActo0V90c4,7410
167
- scmcp_shared/vector_db/decoupler.lance/data/e5d3f893-6763-40dc-9d02-04e2f56a4883.lance,sha256=r7aVWWhA65byM_61Da9Vux2IQC94IoNW3-mxFPUBv_s,9010
168
- scmcp_shared-0.5.0.dist-info/METADATA,sha256=kPw3zf8pnCjSvLyLzbIcV7lgULKGEy_bGaj_Iqwc0Qs,2458
169
- scmcp_shared-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
170
- scmcp_shared-0.5.0.dist-info/licenses/LICENSE,sha256=YNr1hpea195yq-wGtB8j-2dGtt7A5G00WENmxa7JGco,1495
171
- scmcp_shared-0.5.0.dist-info/RECORD,,