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

Release and register as Julia package? #11

Closed
6 tasks done
mtanneau opened this issue Jan 29, 2020 · 6 comments
Closed
6 tasks done

Release and register as Julia package? #11

mtanneau opened this issue Jan 29, 2020 · 6 comments

Comments

@mtanneau
Copy link
Collaborator

mtanneau commented Jan 29, 2020

Several Julia packages need to read MPS files, so having a stand-alone Julia reader for MPS files would avoid duplicating code.
For instance:

  • MathOptInterface.jl has an MPS reader/writer
  • Tulip.jl has its own MPS reader (that handles free MPS format)
  • SDDP.jl needs to parse MPS files when reading stochastic mps problem (I'm currently writing a parser for smps files and I'd like to avoid re-writing an MPS reader for the 3rd time)

Couple of questions:

  • Would there be license restrictions when using QPSReader within another Julia package? (e.g., is it OK to use QPSReader within an MIT-licensed package?)
  • For various reasons (especially in Tulip), I need constraint/objective matrices in COO format, not SparseCSC, so I would very much like to remove the COO -> SparseCSC conversion after parsing
  • Performance is not (yet) an issue, but the reader in Tulip is ~2-3x faster than QPSReader

(obviously, I can PR all this, just want the go-ahead before spending time on it)

TODO

@dpo
Copy link
Member

dpo commented Jan 29, 2020

Yes, it would be useful to register this package. I'm not sure if other packages out there also read QPS.

Would there be license restrictions when using QPSReader within another Julia package? (e.g., is it OK to use QPSReader within an MIT-licensed package?)

Question 13 here says that you can combine MPL and BSD. I'm not sure about MIT. Question 14 suggests you can also combine with (L)GPL work.

For various reasons (especially in Tulip), I need constraint/objective matrices in COO format, not SparseCSC, so I would very much like to remove the COO -> SparseCSC conversion after parsing

That would be a great addition!

Performance is not (yet) an issue, but the reader in Tulip is ~2-3x faster than QPSReader

I admit I haven't profiled this package. I'm sure it can be improved. A pull request with benchmarks would be very welcome!

Thanks!

@odow
Copy link

odow commented Jan 29, 2020

is it OK to use QPSReader within an MIT-licensed package

You can pull it in as a dependency that the user (or the Julia package manager) is responsible for installing. What you can't do is copy QPSReader verbatim, shove it into your repository, and then relicense under MIT.

Essentially, with Julia the MIT only relates to the files that you are writing.

@mtanneau
Copy link
Collaborator Author

mtanneau commented Apr 2, 2020

Can we tag and register the package once #21 is merged?
This is the last item I need to use it in Tulip.jl

@dpo
Copy link
Member

dpo commented Apr 2, 2020

Want to submit a PR with a version number in Project.toml?

@mtanneau
Copy link
Collaborator Author

mtanneau commented Apr 2, 2020

Closed by #22

@mtanneau mtanneau closed this as completed Apr 2, 2020
@dpo
Copy link
Member

dpo commented Apr 2, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants