JuliaIO / MAT.jl

Julia module for reading MATLAB files
MIT License
278 stars 71 forks source link

Package outdated? #87

Closed maximilianpreisinger closed 5 years ago

maximilianpreisinger commented 6 years ago

Considering that the last commit is over half a year ago, there are still some (at least for me) serious issues, AND considering that there is another Julia Package MATLAB.jl which seems better updated and covering exactly the same functionality (reading and writing matlab files + additional functionality): Is it save to say that this MAT.jl package is outdated?

I only don't know if the MATLAB package is able to read the proposed "v5/v6/v7 formats, as well as the newer v7.3 format". So I don't know if the other package will work for older mat files. https://github.com/JuliaInterop/MATLAB.jl

If this should be the case, would it then make sense to remove this MAT.jl package from julia and the JuliaIO Organization, and instead focus the work in only one project? For me it would definitely make sense to join the two projects nevertheless.

simonster commented 6 years ago

If we are fine with requiring that Julia users who want to read MATLAB files purchase a MATLAB license then sure we can deprecate this package. Otherwise it seems like a bad idea.

On Aug 1, 2018, at 7:35 AM, Maximilian Preisinger notifications@github.com wrote:

Considering that the last commit is over half a year ago, there are still some (at least for me) serious issues, AND considering that there is another Julia Package MATLAB.jl which seems better updated and covering exactly the same functionality (reading and writing matlab files + additional functionality): Is it save to say that this MAT.jl package is outdated?

I only don't know if the MATLAB package is able to read the proposed "v5/v6/v7 formats, as well as the newer v7.3 format". So I don't know if the other package will work for older mat files. https://github.com/JuliaInterop/MATLAB.jl

If this should be the case, would it then make sense to remove this MAT.jl package from julia and the JuliaIO Organization, and instead focus the work in only one project? For me it would definitely make sense to join the two projects nevertheless.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

laurentheirendt commented 6 years ago

The COBRA.jl package relies on MAT.jl specifically because users do not need a MATLAB license. We can merge both, but the current functionality implemented in MAT.jl must remain available unchanged.

cc: @syarra

halleysfifthinc commented 6 years ago

What are the outstanding serious issues for you? Even if you aren't able to fix them yourself, a general "there are still some serious issues" doesn't give the maintainers any clues as to what features you need.

I have a PR in to update this to v0.7, and the tests pass, so I wouldn't call this package outdated or obsolete. Besides, comparing MATLAB.jl to MAT.jl is not strictly apples-to-apples. From the description of MATLAB.jl, its purpose includes the functionality of MAT.jl, but that does not mean that MAT.jl has no value on its own. @simonster made a very important point that this package does not require a MATLAB license. (I for one, don't have a MATLAB license, but I do have .mat files that I need to work with)

maximilianpreisinger commented 6 years ago

I am just asking this question, because from my point of view this is a bit confusing at the moment.

So, for reading or writing matlab files with the MATLAB module, do I need a matlab license? Then it would be indeed a problem, if there is no other module which doesn't require a license. But as far as I would understand it, the following lines would read out a matlab file (just like this module is supposed to do). But do I also need a matlab license to execute the following? @simonster using MATLAB

using MATLAB

filename = "file.mat";
mf = MatFile(filename)
vars = variable_names(mf)
my_var = get_variable(mf,vars[1])
close(mf)    

@halleysfifthinc one issue for example is this behaviour: https://github.com/JuliaIO/MAT.jl/issues/80 It is open since March, and there is no response to it. There are still 17 open issues, but the last issue has been closed more than a year ago. This and the fact that I cannot use the package as it is intended (I admit my problem is indeed a corner case), makes me think that package might not be maintained any more.

By the way: I just tried to read in my mat file with the MATLAB package, and it did fail again for my special-type variables :/ I'll open an issue there too.

jebej commented 5 years ago

MAT.jl and MATLAB.jl are totally different and should definitely not be merged. The first simply allows for reading and writing mat files in pure Julia (+HDF5), the other is for calling to the MATLAB engine, which requires a MATLAB installation.

yuyichao commented 5 years ago

This package shouldn't depend on matlab installation as do mat file reader in many other languages. It will certainly NOT be as complete as what MATLAB can do but is planty useful as is. Unsupported types are still bugs though fixing those depend on the state of the document/reverse enginering what MATLAB does.

maximilianpreisinger commented 5 years ago

Nice. Thanks for the explanation and your work!