-
Notifications
You must be signed in to change notification settings - Fork 644
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
Surface PackageType query parameter in the NuGet.org search API #7594
Comments
|
Keep in mind that all my answers may change as we haven't done a proper design yet.
Current plan is that this will be an addition to that resource, yup.
Yes. This would likely get you the most "popular" .NET CLI tools.
Not at this time, but this may change. Why? FYI, we document our rate limits here: https://docs.microsoft.com/en-us/nuget/api/rate-limits#package-search
Yes. Each result is the metadata for the latest version of a package (plus a list of all its versions). We return 20 results by default, but you can increase this using the
I'm not sure I follow. If you mean, "how can I find a the latest version for ALL .NET tools?", use the catalog resource. If you mean, "what is the latest version for a given package?", then:
Please let us know if you have any other questions or suggestions! Also, I'm curious, what is the experience you plan to build? |
I will later write up a more concrete plan. The current draft is to have a dotnet tool search blah and we will display all tools where packageid/summary/description/tags contain blah. They will be displayed as a form. and we will also have a "detailed" mode to list out more details like all available versions since it is hard add too much information in a form. One additional question is, is there an easy to search multiple fields(packageid/summary/description/tags)? |
How will this work if the user's Have you considered something like
The search endpoint searches across multiple fields by default on NuGet.org. On NuGet.org you have to craft a special query like
Sounds good! Please let us know if you have any more questions, the NuGet protocol can be a little tricky 😊 |
We will focus on nuget.org for now, considering search by package type is not a standard
Just my opinion, I think we should make it generic, since VS has package manager to discover package.
We discussed that. If the user has the knowledge of crafting queries. It is better and faster for them to just use the web browser. We want to solve tools discoverability problem first. At the same time, it is possible for SDK to craft a query to search multiple fields? Could you give me an example? |
@loic-sharma Do you have a list of the fields that are searched by default? That may be a great solution for us. Would the results be the same as if the user typed "Blah" in the search field of the website? We aren't currently planning any source other than NuGet.org because we understood this API to be NuGet.org specific where another package source could easily use a different API, or not implement it. Hopefully implementing this on NuGet,org will help start a conversation that can lead to a reliable approach across the ecosystem. If you have a different perspective on alternate sources, I'd love to discuss. As for syntax, the current CLI syntax guidelines, result in
Designing this to allow other searches may be a good idea. We would probably use the syntax:
Currently |
Yes, we search on multiple fields by default. For example, searching for "unittesting" matches the package "Moq" because it has the tag "unittesting": https://azuresearch-usnc.nuget.org/query?q=unittesting
This list changes as we evolve our search service. You can get a rough sense by looking at what is labelled
Considering that you can install tools from any NuGet source, I think it'd be ideal if you can search for tools on any source. At this time, the NuGet team does not intend to make this API NuGet.org specific. The NuGet protocol includes a "service index" that lets clients discover what capabilities the server has. I would imagine that package type filtering support should declared using the service index. Please keep in mind that the NuGet team hasn't formally discussed the new protocol yet, so this may all change.
I did not know we had CLI syntax guidelines, thanks for sharing! Maybe we should setup a meeting to discuss this? |
I agree with @loic-sharma. Seems like we (nuget.org) need some help understanding the big picture that the CLI has. I think you have been working with @karann-msft up till now. Could we get in a room and discuss before we start diving into how the protocol should be shaped ? /cc @karann-msft - PM |
Great! Let's get together on this! Meeting notice sent. |
Today's meeting note
|
In addition to @wli3 's notes:
|
/cc @zkat this is the epic for the server-side change to support package type filtering. |
Users can specify a package type - https://docs.microsoft.com/en-us/nuget/create-packages/set-package-type
It should be possible to search for all DotnetCliTool packages on NuGet.org
Proposal
packageType
packageType
in the nuspecThe text was updated successfully, but these errors were encountered: