Skip to content
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

Move IDataView into Microsoft.ML namespace #2974

Closed
eerhardt opened this issue Mar 15, 2019 · 3 comments · Fixed by #2987
Closed

Move IDataView into Microsoft.ML namespace #2974

eerhardt opened this issue Mar 15, 2019 · 3 comments · Fixed by #2987
Assignees
Labels
API Issues pertaining the friendly API
Milestone

Comments

@eerhardt
Copy link
Member

We've received feedback that having IDataView in the Microsoft.Data namespace (which was done in #2220) is confusing to users. Traditionally, the System.Data namespace has been populated with "database" specific technologies. Microsoft.Data isn't all that different from System.Data, and one could argue they are basically the "same thing", with the System.Data technologies being inside of the BCL and/or netstandard definition while Microsoft.Data being built outside of the BCL/netstandard definition. There are already "database" specific APIs in Microsoft.Data, for example https://docs.microsoft.com/en-us/dotnet/api/microsoft.data.sqlite.

System.Data even already has a DataView class, and IDataView and DataView are drastically different.

To solve this confusion, we should rename the Microsoft.Data.DataView NuGet package to Microsoft.ML.DataView and move the Microsoft.Data.DataView namespace under Microsoft.ML. The NuGet package will still be separated from the algorithms and transforms in the larger Microsoft.ML NuGet package. So the value of #1860 can still be realized. The separate package will just be branded ML instead of Data.

/cc @TomFinley @shauheen @markusweimer @glebuk

@eerhardt
Copy link
Member Author

With solving this, I think it would be safe to reconcile one more issue: the separation of the base DataViewTypes (like Int32, Single, etc) and the Vector and Key types that happened with #2220. Since all the types are under Microsoft.ML, it doesn't make sense for these types to be separated anymore. We can bring VectorType and KeyType into the same assembly as the base DataViewTypes.

Note: this means that VBuffer would also need to come with, since VectorType has a hard reference to VBuffer.

@markusweimer
Copy link
Member

@shauheen Shall we make this part of Project 13? This seems like the sort of thing we must solve before 1.0.

@shauheen
Copy link
Contributor

Should this proceed as proposed it certainly will be Project 13.

@shauheen shauheen added the API Issues pertaining the friendly API label Mar 15, 2019
@shauheen shauheen added this to the 0319 milestone Mar 15, 2019
eerhardt added a commit to eerhardt/machinelearning that referenced this issue Mar 15, 2019
eerhardt added a commit that referenced this issue Mar 18, 2019
* Move IDataView into Microsoft.ML namespace

Fix #2974

* Fix code analyzer test now that we removed a using line.
@ghost ghost locked as resolved and limited conversation to collaborators Mar 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
API Issues pertaining the friendly API
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants