aurelian 0.3.3__py3-none-any.whl → 0.4.1__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 (38) hide show
  1. aurelian/agents/biblio/biblio_agent.py +1 -0
  2. aurelian/agents/checklist/checklist_agent.py +1 -0
  3. aurelian/agents/chemistry/chemistry_agent.py +2 -1
  4. aurelian/agents/d4d/__init__.py +2 -2
  5. aurelian/agents/d4d/d4d_agent.py +4 -3
  6. aurelian/agents/d4d/d4d_gradio.py +2 -2
  7. aurelian/agents/diagnosis/diagnosis_agent.py +1 -0
  8. aurelian/agents/gocam/__init__.py +10 -1
  9. aurelian/agents/gocam/gocam_agent.py +3 -0
  10. aurelian/agents/gocam/gocam_evals.py +0 -3
  11. aurelian/agents/linkml/linkml_mcp.py +1 -6
  12. aurelian/agents/literature/literature_agent.py +20 -0
  13. aurelian/agents/monarch/__init__.py +0 -25
  14. aurelian/agents/monarch/monarch_agent.py +1 -0
  15. aurelian/agents/monarch/monarch_tools.py +0 -1
  16. aurelian/agents/ontology_mapper/ontology_mapper_agent.py +1 -0
  17. aurelian/agents/paperqa/__init__.py +27 -0
  18. aurelian/agents/paperqa/paperqa_agent.py +66 -0
  19. aurelian/agents/paperqa/paperqa_cli.py +305 -0
  20. aurelian/agents/paperqa/paperqa_config.py +142 -0
  21. aurelian/agents/paperqa/paperqa_gradio.py +90 -0
  22. aurelian/agents/paperqa/paperqa_mcp.py +155 -0
  23. aurelian/agents/paperqa/paperqa_tools.py +566 -0
  24. aurelian/agents/rag/rag_agent.py +1 -0
  25. aurelian/agents/talisman/talisman_mcp.py +50 -143
  26. aurelian/agents/ubergraph/ubergraph_agent.py +1 -0
  27. aurelian/agents/uniprot/__init__.py +0 -37
  28. aurelian/agents/web/web_tools.py +16 -3
  29. aurelian/cli.py +36 -0
  30. aurelian/evaluators/model.py +9 -0
  31. aurelian/evaluators/substring_evaluator.py +30 -0
  32. aurelian/utils/async_utils.py +6 -3
  33. {aurelian-0.3.3.dist-info → aurelian-0.4.1.dist-info}/METADATA +8 -4
  34. {aurelian-0.3.3.dist-info → aurelian-0.4.1.dist-info}/RECORD +37 -28
  35. {aurelian-0.3.3.dist-info → aurelian-0.4.1.dist-info}/WHEEL +1 -1
  36. aurelian-0.4.1.dist-info/entry_points.txt +4 -0
  37. aurelian-0.3.3.dist-info/entry_points.txt +0 -3
  38. {aurelian-0.3.3.dist-info → aurelian-0.4.1.dist-info}/LICENSE +0 -0
@@ -1,168 +1,75 @@
1
1
  """
2
- MCP integration for the Talisman agent.
2
+ MCP tools for retrieving gene information using the UniProt API and NCBI Entrez.
3
3
  """
4
- import json
5
4
  import os
6
- from typing import Dict, Any, List, Optional
7
5
 
8
- from anthropic import Anthropic
9
- from pydantic_ai import Agent
6
+ from mcp.server.fastmcp import FastMCP
10
7
 
11
- # Import directly from the MCP module
12
- from .talisman_agent import talisman_agent, TALISMAN_SYSTEM_PROMPT
13
- from .talisman_config import TalismanConfig, get_config
8
+ from aurelian.agents.talisman.talisman_agent import TALISMAN_SYSTEM_PROMPT
9
+ from aurelian.agents.talisman.talisman_config import TalismanConfig, get_config
10
+ from aurelian.agents.talisman.talisman_tools import (
11
+ get_gene_description,
12
+ get_gene_descriptions,
13
+ get_genes_from_list,
14
+ analyze_gene_set
15
+ )
14
16
 
17
+ from pydantic_ai import RunContext
15
18
 
16
- def tools_to_anthropic_tools(agent: Agent) -> List[Dict[str, Any]]:
17
- """Convert pydantic-ai Agent tools to Anthropic tools format.
19
+ # Initialize FastMCP server
20
+ mcp = FastMCP("talisman", instructions=TALISMAN_SYSTEM_PROMPT)
21
+
22
+ def deps() -> TalismanConfig:
23
+ """Get the Talisman dependencies."""
24
+ return get_config()
25
+
26
+ def ctx() -> RunContext[TalismanConfig]:
27
+ """Get the run context with dependencies."""
28
+ rc: RunContext[TalismanConfig] = RunContext[TalismanConfig](
29
+ deps=deps(),
30
+ model=None, usage=None, prompt=None,
31
+ )
32
+ return rc
33
+
34
+ @mcp.tool()
35
+ async def get_gene_info(gene_id: str) -> str:
36
+ """
37
+ Get description for a single gene ID.
18
38
 
19
39
  Args:
20
- agent: The pydantic-ai Agent with tools
40
+ gene_id: The gene identifier (UniProt ID, gene symbol, etc.)
21
41
 
22
42
  Returns:
23
- A list of tools in the Anthropic format
43
+ The gene description in a structured format
24
44
  """
25
- anthropic_tools = []
26
- for tool in agent.tools:
27
- anthropic_tool = {
28
- "name": tool.name,
29
- "description": tool.description,
30
- "input_schema": {
31
- "type": "object",
32
- "properties": {},
33
- "required": []
34
- }
35
- }
36
-
37
- for param_name, param in tool.params.items():
38
- if param_name == "ctx":
39
- continue
40
-
41
- param_schema = {"type": "string"}
42
- if param.annotation.__origin__ == list:
43
- param_schema = {
44
- "type": "array",
45
- "items": {"type": "string"}
46
- }
47
-
48
- anthropic_tool["input_schema"]["properties"][param_name] = param_schema
49
- if param.default == param.empty:
50
- anthropic_tool["input_schema"]["required"].append(param_name)
51
-
52
- anthropic_tools.append(anthropic_tool)
53
-
54
- return anthropic_tools
55
-
45
+ return get_gene_description(ctx(), gene_id)
56
46
 
57
- def create_bedrock_compatible_resp(
58
- response_id: str,
59
- model: str,
60
- role: str,
61
- content: List[Dict[str, Any]]
62
- ) -> Dict[str, Any]:
63
- """Create a response compatible with the Bedrock format.
47
+ @mcp.tool()
48
+ async def get_multiple_gene_info(gene_ids: str) -> str:
49
+ """
50
+ Get descriptions for multiple gene IDs provided as a string.
64
51
 
65
52
  Args:
66
- response_id: The response ID
67
- model: The model name
68
- role: The role (usually 'assistant')
69
- content: The content from the Anthropic response
53
+ gene_ids: String containing gene identifiers separated by commas, spaces, or newlines
70
54
 
71
55
  Returns:
72
- A response in the Bedrock format
56
+ The gene descriptions in a structured format
73
57
  """
74
- return {
75
- "id": response_id,
76
- "model": model,
77
- "choices": [
78
- {
79
- "message": {
80
- "role": role,
81
- "content": content
82
- }
83
- }
84
- ]
85
- }
86
-
58
+ return get_genes_from_list(ctx(), gene_ids)
87
59
 
88
- def get_talisman_mcp_tools() -> List[Dict[str, Any]]:
89
- """Get the MCP tools for the Talisman agent.
90
-
91
- Returns:
92
- A list of tools in the MCP format
60
+ @mcp.tool()
61
+ async def analyze_genes(gene_list: str) -> str:
93
62
  """
94
- return tools_to_anthropic_tools(talisman_agent)
95
-
96
-
97
- def get_talisman_mcp_messages(
98
- messages: Optional[List[Dict[str, Any]]] = None,
99
- system: Optional[str] = None,
100
- ) -> List[Dict[str, Any]]:
101
- """Get MCP messages for the Talisman agent.
102
-
103
- Args:
104
- messages: Previous messages
105
- system: System message override
106
-
107
- Returns:
108
- List of MCP messages
109
- """
110
- if messages is None:
111
- messages = []
112
-
113
- if system is None:
114
- system = TALISMAN_SYSTEM_PROMPT
63
+ Analyze a set of genes and generate a biological summary of their properties and relationships.
115
64
 
116
- if not messages or messages[0].get("role") != "system":
117
- messages = [{"role": "system", "content": system}] + messages
118
-
119
- return messages
120
-
121
-
122
- def handle_talisman_mcp_request(
123
- messages: List[Dict[str, Any]],
124
- config: Optional[TalismanConfig] = None,
125
- model: str = "claude-3-5-sonnet-20240620",
126
- max_tokens: int = 4096,
127
- temperature: float = 0.0,
128
- ) -> Dict[str, Any]:
129
- """Handle an MCP request for the Talisman agent.
130
-
131
65
  Args:
132
- messages: The messages from the client
133
- config: The Talisman configuration (optional)
134
- model: The model to use
135
- max_tokens: The maximum number of tokens to generate
136
- temperature: The temperature to use for generation
137
-
66
+ gene_list: String containing gene identifiers separated by commas, spaces, or newlines
67
+
138
68
  Returns:
139
- An MCP response
69
+ A structured biological summary of the gene set with Narrative, Functional Terms Table, and Gene Summary Table
140
70
  """
141
- config = config or get_config()
142
-
143
- api_key = os.environ.get("ANTHROPIC_API_KEY")
144
- if not api_key:
145
- raise ValueError("ANTHROPIC_API_KEY environment variable is required for MCP")
146
-
147
- client = Anthropic(api_key=api_key)
148
-
149
- # Prepare the messages and tools
150
- mcp_messages = get_talisman_mcp_messages(messages)
151
- mcp_tools = get_talisman_mcp_tools()
152
-
153
- # Send the request to Anthropic
154
- response = client.messages.create(
155
- model=model,
156
- messages=mcp_messages,
157
- tools=mcp_tools,
158
- max_tokens=max_tokens,
159
- temperature=temperature,
160
- )
71
+ return analyze_gene_set(ctx(), gene_list)
161
72
 
162
- # Return the response in a format compatible with the MCP protocol
163
- return create_bedrock_compatible_resp(
164
- response_id=response.id,
165
- model=model,
166
- role="assistant",
167
- content=response.content,
168
- )
73
+ if __name__ == "__main__":
74
+ # Initialize and run the server
75
+ mcp.run(transport='stdio')
@@ -50,6 +50,7 @@ ubergraph_agent = Agent(
50
50
  "openai:gpt-4o",
51
51
  deps_type=Dependencies,
52
52
  result_type=str,
53
+ defer_model_check=True,
53
54
  )
54
55
 
55
56
  # Register tools
@@ -1,37 +0,0 @@
1
- """
2
- UniProt agent package for interacting with the UniProt database.
3
- """
4
-
5
- from .uniprot_agent import uniprot_agent, UNIPROT_SYSTEM_PROMPT
6
- from .uniprot_config import UniprotConfig, get_config
7
- from .uniprot_gradio import chat
8
- from .uniprot_mcp import (
9
- get_uniprot_mcp_tools,
10
- get_uniprot_mcp_messages,
11
- handle_uniprot_mcp_request,
12
- )
13
- from .uniprot_tools import lookup_uniprot_entry, search, uniprot_mapping, normalize_uniprot_id
14
-
15
- __all__ = [
16
- # Agent
17
- "uniprot_agent",
18
- "UNIPROT_SYSTEM_PROMPT",
19
-
20
- # Config
21
- "UniprotConfig",
22
- "get_config",
23
-
24
- # Tools
25
- "lookup_uniprot_entry",
26
- "search",
27
- "uniprot_mapping",
28
- "normalize_uniprot_id",
29
-
30
- # Gradio
31
- "chat",
32
-
33
- # MCP
34
- "get_uniprot_mcp_tools",
35
- "get_uniprot_mcp_messages",
36
- "handle_uniprot_mcp_request",
37
- ]
@@ -43,9 +43,11 @@ async def search_web(query: str) -> str:
43
43
  return web_search(query)
44
44
 
45
45
 
46
- async def perplexity_query(query: str, model_name: str = "sonar") -> ResultWithCitations:
46
+ async def perplexity_query(query: str, model_name: str = "sonar-pro") -> ResultWithCitations:
47
47
  """
48
48
  Query the Perplexity API and return structured results with citations.
49
+
50
+ The Perplexity API performs a web search and returns a structured response with citations.
49
51
 
50
52
  Args:
51
53
  query: The query to send to Perplexity
@@ -58,14 +60,25 @@ async def perplexity_query(query: str, model_name: str = "sonar") -> ResultWithC
58
60
  ValueError: If the Perplexity API key is not set
59
61
  RuntimeError: If the response parsing fails
60
62
  """
