tooluniverse 1.0.5__py3-none-any.whl → 1.0.6__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.

Potentially problematic release.


This version of tooluniverse might be problematic. Click here for more details.

Files changed (45) hide show
  1. tooluniverse/__init__.py +39 -0
  2. tooluniverse/agentic_tool.py +82 -12
  3. tooluniverse/arxiv_tool.py +113 -0
  4. tooluniverse/biorxiv_tool.py +97 -0
  5. tooluniverse/core_tool.py +153 -0
  6. tooluniverse/crossref_tool.py +73 -0
  7. tooluniverse/data/arxiv_tools.json +87 -0
  8. tooluniverse/data/biorxiv_tools.json +70 -0
  9. tooluniverse/data/core_tools.json +105 -0
  10. tooluniverse/data/crossref_tools.json +70 -0
  11. tooluniverse/data/dblp_tools.json +73 -0
  12. tooluniverse/data/doaj_tools.json +94 -0
  13. tooluniverse/data/fatcat_tools.json +72 -0
  14. tooluniverse/data/hal_tools.json +70 -0
  15. tooluniverse/data/medrxiv_tools.json +70 -0
  16. tooluniverse/data/openaire_tools.json +85 -0
  17. tooluniverse/data/osf_preprints_tools.json +77 -0
  18. tooluniverse/data/pmc_tools.json +109 -0
  19. tooluniverse/data/pubmed_tools.json +65 -0
  20. tooluniverse/data/unpaywall_tools.json +86 -0
  21. tooluniverse/data/wikidata_sparql_tools.json +42 -0
  22. tooluniverse/data/zenodo_tools.json +82 -0
  23. tooluniverse/dblp_tool.py +62 -0
  24. tooluniverse/default_config.py +17 -0
  25. tooluniverse/doaj_tool.py +124 -0
  26. tooluniverse/execute_function.py +70 -9
  27. tooluniverse/fatcat_tool.py +66 -0
  28. tooluniverse/hal_tool.py +77 -0
  29. tooluniverse/llm_clients.py +286 -0
  30. tooluniverse/medrxiv_tool.py +97 -0
  31. tooluniverse/openaire_tool.py +145 -0
  32. tooluniverse/osf_preprints_tool.py +67 -0
  33. tooluniverse/pmc_tool.py +181 -0
  34. tooluniverse/pubmed_tool.py +110 -0
  35. tooluniverse/smcp.py +109 -79
  36. tooluniverse/test/test_claude_sdk.py +11 -4
  37. tooluniverse/unpaywall_tool.py +63 -0
  38. tooluniverse/wikidata_sparql_tool.py +61 -0
  39. tooluniverse/zenodo_tool.py +74 -0
  40. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.6.dist-info}/METADATA +2 -1
  41. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.6.dist-info}/RECORD +45 -13
  42. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.6.dist-info}/entry_points.txt +1 -0
  43. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.6.dist-info}/WHEEL +0 -0
  44. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.6.dist-info}/licenses/LICENSE +0 -0
  45. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ [
2
+ {
3
+ "type": "MedRxivTool",
4
+ "name": "MedRxiv_search_preprints",
5
+ "description": "Search medRxiv preprints using the public medRxiv API. Returns preprints with title, authors, year, DOI, and URL.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for medRxiv preprints. Use keywords separated by spaces to refine your search."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of preprints to return. Default is 10, maximum is 200.",
16
+ "default": 10
17
+ }
18
+ },
19
+ "required": ["query"]
20
+ },
21
+ "return_schema": {
22
+ "type": "array",
23
+ "description": "List of medRxiv preprints matching the search query",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "title": {
28
+ "type": "string",
29
+ "description": "Title of the preprint"
30
+ },
31
+ "authors": {
32
+ "type": "array",
33
+ "items": {"type": "string"},
34
+ "description": "List of author names"
35
+ },
36
+ "year": {
37
+ "type": "integer",
38
+ "description": "Publication year"
39
+ },
40
+ "doi": {
41
+ "type": "string",
42
+ "description": "Digital Object Identifier"
43
+ },
44
+ "url": {
45
+ "type": "string",
46
+ "description": "URL to the preprint on medRxiv"
47
+ },
48
+ "abstract": {
49
+ "type": "string",
50
+ "description": "Abstract of the preprint"
51
+ },
52
+ "source": {
53
+ "type": "string",
54
+ "description": "Source identifier (always 'medRxiv')"
55
+ }
56
+ }
57
+ }
58
+ },
59
+ "test_examples": [
60
+ {
61
+ "query": "COVID",
62
+ "max_results": 2
63
+ },
64
+ {
65
+ "query": "vaccine",
66
+ "max_results": 1
67
+ }
68
+ ]
69
+ }
70
+ ]
@@ -0,0 +1,85 @@
1
+ [
2
+ {
3
+ "type": "OpenAIRETool",
4
+ "name": "OpenAIRE_search_publications",
5
+ "description": "Search OpenAIRE Explore for research products including publications, datasets, and software. OpenAIRE is the European open science platform that provides access to research outputs from EU-funded projects.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for OpenAIRE research products. Use keywords to search across titles, abstracts, and metadata."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of results to return. Default is 10, maximum is 100.",
16
+ "default": 10,
17
+ "minimum": 1,
18
+ "maximum": 100
19
+ },
20
+ "type": {
21
+ "type": "string",
22
+ "description": "Type of research product to search: 'publications', 'datasets', or 'software'. Default is 'publications'.",
23
+ "default": "publications",
24
+ "enum": ["publications", "datasets", "software"]
25
+ }
26
+ },
27
+ "required": ["query"]
28
+ },
29
+ "return_schema": {
30
+ "type": "array",
31
+ "description": "List of OpenAIRE research products matching the search query",
32
+ "items": {
33
+ "type": "object",
34
+ "properties": {
35
+ "title": {
36
+ "type": "string",
37
+ "description": "Title of the research product"
38
+ },
39
+ "authors": {
40
+ "type": "array",
41
+ "items": {"type": "string"},
42
+ "description": "List of author/creator names"
43
+ },
44
+ "year": {
45
+ "type": "string",
46
+ "description": "Publication or creation year"
47
+ },
48
+ "doi": {
49
+ "type": "string",
50
+ "description": "Digital Object Identifier"
51
+ },
52
+ "url": {
53
+ "type": "string",
54
+ "description": "URL to access the research product"
55
+ },
56
+ "type": {
57
+ "type": "string",
58
+ "description": "Type of research product (publications/datasets/software)"
59
+ },
60
+ "source": {
61
+ "type": "string",
62
+ "description": "Source identifier (always 'OpenAIRE')"
63
+ }
64
+ }
65
+ }
66
+ },
67
+ "test_examples": [
68
+ {
69
+ "query": "machine learning",
70
+ "max_results": 2,
71
+ "type": "publications"
72
+ },
73
+ {
74
+ "query": "climate change",
75
+ "max_results": 1,
76
+ "type": "datasets"
77
+ },
78
+ {
79
+ "query": "bioinformatics",
80
+ "max_results": 1,
81
+ "type": "software"
82
+ }
83
+ ]
84
+ }
85
+ ]
@@ -0,0 +1,77 @@
1
+ [
2
+ {
3
+ "type": "OSFPreprintsTool",
4
+ "name": "OSF_search_preprints",
5
+ "description": "Search OSF (Open Science Framework) Preprints for research preprints and working papers. OSF Preprints aggregates preprints from multiple providers including OSF, PsyArXiv, and others.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for OSF preprints. Use keywords to search across titles and abstracts."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of results to return. Default is 10, maximum is 100.",
16
+ "default": 10,
17
+ "minimum": 1,
18
+ "maximum": 100
19
+ },
20
+ "provider": {
21
+ "type": "string",
22
+ "description": "Optional preprint provider filter (e.g., 'osf', 'psyarxiv', 'socarxiv'). If not specified, searches all providers."
23
+ }
24
+ },
25
+ "required": ["query"]
26
+ },
27
+ "return_schema": {
28
+ "type": "array",
29
+ "description": "List of OSF preprints matching the search query",
30
+ "items": {
31
+ "type": "object",
32
+ "properties": {
33
+ "title": {
34
+ "type": "string",
35
+ "description": "Title of the preprint"
36
+ },
37
+ "date_published": {
38
+ "type": "string",
39
+ "description": "Publication date of the preprint"
40
+ },
41
+ "published": {
42
+ "type": "boolean",
43
+ "description": "Whether the preprint is published"
44
+ },
45
+ "doi": {
46
+ "type": "string",
47
+ "description": "Digital Object Identifier"
48
+ },
49
+ "url": {
50
+ "type": "string",
51
+ "description": "URL to the preprint on OSF"
52
+ },
53
+ "source": {
54
+ "type": "string",
55
+ "description": "Source identifier (always 'OSF Preprints')"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "test_examples": [
61
+ {
62
+ "query": "psychology",
63
+ "max_results": 2
64
+ },
65
+ {
66
+ "query": "social science",
67
+ "max_results": 1,
68
+ "provider": "socarxiv"
69
+ },
70
+ {
71
+ "query": "neuroscience",
72
+ "max_results": 1,
73
+ "provider": "psyarxiv"
74
+ }
75
+ ]
76
+ }
77
+ ]
@@ -0,0 +1,109 @@
1
+ [
2
+ {
3
+ "type": "PMCTool",
4
+ "name": "PMC_search_papers",
5
+ "description": "Search for full-text biomedical literature using PMC (PubMed Central) API. PMC is the free full-text archive of biomedical and life sciences journal literature at the U.S. National Institutes of Health's National Library of Medicine.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for PMC papers. Use keywords separated by spaces to refine your search."
12
+ },
13
+ "limit": {
14
+ "type": "integer",
15
+ "description": "Maximum number of papers to return. This sets the maximum number of papers retrieved from PMC.",
16
+ "default": 10,
17
+ "minimum": 1,
18
+ "maximum": 100
19
+ },
20
+ "date_from": {
21
+ "type": "string",
22
+ "description": "Start date for publication date filter (YYYY/MM/DD format). Optional parameter to limit search to papers published from this date onwards."
23
+ },
24
+ "date_to": {
25
+ "type": "string",
26
+ "description": "End date for publication date filter (YYYY/MM/DD format). Optional parameter to limit search to papers published up to this date."
27
+ },
28
+ "article_type": {
29
+ "type": "string",
30
+ "description": "Article type filter (e.g., 'research-article', 'review', 'case-report'). Optional parameter to limit search to specific article types."
31
+ }
32
+ },
33
+ "required": ["query"]
34
+ },
35
+ "return_schema": {
36
+ "type": "array",
37
+ "description": "List of full-text biomedical papers from PMC matching the search query",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": {
41
+ "title": {
42
+ "type": "string",
43
+ "description": "Title of the paper"
44
+ },
45
+ "abstract": {
46
+ "type": "string",
47
+ "description": "Abstract of the paper"
48
+ },
49
+ "authors": {
50
+ "type": "array",
51
+ "items": {"type": "string"},
52
+ "description": "List of author names"
53
+ },
54
+ "year": {
55
+ "type": "string",
56
+ "description": "Publication year"
57
+ },
58
+ "pmc_id": {
59
+ "type": "string",
60
+ "description": "PMC identifier"
61
+ },
62
+ "pmid": {
63
+ "type": "string",
64
+ "description": "PubMed identifier"
65
+ },
66
+ "doi": {
67
+ "type": "string",
68
+ "description": "Digital Object Identifier (DOI) of the paper"
69
+ },
70
+ "url": {
71
+ "type": "string",
72
+ "description": "URL to access the paper on PMC"
73
+ },
74
+ "venue": {
75
+ "type": "string",
76
+ "description": "Journal or venue name"
77
+ },
78
+ "open_access": {
79
+ "type": "boolean",
80
+ "description": "Open access status (always true for PMC)"
81
+ },
82
+ "source": {
83
+ "type": "string",
84
+ "description": "Source identifier (always 'PMC')"
85
+ },
86
+ "article_type": {
87
+ "type": "string",
88
+ "description": "Type of article (e.g., research-article, review)"
89
+ },
90
+ "citations": {
91
+ "type": "integer",
92
+ "description": "Number of citations"
93
+ }
94
+ }
95
+ }
96
+ },
97
+ "test_examples": [
98
+ {
99
+ "query": "cancer research",
100
+ "limit": 2
101
+ },
102
+ {
103
+ "query": "COVID-19",
104
+ "limit": 1,
105
+ "date_from": "2020/01/01"
106
+ }
107
+ ]
108
+ }
109
+ ]
@@ -0,0 +1,65 @@
1
+ [
2
+ {
3
+ "type": "PubMedTool",
4
+ "name": "PubMed_search_articles",
5
+ "description": "Search PubMed using NCBI E-utilities (esearch + esummary) and return articles. Returns articles with title, journal, year, DOI, and PubMed URL.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Search query for PubMed articles. Use keywords separated by spaces to refine your search."
12
+ },
13
+ "limit": {
14
+ "type": "integer",
15
+ "description": "Number of articles to return. This sets the maximum number of articles retrieved from PubMed.",
16
+ "default": 10
17
+ },
18
+ "api_key": {
19
+ "type": "string",
20
+ "description": "Optional NCBI API key for higher rate limits. Get your free key at https://www.ncbi.nlm.nih.gov/account/"
21
+ }
22
+ },
23
+ "required": ["query"]
24
+ },
25
+ "return_schema": {
26
+ "type": "array",
27
+ "description": "List of PubMed articles matching the search query",
28
+ "items": {
29
+ "type": "object",
30
+ "properties": {
31
+ "title": {
32
+ "type": "string",
33
+ "description": "Title of the article"
34
+ },
35
+ "journal": {
36
+ "type": "string",
37
+ "description": "Journal name where the article was published"
38
+ },
39
+ "year": {
40
+ "type": "integer",
41
+ "description": "Publication year"
42
+ },
43
+ "doi": {
44
+ "type": "string",
45
+ "description": "Digital Object Identifier (if available)"
46
+ },
47
+ "url": {
48
+ "type": "string",
49
+ "description": "URL to the article on PubMed"
50
+ }
51
+ }
52
+ }
53
+ },
54
+ "test_examples": [
55
+ {
56
+ "query": "cancer research",
57
+ "limit": 2
58
+ },
59
+ {
60
+ "query": "COVID-19",
61
+ "limit": 1
62
+ }
63
+ ]
64
+ }
65
+ ]
@@ -0,0 +1,86 @@
1
+ [
2
+ {
3
+ "type": "UnpaywallTool",
4
+ "name": "Unpaywall_check_oa_status",
5
+ "description": "Query Unpaywall by DOI to check open-access status and OA locations. Requires a contact email for API access.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "doi": {
10
+ "type": "string",
11
+ "description": "DOI (Digital Object Identifier) of the article to check for open access status."
12
+ },
13
+ "email": {
14
+ "type": "string",
15
+ "description": "Contact email address required by Unpaywall API for polite usage tracking."
16
+ }
17
+ },
18
+ "required": ["doi", "email"]
19
+ },
20
+ "return_schema": {
21
+ "type": "object",
22
+ "description": "Open access status and location information for the given DOI",
23
+ "properties": {
24
+ "is_oa": {
25
+ "type": "boolean",
26
+ "description": "Whether the article is open access"
27
+ },
28
+ "oa_status": {
29
+ "type": "string",
30
+ "description": "Open access status (e.g., 'gold', 'green', 'hybrid', 'closed')"
31
+ },
32
+ "best_oa_location": {
33
+ "type": "object",
34
+ "description": "Best available open access location"
35
+ },
36
+ "oa_locations": {
37
+ "type": "array",
38
+ "description": "All available open access locations"
39
+ },
40
+ "journal_is_oa": {
41
+ "type": "boolean",
42
+ "description": "Whether the journal is open access"
43
+ },
44
+ "journal_issn_l": {
45
+ "type": "string",
46
+ "description": "Journal ISSN-L"
47
+ },
48
+ "journal_issns": {
49
+ "type": "array",
50
+ "items": {"type": "string"},
51
+ "description": "Journal ISSNs"
52
+ },
53
+ "doi": {
54
+ "type": "string",
55
+ "description": "The DOI that was queried"
56
+ },
57
+ "title": {
58
+ "type": "string",
59
+ "description": "Article title"
60
+ },
61
+ "year": {
62
+ "type": "integer",
63
+ "description": "Publication year"
64
+ },
65
+ "publisher": {
66
+ "type": "string",
67
+ "description": "Publisher name"
68
+ },
69
+ "url": {
70
+ "type": "string",
71
+ "description": "URL to the article"
72
+ }
73
+ }
74
+ },
75
+ "test_examples": [
76
+ {
77
+ "doi": "10.1038/nature12373",
78
+ "email": "test@example.com"
79
+ },
80
+ {
81
+ "doi": "10.1126/science.1234567",
82
+ "email": "user@example.com"
83
+ }
84
+ ]
85
+ }
86
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "type": "WikidataSPARQLTool",
4
+ "name": "Wikidata_SPARQL_query",
5
+ "description": "Execute SPARQL queries against Wikidata to retrieve structured data. This tool powers Scholia-style visualizations and can query academic topics, authors, institutions, and research relationships.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "sparql": {
10
+ "type": "string",
11
+ "description": "SPARQL query string to execute against Wikidata. Use SPARQL syntax to query academic entities, relationships, and properties."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Optional result limit override. If not specified, uses the LIMIT clause in the SPARQL query or returns all results.",
16
+ "minimum": 1
17
+ }
18
+ },
19
+ "required": ["sparql"]
20
+ },
21
+ "return_schema": {
22
+ "type": "array",
23
+ "description": "List of query results from Wikidata SPARQL endpoint",
24
+ "items": {
25
+ "type": "object",
26
+ "description": "Each result is a dictionary with variable names as keys and their values from the SPARQL query results"
27
+ }
28
+ },
29
+ "test_examples": [
30
+ {
31
+ "sparql": "SELECT ?item ?itemLabel WHERE { ?item wdt:P31 wd:Q11424 . ?item rdfs:label ?itemLabel . FILTER(LANG(?itemLabel) = 'en') } LIMIT 5",
32
+ "max_results": 5
33
+ },
34
+ {
35
+ "sparql": "SELECT ?author ?authorLabel WHERE { ?author wdt:P31 wd:Q5 . ?author wdt:P106 wd:Q188094 . ?author rdfs:label ?authorLabel . FILTER(LANG(?authorLabel) = 'en') } LIMIT 3"
36
+ },
37
+ {
38
+ "sparql": "SELECT ?university ?universityLabel WHERE { ?university wdt:P31 wd:Q3918 . ?university rdfs:label ?universityLabel . FILTER(LANG(?universityLabel) = 'en') } LIMIT 3"
39
+ }
40
+ ]
41
+ }
42
+ ]
@@ -0,0 +1,82 @@
1
+ [
2
+ {
3
+ "type": "ZenodoTool",
4
+ "name": "Zenodo_search_records",
5
+ "description": "Search Zenodo for research data, publications, and datasets. Zenodo is an open-access repository that hosts research outputs from all fields of science, including papers, datasets, software, and more.",
6
+ "parameter": {
7
+ "type": "object",
8
+ "properties": {
9
+ "query": {
10
+ "type": "string",
11
+ "description": "Free text search query for Zenodo records. Use keywords to search across titles, descriptions, authors, and other metadata."
12
+ },
13
+ "max_results": {
14
+ "type": "integer",
15
+ "description": "Maximum number of results to return. Must be between 1 and 200.",
16
+ "default": 10,
17
+ "minimum": 1,
18
+ "maximum": 200
19
+ },
20
+ "community": {
21
+ "type": "string",
22
+ "description": "Optional community slug to filter results by specific research community (e.g., 'zenodo', 'ecfunded')."
23
+ }
24
+ },
25
+ "required": ["query"]
26
+ },
27
+ "return_schema": {
28
+ "type": "array",
29
+ "description": "List of Zenodo records matching the search query",
30
+ "items": {
31
+ "type": "object",
32
+ "properties": {
33
+ "title": {
34
+ "type": "string",
35
+ "description": "Title of the record"
36
+ },
37
+ "authors": {
38
+ "type": "array",
39
+ "items": {"type": "string"},
40
+ "description": "List of author/creator names"
41
+ },
42
+ "date": {
43
+ "type": "string",
44
+ "description": "Publication date"
45
+ },
46
+ "doi": {
47
+ "type": "string",
48
+ "description": "Digital Object Identifier (DOI)"
49
+ },
50
+ "url": {
51
+ "type": "string",
52
+ "description": "URL to the record on Zenodo"
53
+ },
54
+ "files": {
55
+ "type": ["array", "string"],
56
+ "description": "List of files or link to files associated with the record"
57
+ },
58
+ "source": {
59
+ "type": "string",
60
+ "description": "Source identifier (always 'Zenodo')"
61
+ }
62
+ }
63
+ }
64
+ },
65
+ "test_examples": [
66
+ {
67
+ "query": "machine learning",
68
+ "max_results": 2
69
+ },
70
+ {
71
+ "query": "COVID-19",
72
+ "max_results": 1
73
+ },
74
+ {
75
+ "query": "climate change",
76
+ "max_results": 3,
77
+ "community": "zenodo"
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+