-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Tool-Centric APIs to the Tool Shed 2.0 #18524
Add Tool-Centric APIs to the Tool Shed 2.0 #18524
Conversation
805711c
to
696f9ae
Compare
96db4a8
to
3412e38
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, just some minor comments in line. Can't wait to play with this.
17be053
to
665d276
Compare
6725119
to
50a5651
Compare
(Just want to say this is fantastic to see, it'll let me throw away a repository where I collect this data from live servers as the old TS doesn't expose it and I need this metadata. happy day. Thank you @jmchilton!!) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, let's deploy it. Can you regenerate the conflicting schema ?
50a5651
to
fc57099
Compare
This is so awesome, thanks a lot @jmchilton! This will enable so many cool things for a long time to come! |
Suspect IssuesThis pull request was deployed and Sentry observed the following issues:
Did you find this useful? React with a 👍 or 👎 |
Adds the following backend enhancements to
galaxy-tool-util
...galaxy.tool_util.parser
.... and brings those together to add two new APIs to the Tool Shed 2.0 designed for reasoning about tools outside of Galaxy.
/api/tools/{trs_tool_id}/version/{version}
returns a parsed version of various information from theToolSource
abstraction that is de-coupled from XML and not dependent on Galaxy'sTool
classes. The model for this information is:/api/tools/{trs_tool_id}/version/{version}/parameter_request_schema
returns a JSON schema that can be used to validate a tool inputs according to the API that will be added with the Galaxy internals portion of the structured tool state PR Structured tool state #17393. This is generated from the metadata model that is exposed via the other API as theinputs
field.This is better than the last attempt #18470 for a variety of reasons - the tool state work has advanced and
repeat
min and max instance counts are now represented by the schema as aresection
elements, the tool shed API is much richer and more harmonious (modeling inputs and outputs together should allow for full workflow validation by external tooling, including citations, xrefs, and help in the API should enhance our ability to provide information about tools from sources such the IDE plugin), the caching has been reworked to be more future facing and gracefully handle model changes, and finally this version exposes stock tools as well.How to test the changes?
(Select all options that apply)
License