63
+ # TODO: consider using perplexity API directly, gives control over search domains, e.g. https://docs.perplexity.ai/guides/search-domain-filters
61
64
  perplexity_api_key = os.environ.get("PERPLEXITY_API_KEY")
62
65
  if not perplexity_api_key:
63
66
  raise ValueError("PERPLEXITY_API_KEY environment variable is not set")
64
67
 
68
+ # Use specific implementation instead of OpenAIModel directly
69
+ # since OpenAIModel doesn't accept base_url and api_key params directly
70
+ from pydantic_ai.models.openai import Provider
71
+ from pydantic_ai.providers.openai import OpenAIProvider
72
+
73
+
74
+ provider = OpenAIProvider(
75
+ api_key=perplexity_api_key,
76
+ base_url='https://api.perplexity.ai'
77
+ )
78
+
65
79
  sonar_model = OpenAIModel(
66
80
  model_name=model_name,
67
- base_url='https://api.perplexity.ai',
68
- api_key=perplexity_api_key,
81
+ provider=provider,
69
82
  )
70
83
 
71
84
  agent = Agent(sonar_model,
aurelian/cli.py CHANGED
@@ -4,6 +4,7 @@ import logging
4
4
  import os
5
5
  from typing import Any, Awaitable, Callable, Optional, List
6
6
 
7
+ from aurelian.utils.async_utils import run_sync
7
8
  import click
8
9
  from pydantic_ai.models.openai import OpenAIModel
9
10
  from pydantic_ai.providers.openai import OpenAIProvider
@@ -550,6 +551,14 @@ def websearch(term):
550
551
  txt = web_search(term)
551
552
  print(txt)
552
553
 
554
+ @main.command()
555
+ @click.argument("term")
556
+ def perplexity(term):
557
+ """Search the web for a query term, with citations."""
558
+ from aurelian.agents.web.web_tools import perplexity_query
559
+ result = run_sync(perplexity_query(term))
560
+ import yaml
561
+ print(yaml.dump(result.model_dump(), indent=2))
553
562
 
554
563
  @main.command()
555
564
  @click.argument("url")
@@ -958,6 +967,33 @@ def reaction(ui, query, **kwargs):
958
967
 
959
968
 
960
969
 
970
+ @main.command()
971
+ @model_option
972
+ @workdir_option
973
+ @share_option
974
+ @server_port_option
975
+ @ui_option
976
+ @click.argument("query", nargs=-1, required=False)
977
+ def paperqa(ui, query, **kwargs):
978
+ """Start the PaperQA Agent for scientific literature search and analysis.
979
+
980
+ The PaperQA Agent helps search, organize, and analyze scientific papers. It can
981
+ find papers on specific topics, add papers to your collection, and answer questions
982
+ based on the papers in your collection.
983
+
984
+ Run with a query for direct mode or with --ui for interactive chat mode.
985
+
986
+ Use `aurelian paperqa` subcommands for paper management:
987
+ - `aurelian paperqa index` to index papers for searching
988
+ - `aurelian paperqa list` to list papers in your collection
989
+ """
990
+ run_agent("paperqa", "aurelian.agents.paperqa", query=query, ui=ui, **kwargs)
991
+
992
+
993
+ # Import and register PaperQA CLI commands
994
+ from aurelian.agents.paperqa.paperqa_cli import paperqa_cli
995
+ main.add_command(paperqa_cli)
996
+
961
997
  # DO NOT REMOVE THIS LINE
962
998
  # added this for mkdocstrings to work
963
999
  # see https://github.com/bruce-szalwinski/mkdocs-typer/issues/18
@@ -0,0 +1,9 @@
1
+ # Use TypedDict for metadata
2
+ from typing_extensions import TypedDict
3
+
4
+
5
+ MetadataDict = TypedDict("Metadata", {"difficulty": str, "type": str})
6
+
7
+
8
+ def metadata(difficulty: str, type: str) -> MetadataDict:
9
+ return {"difficulty": difficulty, "type": type}
@@ -0,0 +1,30 @@
1
+ from pydantic_evals.evaluators import Evaluator, EvaluatorContext
2
+
3
+
4
+ class SubstringEvaluator(Evaluator[str, str]):
5
+ """
6
+ Custom evaluator for GO-CAM agent responses.
7
+
8
+ This evaluator checks if the expected substring is present in the agent's response.
9
+ If no expected output is specified, it assumes the test passes (for cases where we
10
+ only want to verify the agent doesn't error out).
11
+ """
12
+
13
+ def evaluate(self, ctx: EvaluatorContext[str, str]) -> float:
14
+ """
15
+ Evaluate GO-CAM agent response by checking for expected substring.
16
+
17
+ Args:
18
+ ctx: The evaluator context containing input, output, and expected output
19
+
20
+ Returns:
21
+ Score between 0.0 and 1.0 (1.0 = pass, 0.0 = fail)
22
+ """
23
+ # If no expected output is specified, return 1.0 (success)
24
+ if ctx.expected_output is None:
25
+ return 1.0
26
+
27
+ # Check if expected string is in output
28
+ if ctx.expected_output.lower() in ctx.output.lower():
29
+ return 1.0
30
+ return 0.0
@@ -1,11 +1,14 @@
1
1
  import asyncio
2
- from typing import Callable
2
+ from typing import Callable, Coroutine
3
3
 
4
4
 
5
- def run_sync(f: Callable):
5
+ def run_sync(f: Callable | Coroutine):
6
6
  loop = asyncio.new_event_loop()
7
7
  asyncio.set_event_loop(loop)
8
- result = f()
8
+ if isinstance(f, Coroutine):
9
+ result = f
10
+ else:
11
+ result = f()
9
12
 
10
13
  # Ensure it's a coroutine before running it
11
14
  if asyncio.iscoroutine(result):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aurelian
3
- Version: 0.3.3
3
+ Version: 0.4.1
4
4
  Summary: aurelian
5
5
  License: MIT
6
6
  Author: Author 1
@@ -17,6 +17,7 @@ Provides-Extra: gocam
17
17
  Provides-Extra: gradio
18
18
  Provides-Extra: linkml
19
19
  Provides-Extra: pdfminer
20
+ Provides-Extra: pypaperbot
20
21
  Provides-Extra: rdkit
21
22
  Requires-Dist: bioservices (>=1.12.0) ; extra == "bioservices"
22
23
  Requires-Dist: bs4 (>=0.0.2)
@@ -30,12 +31,14 @@ Requires-Dist: linkml ; extra == "linkml"
30
31
  Requires-Dist: linkml-store[llm,mongodb] (>=0.2.4)
31
32
  Requires-Dist: logfire (>=3.5.3)
32
33
  Requires-Dist: markdownify (>=0.14.1)
33
- Requires-Dist: markitdown (>=0.0.1a4)
34
+ Requires-Dist: markitdown (>=0.1.1)
34
35
  Requires-Dist: mcp[cli] (>=1.3.0,<2.0.0)
35
36
  Requires-Dist: oaklib (>=0.6.19)
37
+ Requires-Dist: onnxruntime (<=1.19.0)
38
+ Requires-Dist: paper-qa (>=5.20.0,<6.0.0)
36
39
  Requires-Dist: pdfminer-six ; extra == "pdfminer"
37
- Requires-Dist: pydantic-ai (>=0.0.29)
38
- Requires-Dist: pypaperbot (>=1.4.1)
40
+ Requires-Dist: pydantic-ai (>=0.2.0)
41
+ Requires-Dist: pypaperbot (>=1.4.1) ; extra == "pypaperbot"
39
42
  Requires-Dist: pytest-asyncio (>=0.25.3,<0.26.0)
40
43
  Requires-Dist: rdkit ; extra == "rdkit" or extra == "chem"
41
44
  Requires-Dist: tabulate (>=0.9.0)
@@ -43,6 +46,7 @@ Requires-Dist: undetected-chromedriver (>=3.5.5)
43
46
  Requires-Dist: wikipedia (>=1.4.0)
44
47
  Description-Content-Type: text/markdown
45
48
 
49
+ [![DOI](https://zenodo.org/badge/932483388.svg)](https://doi.org/10.5281/zenodo.15299996)
46
50
 
47
51
  # Aurelian: Agentic Universal Research Engine for Literature, Integration, Annotation, and Navigation
48
52
 
@@ -8,14 +8,14 @@ aurelian/agents/amigo/amigo_gradio.py,sha256=UYJW2ZdDQJz77wZNetxejWEI5tz39lVRWXZ
8
8
  aurelian/agents/amigo/amigo_mcp.py,sha256=byLMDguj_osVV5Q4m1Fp_I1megZm28TzV3YVoi5qa1Q,3831
9
9
  aurelian/agents/amigo/amigo_tools.py,sha256=upTjjw4rKCFe3qX-633-9mlQZmXGcNsU8IV7Zd9XJvE,5561
10
10
  aurelian/agents/biblio/__init__.py,sha256=xBuwjRYjyWRbABMaa7NaMwJUmSDj0AATQ_55Oy_FitA,814
11
- aurelian/agents/biblio/biblio_agent.py,sha256=LmBFJhF_t10WYM7j0WrX-8eiKwR8YiBY-mgbm3_l4lw,3698
11
+ aurelian/agents/biblio/biblio_agent.py,sha256=7icG6TzCr1vNgkMHju662IceRQOsEt5XLkipnybxHlw,3726
12
12
  aurelian/agents/biblio/biblio_config.py,sha256=K2crtuWIsvzLaoD0bINrx7_VPucp4Qwbfwj8DEn_09E,1254
13
13
  aurelian/agents/biblio/biblio_gradio.py,sha256=4YTqYn4Jw0MX29udZ4iCJP-YXKl9yQdPAwouPRr_B1I,1911
14
14
  aurelian/agents/biblio/biblio_mcp.py,sha256=zZpRHTc7tVAcBL190sDSPcmvous7vjYx0S0OD8-q4IE,3156
15
15
  aurelian/agents/biblio/biblio_tools.py,sha256=tTihpzOTjLBwvMm6QNAHsUb9yWdT4DziOt7t3XWe0_o,4936
16
16
  aurelian/agents/biblio_agent.py,sha256=0Uvh6N6AQdva-4NgjOlFHXQFPuEwLyAqUVGtRkokn-U,1241
17
17
  aurelian/agents/checklist/__init__.py,sha256=ZN70snI4C871K-76oRCMU3XZPYl_4lKH4VzPUx9tvCg,1034
18
- aurelian/agents/checklist/checklist_agent.py,sha256=J8IsDzYMc-Ejr3HSP6HCKTbmQYjdymCnUE6gOw3Sfe8,2760
18
+ aurelian/agents/checklist/checklist_agent.py,sha256=G7NpLDSqKvqz3mti1t8SAceFnXHko0knjotqx1YpMQY,2788
19
19
  aurelian/agents/checklist/checklist_config.py,sha256=8V_fwWj3dPEyJmcle0nscfvcxdUFiAGsE1T17GnFNIk,828
20
20
  aurelian/agents/checklist/checklist_gradio.py,sha256=UOwL7BCjyRsnldP-3RVhzxQsRGLC5QztY8iuAxqjIsY,1981
21
21
  aurelian/agents/checklist/checklist_mcp.py,sha256=cQo_VmP_U-A0cQEHBMrgt5gYIr3nkVFTLv-8ucS0D20,2238
@@ -24,22 +24,22 @@ aurelian/agents/checklist/content/checklists.yaml,sha256=QVPp65lnPfRJvHxXgFEFu_W
24
24
  aurelian/agents/checklist/content/streams.csv,sha256=VjqssvA05-tdJC5Egr-ZR6RZVTSfHvucZRQFEOlqGm4,50132
25
25
  aurelian/agents/checklist_agent.py,sha256=2K1l2ctb8oIWGOqMuWBfuM0WEZ0pa2BiQUefXWAvnJI,1187
26
26
  aurelian/agents/chemistry/__init__.py,sha256=_a0iQB50o5cF-t-SI5EkaP8oCeDWc2QKvJ0m628Typ8,68
27
- aurelian/agents/chemistry/chemistry_agent.py,sha256=L_m-oLaAZsLh4rWS68Vp4HONLLFRsHwjEHBqK05dQfM,1565
27
+ aurelian/agents/chemistry/chemistry_agent.py,sha256=ah8ba8-WLyi-5DIjmRfRURbmienbwyx_h1TXkR16o98,1594
28
28
  aurelian/agents/chemistry/chemistry_config.py,sha256=r348qJwBpvp6Q8MbnA3OOOSBjhFj-J_5J68OpKgTijE,1900
29
29
  aurelian/agents/chemistry/chemistry_evals.py,sha256=s_elRDsjle8fNrkL4c4Ud2NrFnoCM3goJkcwORhi-4Y,2611
30
30
  aurelian/agents/chemistry/chemistry_gradio.py,sha256=2tF6HhRhbJK_3zQfydBn0kwFAJiQQcHzeva8tax4DEM,1545
31
31
  aurelian/agents/chemistry/chemistry_mcp.py,sha256=ZS8lXMjCwj60RCv4t6BFxqU0uiiGxLFhWoG9vNb_Ld0,2892
32
32
  aurelian/agents/chemistry/chemistry_tools.py,sha256=sJ0FWMqwvf1cOd1XEmdOkViYY7FhWUZ_z0zMD8EyQ30,3387
33
33
  aurelian/agents/chemistry/image_agent.py,sha256=Taty5MYbhg7XPzpGgfMeu7Ll6D5f_grClGPF9M3boTE,562
34
- aurelian/agents/d4d/__init__.py,sha256=cWKTT72IZ1MDQbIjnJfIpufLGooPGfH3VdWmRABleJg,613
35
- aurelian/agents/d4d/d4d_agent.py,sha256=fMdNhOEdz5_cNAYRSvpVjOTMQMObBmLUO6HCtOav6MY,2115
34
+ aurelian/agents/d4d/__init__.py,sha256=h7jmgzmu_zEU-5HpejrDs0Wsigq4kpvdNLC3s-MHXuI,597
35
+ aurelian/agents/d4d/d4d_agent.py,sha256=tmWb3qnHQcS1o5GMyyePN-UaC7231KOGIPUDEK1-Tg0,2119
36
36
  aurelian/agents/d4d/d4d_config.py,sha256=vQz1ym2NDim2cQV4gFMXTDcAEeg5RAVBkWvVIdo7CNo,1471
37
- aurelian/agents/d4d/d4d_gradio.py,sha256=Xpq0ObbkYgmOa74iBJCDTM9QsdQtTZL4g3nwE-DjUAs,1860
37
+ aurelian/agents/d4d/d4d_gradio.py,sha256=gJXImWqQv9PAPKVlexhdvXqTcDpQWbEi1xLWVGIly9Q,1844
38
38
  aurelian/agents/d4d/d4d_mcp.py,sha256=QjRqFd4miAbfFwzos5idHA-wfdN5-djpD2Ot0xogb58,1810
39
39
  aurelian/agents/d4d/d4d_tools.py,sha256=ymyWSOOYF6vgv06mpU_GQH7gecIUYluqvT3eXgEhfVA,4803
40
40
  aurelian/agents/d4d_agent.py,sha256=hDS5RVisPcKzDX202vYzz54kyGZ1_L8VfBCDfXPlpPk,1896
41
41
  aurelian/agents/diagnosis/__init__.py,sha256=HhW4NEjr8Zo6Lqxiq0AW3pzGZu1N8xEkdAd0EG_7fak,668
42
- aurelian/agents/diagnosis/diagnosis_agent.py,sha256=ID8EkZ8C-YMo3g5TY12ZZ_fBXWyRbp0_klBqd8HSous,2341
42
+ aurelian/agents/diagnosis/diagnosis_agent.py,sha256=-nJ7gwZZ6N6I-A6y9SVxrqKV98b-DgrkAE82jpiZ20s,2369
43
43
  aurelian/agents/diagnosis/diagnosis_config.py,sha256=TCoJ9tPmXS0gvXgmziSqAMHKXdl48Mg5AFejS_0Wvxo,1565
44
44
  aurelian/agents/diagnosis/diagnosis_evals.py,sha256=FL42urNIAsWo9iMRmpynlrvMYLnazsC9tMPdPm86JG8,2582
45
45
  aurelian/agents/diagnosis/diagnosis_gradio.py,sha256=We_ZxhxmlvcxcvVmf2NuflmeHVIYmDJ_LvrO4hL1Y9U,1754
@@ -78,7 +78,7 @@ aurelian/agents/goann/goann_evals.py,sha256=foDikX0KBYcfBamf0G5UWcJstADbNrRB7q_T
78
78
  aurelian/agents/goann/goann_gradio.py,sha256=s_mx4Qh2_5SgXdR3NuY_Jr1h38vTjz__-Tv0yk8QLU0,2025
79
79
  aurelian/agents/goann/goann_mcp.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  aurelian/agents/goann/goann_tools.py,sha256=m5nM41nbH45IZ8-BXCaWOX970j0spYwjQJhFs23EvAs,2059
81
- aurelian/agents/gocam/__init__.py,sha256=0jLnmPKRPv414TUmhOQyDU1WGopelFpIgvMslOM4fEA,883
81
+ aurelian/agents/gocam/__init__.py,sha256=CuXryR9hlrCSdlDSctqKsorHO7jbrI2eGBwcoBDYEJY,1196
82
82
  aurelian/agents/gocam/documents/DNA-binding transcription factor activity annotation guidelines.docx,sha256=aohQYDq-iI6dj4AWpWZO-6dG91i_UhJ9Cvre40hsO5I,946469
83
83
  aurelian/agents/gocam/documents/DNA-binding transcription factor activity annotation guidelines.pdf,sha256=ffnp3EwWD-guJtv69IEo2y-Sw-mQn-ZiXPK-V2CvWC8,602114
84
84
  aurelian/agents/gocam/documents/DNA-binding_transcription_factor_activity_annotation_guidelines.md,sha256=m2C4wIk0snHbG5BEH2ys_u1bisdK6D-2l5rxbWYiDww,5604
@@ -136,10 +136,10 @@ aurelian/agents/gocam/documents/md/Transcription_coregulator_activity.md,sha256=
136
136
  aurelian/agents/gocam/documents/md/Transporter_activity_annotation_annotation_guidelines.md,sha256=7wrC8TryecwxXdXN6_XpUP7dHoUZ2-vzCHhLitCm42A,1688
137
137
  aurelian/agents/gocam/documents/md/WIP_-_Regulation_and_Regulatory_Processes_in_GO-CAM.md,sha256=Ug84Aa640VBwpMom5blksjweKjCutHKUYqBBzwzgG-I,2653
138
138
  aurelian/agents/gocam/documents/pandoc_md/Signaling_receptor_activity_annotation_guidelines.md,sha256=TGw39vKs5XE0jF3s0A6XzP4_ovKS3nohqlrGlK7kVFo,11990
139
- aurelian/agents/gocam/gocam_agent.py,sha256=G5XGiNaVgJjDjv0VLn875Ts5cfNDDq7nLwSahJNtFgw,9413
139
+ aurelian/agents/gocam/gocam_agent.py,sha256=5em_lS64D2eG_srlGU4B_76FTx3NABPAgmTrYcPr1a0,9497
140
140
  aurelian/agents/gocam/gocam_config.py,sha256=MU7jRhrkB05kRT-ruPDoPpHMPFCn2y2Od6B13XIj6R0,2492
141
141
  aurelian/agents/gocam/gocam_curator_agent.py,sha256=4OK3PoNCNA3pVLV6yq7Rm0ZN7YQ5todAvjJvYzAPPrY,1452
142
- aurelian/agents/gocam/gocam_evals.py,sha256=ZrzLQaLXkRaqZ3RJrkhYVxu8PWXWKAXzOCmnOp8u34M,2041
142
+ aurelian/agents/gocam/gocam_evals.py,sha256=x9K04niguY2BVtPA99ifj3gb7dIlu5Xt_YEpqpPcky4,1934
143
143
  aurelian/agents/gocam/gocam_gradio.py,sha256=Ah1VnlGSYVzLPQel5SbZ-RNsI_QRg0PJBt6VGGIOOfo,3098
144
144
  aurelian/agents/gocam/gocam_mcp.py,sha256=S-KT5GuQKtzvq33Qemm1Wwg3jhl64GnGbic_tA4-XoQ,5915
145
145
  aurelian/agents/gocam/gocam_tools.py,sha256=tmhXLIYHDbXiteChzV6n-RzRhMiX2GSR9D2b47MmyxI,9671
@@ -148,30 +148,37 @@ aurelian/agents/linkml/linkml_agent.py,sha256=JhYfg-xMGhlj2VqaqeqTZEOhTcBkGzTj5a
148
148
  aurelian/agents/linkml/linkml_config.py,sha256=VIPPX7H5eGbw7Rx-YyDorOYVHZz1TQxqFtFKwFtmFwg,1450
149
149
  aurelian/agents/linkml/linkml_evals.py,sha256=odQ6unXhobBT6krqYVtdx1Jl91xh4m6avBk7-BlnHvc,2124
150
150
  aurelian/agents/linkml/linkml_gradio.py,sha256=XaaBQEZTJdW2HdENbs2LjlHjcfjAr2-setFePJKp6bg,1303
151
- aurelian/agents/linkml/linkml_mcp.py,sha256=rR31BiIId0rcq39Zpz4uuzyHzZhjHp1uslHezqw1CDw,4775
151
+ aurelian/agents/linkml/linkml_mcp.py,sha256=8CttCtfiFrRU4FX4-JjXvDBnpMYnz3oOVvVuP2OlMjE,4711
152
152
  aurelian/agents/linkml/linkml_tools.py,sha256=-y53s1MIJdLsqJstZF-8t5ocigHOLtXTDxmRIhY7uyc,3684
153
153
  aurelian/agents/literature/__init__.py,sha256=8EY_j4JWf5Mbowv6mzUE6TLpkhwrbNZSKT-NEH65KpU,101
154
- aurelian/agents/literature/literature_agent.py,sha256=jmTNwBkEp-7mG53AvXNGIudigg0ys6iiPtTzMSS9l3U,1708
154
+ aurelian/agents/literature/literature_agent.py,sha256=LB9RYOK4bzaQUfs8D6rmLQ-1NCwNAPSFsfu_hCY4f00,2275
155
155
  aurelian/agents/literature/literature_config.py,sha256=uDyhonTSdMP5L1dXgIGhgwlaHeyRPxjpVQkmt6kx7cE,947
156
156
  aurelian/agents/literature/literature_gradio.py,sha256=5GAef4fB8GgfOokwpL016MIpyIZ20gfb5snZJWGF-k8,1646
157
157
  aurelian/agents/literature/literature_mcp.py,sha256=fVBW7Vg8pW2vRq8RPio6Ltk_xe4KJCs_UCQzlsLDrJo,3925
158
158
  aurelian/agents/literature/literature_tools.py,sha256=vZMTV-V3xpo4SvkEPnuJAsbv6gGCwQGbcvLW6ec6jX8,5849
159
- aurelian/agents/monarch/__init__.py,sha256=8klP_zmBDbJoj7vUZTH_8WeGy-BC2fr1_SZ94AgfcVQ,563
160
- aurelian/agents/monarch/monarch_agent.py,sha256=7Oyo4HCSJu6p9-GVQUCOJKnSt-Qnb98F9x1bp42mRlI,1798
159
+ aurelian/agents/monarch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
+ aurelian/agents/monarch/monarch_agent.py,sha256=nve0m3BDj9_QwbUBy4Ht5ltVXElo1H_Hh3lPgc43rE4,1826
161
161
  aurelian/agents/monarch/monarch_config.py,sha256=3g5OXmMnuH0by1IZY9YLn4WPR6hr4XKCreq1SBGMzXo,1390
162
162
  aurelian/agents/monarch/monarch_gradio.py,sha256=GG5m4m8x4crFwP2a5z8s97nylG6gwuRXHa7RO82PPvY,1528
163
163
  aurelian/agents/monarch/monarch_mcp.py,sha256=U-K0XlpRIMPlAm5dKQkqemepz-DemCmFLMJWLASV0AI,1839
164
- aurelian/agents/monarch/monarch_tools.py,sha256=icghELlr5qvcjhpb5sK7iN6lWAIeH26Zyj2_jMLRSY8,3602
164
+ aurelian/agents/monarch/monarch_tools.py,sha256=z6ohe4wzO8vBVSV_23FSPwLzFNhFrk6Hkdy7FCOmhos,3554
165
165
  aurelian/agents/oak/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
166
166
  aurelian/agents/oak/oak_config.py,sha256=Gc9_edlkZKF-8377xwx2QiIxVHGiHA2xWPgYVyG-tvE,675
167
167
  aurelian/agents/oak/oak_gradio.py,sha256=-y99MoEORea2sLIvcvEEbeKDojxm0I7bXzzZkoSHu_s,1669
168
168
  aurelian/agents/ontology_mapper/__init__.py,sha256=5SCUej1UyBJSuSwZrNHHO8rrTPElup_ufOClKom6_v8,646
169
- aurelian/agents/ontology_mapper/ontology_mapper_agent.py,sha256=fPIaEbLERvbO0Tj2Y8MhlFscSkI8IM_rXBWnWzw6ZaA,2768
169
+ aurelian/agents/ontology_mapper/ontology_mapper_agent.py,sha256=sE22zXyAru9dc1nlZB-0uAWWmd2RsoUndqoiwvrL_yk,2796
170
170
  aurelian/agents/ontology_mapper/ontology_mapper_config.py,sha256=iqJzuZ6M7BSs0qGgeah5u7THOusZ3VjvH8lJ6IiYgSE,1639
171
171
  aurelian/agents/ontology_mapper/ontology_mapper_evals.py,sha256=6kympT8LV570rRozgeBIyEdZ3dDfRGH2o3x4x2F__9Q,3591
172
172
  aurelian/agents/ontology_mapper/ontology_mapper_gradio.py,sha256=nzkwPvK3k6Sze8oNS2R8z4k2XeXj4LU2wjV4G_Jn-Ec,1819
173
173
  aurelian/agents/ontology_mapper/ontology_mapper_mcp.py,sha256=YnXCKU2Yzy_RPqEba8hJPWwtb1H07Wo-zlZY-nnKurw,2208
174
174
  aurelian/agents/ontology_mapper/ontology_mapper_tools.py,sha256=S0azD3wR0pTh-9ipjVBUiNRkgsDEb30n1KMZD0qWvyw,4272
175
+ aurelian/agents/paperqa/__init__.py,sha256=Dfff3fyx9PeoeqA4DcvyE_loW-UXegYM281alttwLvI,590
176
+ aurelian/agents/paperqa/paperqa_agent.py,sha256=FAPgHVeW63jT07trjV2HzNqq7OivRDlhp2Kn50Kb5Gs,2643
177
+ aurelian/agents/paperqa/paperqa_cli.py,sha256=A0cwGUUTVcFVO1e_PsXusvBae9N5ElyeCtsZuQh-eGo,10357
178
+ aurelian/agents/paperqa/paperqa_config.py,sha256=CUj3BARcII8AippAYJXAq9MsqrQlkRm36ucHyuCGnII,4554
179
+ aurelian/agents/paperqa/paperqa_gradio.py,sha256=Thz82905TBeUQSiKcT40ZFs9MOqlN3YzYrJ5LNZPjHs,2844
180
+ aurelian/agents/paperqa/paperqa_mcp.py,sha256=ApnH43iZpM4ToPpSpE1KQf2mF4o7HCTXPb_X6tjX0ic,4665
181
+ aurelian/agents/paperqa/paperqa_tools.py,sha256=k0WtWPhkyAndnpPjP7XRF5llkW-Ktkxx2JhChO-SKU4,20238
175
182
  aurelian/agents/phenopackets/__init__.py,sha256=TrXNpK2KDUjxok4nCuhepVPGH4RvALOZJoXjD4S-i1g,73
176
183
  aurelian/agents/phenopackets/phenopackets_agent.py,sha256=R--xoY558TaVcAG2HoQvj7lWwCr_PrpfG7xl33rCIpk,2229
177
184
  aurelian/agents/phenopackets/phenopackets_config.py,sha256=hpc3m2IboYlQoJselVMPf_EK0Z1YJBNp7qbj3TLk7PM,2304
@@ -180,7 +187,7 @@ aurelian/agents/phenopackets/phenopackets_gradio.py,sha256=KJdu5ZIgyYhAvpQLQ012J
180
187
  aurelian/agents/phenopackets/phenopackets_mcp.py,sha256=PzhqNW6RC9E5jRG9xBzMGVP3u-tQmTt6Idq_zDAeEsE,4677
181
188
  aurelian/agents/phenopackets/phenopackets_tools.py,sha256=3U8mjA_mi3K6Sb5VOSfT3Z-ytTx2cuz8zFLnFxxp-U8,4052
182
189
  aurelian/agents/rag/__init__.py,sha256=eqnU5tVCH52qW5KKSAgUzhh7WDYl-HZb84j-V5fs48g,749
183
- aurelian/agents/rag/rag_agent.py,sha256=xt1w1FYJdCceXXRHH16DEiuWXrV7v6mf6emyUjL0R4M,2526
190
+ aurelian/agents/rag/rag_agent.py,sha256=vkOsAwDWyt-uexqdUuHQ1QehLiYjk8P8E83QK61f9-0,2554
184
191
  aurelian/agents/rag/rag_config.py,sha256=M5q56xOp7ZfK21mi0gOCJP8dXiWjPvbTHmv-36YyVq8,2692
185
192
  aurelian/agents/rag/rag_gradio.py,sha256=Vl9GicDP0xlL7126RUHx9f0loQGa_JnFwN0QtOT_58w,1844
186
193
  aurelian/agents/rag/rag_mcp.py,sha256=-o0c868DZdqfB38QOHFDqGHrwyWqI7vAK6aNAtDP3XA,2543
@@ -201,15 +208,15 @@ aurelian/agents/talisman/run_talisman.py,sha256=K_GX9eqA2wrhXIDjtTfpCh7UHRObniSY
201
208
  aurelian/agents/talisman/talisman_agent.py,sha256=KBvCCkzl-j_PObfMBrsyXg3kvCDmCpi2DAOnuaURdMI,6641
202
209
  aurelian/agents/talisman/talisman_config.py,sha256=bYjgMecVrKXwwZwv7n7Leseks6DFEfqVEZF9MqgoShQ,2301
203
210
  aurelian/agents/talisman/talisman_gradio.py,sha256=ogpFwnxVngvu5UmQ1GKz2JdbpCWlIK7duQDLJGisWs8,1617
204
- aurelian/agents/talisman/talisman_mcp.py,sha256=dOLpklOqDRmsvm4ZFGZwKrcrrsx_FcahxcIOUnvJYm8,4612
211
+ aurelian/agents/talisman/talisman_mcp.py,sha256=yQbLR6ITvl3qsV-p4nnqEDYW_R5qRyQNl56CkEWiY8k,2189
205
212
  aurelian/agents/talisman/talisman_tools.py,sha256=ZzvpFxZBXpeZrIFV9aqtwVqa6O3z_5WvUReWOHh-aS4,42256
206
213
  aurelian/agents/ubergraph/__init__.py,sha256=Nl81e1H7XKBSQ2nIHoY0UCHgcOW5N-PJ1AugKh_YGOs,767
207
- aurelian/agents/ubergraph/ubergraph_agent.py,sha256=UUu-PQz9MPFZZIuRw0KPSokTaFh_cMVNjRVj3BsG1ek,3038
214
+ aurelian/agents/ubergraph/ubergraph_agent.py,sha256=dW1IG35w7OgNgC5SDgNFB6K2RJCsRrfnTRd2nqrU9Tg,3066
208
215
  aurelian/agents/ubergraph/ubergraph_config.py,sha256=Fi2hFVu92v55IinNYFlLjdvt9THXtRFPkSEcXtTrC10,2774
209
216
  aurelian/agents/ubergraph/ubergraph_gradio.py,sha256=Gig_3AK0B4AkfvjlNklHkr87z2vcphll2I9DLgfdmdU,1372
210
217
  aurelian/agents/ubergraph/ubergraph_mcp.py,sha256=p_YbEkSF4yN0T5OJ8FKIkuOtutOYvFL3TJDtJydSnws,2475
211
218
  aurelian/agents/ubergraph/ubergraph_tools.py,sha256=9LLlOWXWu8crXCADpvzEJ0gQVNi9fuFYx8SkrDS175s,3428
212
- aurelian/agents/uniprot/__init__.py,sha256=Vj6vhxd8FtoLSKtT3u9yHiCrx__PA3iSDlZ3CoyJ6qE,821
219
+ aurelian/agents/uniprot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
220
  aurelian/agents/uniprot/uniprot_agent.py,sha256=KMTRKGVpRpSchz7YEShh9ZSSGHzmeaGEUaNFKJPDWSI,1648
214
221
  aurelian/agents/uniprot/uniprot_config.py,sha256=YhL265Z0GnTeXINHawe5iMcpR2ETLmdY3XhNXcYIc8w,1404
215
222
  aurelian/agents/uniprot/uniprot_evals.py,sha256=aZAZAOYFfvywqWuWV1-6p3PpXCxEl_ZkHppl88z5GUw,3178
@@ -220,11 +227,13 @@ aurelian/agents/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
220
227
  aurelian/agents/web/web_config.py,sha256=uk-etu-DzYgeuS2zBs0SVfX_BvZ6QGs0X5PFsf1NR-Q,675
221
228
  aurelian/agents/web/web_gradio.py,sha256=T7qzuRuBaWCYckWjpLu3L0LzHPLEKkxUYp2rj-Og_ms,1334
222
229
  aurelian/agents/web/web_mcp.py,sha256=3mrUlxBqeMSOmtpnD2wWedsOiRJbtveEnbyJqQdfEXQ,1163
223
- aurelian/agents/web/web_tools.py,sha256=BfJJWlHz7tKh9VDjymIwzziahFKrqr2ZUO0QH3IcL6U,4070
230
+ aurelian/agents/web/web_tools.py,sha256=oSS8MFxFqtcPfdEhmEuuiRKW8_NTg3ktLxahlF8h0Ec,4645
224
231
  aurelian/chat.py,sha256=hg9eGKiz_NAjwG5jNGwNqoFrhhx029XX3dWdMRrk-EU,563
225
- aurelian/cli.py,sha256=RvIl2Y4DtyEqXNTsY71n-0t_ZXCK3nTmzWAcnFmMvrE,33532
232
+ aurelian/cli.py,sha256=-6r3w8H43fhoHrkzn3GQmpQ37McsFHjWP5wZIrnk0gQ,34856
226
233
  aurelian/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
227
234
  aurelian/dependencies/workdir.py,sha256=G_eGlxKpHRjO3EL2hHN8lvtticgSZvJe300KkJP4vZQ,2228
235
+ aurelian/evaluators/model.py,sha256=USfoHcYTMTlPJaM9-BPksb3asBoDd7amqSnHIbg9YYs,253
236
+ aurelian/evaluators/substring_evaluator.py,sha256=cx1fF3f5FulEeD9iTkgtwo-zByt5qgdmk1XKWJ1_eqQ,1039
228
237
  aurelian/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
238
  aurelian/mcp/amigo_mcp_test.py,sha256=TtlYU-5AKcXf2XubFUNpZE2RxFHYi_cVbtte6KJQnzE,2902
230
239
  aurelian/mcp/config_generator.py,sha256=QIaLqURiuOPgGfOImItf89d4ZltYonpybzAcO2vjA2Y,4350
@@ -239,7 +248,7 @@ aurelian/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
248
  aurelian/tools/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
240
249
  aurelian/tools/web/url_download.py,sha256=Tpg41yx4Sd3dToV-kGBZggwYUq3hmeLwJttSQrnqz4M,1435
241
250
  aurelian/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
- aurelian/utils/async_utils.py,sha256=nkuyNwGmykEfesZ0MUPRdnrSgxb66RD6-tEKVQPwzTo,328
251
+ aurelian/utils/async_utils.py,sha256=mqjYPr8RlXlIXKYRgQ95ZcGTbdIeOw4PHvr37Clopd0,417
243
252
  aurelian/utils/data_utils.py,sha256=LFuSKWtApLJxFGuHLG4-Zhw42cbaQK0juCEXD44b3S4,1047
244
253
  aurelian/utils/documentation_manager.py,sha256=uvAnI_N1V1ITQX53ytOSgvDLbV0IIsSkxpKDg0y3E4g,1767
245
254
  aurelian/utils/doi_fetcher.py,sha256=BNIsYaS9cb2uOSY0jxdjnZAFI2VSk2odzP4ppz3ToHg,8553
@@ -250,8 +259,8 @@ aurelian/utils/pubmed_utils.py,sha256=Gk00lu1Lv0GRSNeF5M4zplp3UMSpe5byCaVKCJimUH
250
259
  aurelian/utils/pytest_report_to_markdown.py,sha256=WH1NlkVYj0UfUqpXjRD1KMpkMgEW3qev3fDdPvZG9Yw,1406
251
260
  aurelian/utils/robot_ontology_utils.py,sha256=aaRe9eyLgJCtj1EfV13v4Q7khFTWzUoFFEE_lizGuGg,3591
252
261
  aurelian/utils/search_utils.py,sha256=9MloT3SzOE4JsElsYlCznp9N6fv_OQK7YWOU8MIy1WU,2818
253
- aurelian-0.3.3.dist-info/LICENSE,sha256=FB6RpUUfbUeKS4goWrvpp1QmOtyywrMiNBsYPMlLT3A,1086
254
- aurelian-0.3.3.dist-info/METADATA,sha256=zuOveEkQXBoEtZe5gOlQeTby9eIGowh4Pzp8QOwbVuc,3339
255
- aurelian-0.3.3.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
256
- aurelian-0.3.3.dist-info/entry_points.txt,sha256=BInUyPfLrHdmH_Yvi71dx21MhkcNCEOPiqvpEIb2U5k,46
257
- aurelian-0.3.3.dist-info/RECORD,,
262
+ aurelian-0.4.1.dist-info/LICENSE,sha256=FB6RpUUfbUeKS4goWrvpp1QmOtyywrMiNBsYPMlLT3A,1086
263
+ aurelian-0.4.1.dist-info/METADATA,sha256=jQhaYsfYEvlpDSotKJrxSYgXLxprb_Ictzd33LVqbco,3557
264
+ aurelian-0.4.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
265
+ aurelian-0.4.1.dist-info/entry_points.txt,sha256=EnGehbtRm0YmhdfwfcoGJjVG3Man-zgKvob20fTIBik,102
266
+ aurelian-0.4.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any