-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Separate Nuget versioning for "final" and "experimental" nugets #2279
Comments
smuggler's cove :) |
@maryamariyan will add the build infrastructure in order to have 2 groups of NuGet packages: "stable" and "experimental". We still need to specify which packages will be "stable", but we can mark those packages after the build infrastructure is there. |
So here is list of Stable and Unstable: Stable: Unstable: Microsoft.ML.DnnImageFeaturizer.AlexNet |
@Ivanidzo4ka from the list above (#2279 (comment)) I couldn't find csproj for the following in the repo:
Are they under a different name? |
@maryamariyan look under the src/Redist. They are .proj files |
Thanks @sfilipi |
@maryamariyan sorry, Mkl is with the other ones: https://github.com/dotnet/machinelearning/blob/master/pkg/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.nupkgproj |
@maryamariyan - a thing that may help here: Our The reason for this is that we don't have a 1:1 mapping between managed So all Nuget packages are created from projects under: https://github.com/dotnet/machinelearning/tree/master/pkg. So for both our managed assemblies and our NuGets, we will have to version the "experimental" packages differently than the "stable" packages. Our experimental managed assemblies shouldn't have "1.0" |
Right now all our nugets have one global version. Once we ship V1, however, there will be some assemblies and nugets that are "final," in that their API surface is locked and going forward we do not make breaking changes, and other assemblies doing more experimental work where we're not quite so sure what the final surface will look like.
An example of this is
Microsoft.ML.StaticPipe
and friends. The statically typed pipelines work is interesting and we want to continue working on it post v1. Similarly,Microsoft.ML.Ensemble
seems like something we don't have time to get the API "right" for yet. (Though we might solve that specific one in a different way by just hiding it altogether for now.)A different example of this would be things like
Microsoft.ML.EntryPoints
, which we have to make public for "reasons," but cannot reasonably be said to have a public API.Another example would be some sort of "smuggler's cove" assembly/nuget (which does not yet exist) that exposes some infrastructure that some important scenario or other needs access to, but we are not comfortable making as part of our public API. (E.g., some conduit to "get at" the internal methods of the
ComponentCatalog
.)@eerhardt opined that if we do that, then of course there should be a separate versioning scheme for those. This would include changes to the package build infrastructure to accomodate this "two tier" structure we do not have yet.
The text was updated successfully, but these errors were encountered: