-
Notifications
You must be signed in to change notification settings - Fork 16
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
Make ModelingToolkit optional - alternative #210
Make ModelingToolkit optional - alternative #210
Conversation
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #210 +/- ##
==========================================
+ Coverage 74.86% 75.00% +0.13%
==========================================
Files 9 10 +1
Lines 541 556 +15
==========================================
+ Hits 405 417 +12
- Misses 136 139 +3 ☔ View full report in Codecov by Sentry. |
Thanks! I'm happy to merge either this or #209 . Which do you prefer? |
I see, they're basically the same but this still tests older versions. This seems like the best option then. |
I'm really not sure there's much point in testing on Julia 1.3 though. |
Just to confirm: This makes it possible to use the package with Julia 1.10? Which version of ModelingToolkit does that use? |
Doing
|
The |
I think ModelingToolkit no longer has Which version of ModelingToolkit is supposed to be used? |
Is the user supposed to manually install a particular version of ModelingToolkit? Is there a way to enforce this? |
Thanks for taking a look. That's a lot of questions - let's see :)
Yes, I guess this one is slightly better.
Exactly, that is the point.
Whatever
Seems so, yes. But you could install the older version 3 and get the same as before. Just not in Julia v1.10.
Yes, exactly, because it does not require ModelingToolkit. I want to be able to use the package in Julia v1.10, which currently is only possible without ModelingToolkit.
Yes, if you want to use it. That is the whole point of making it optional. You are not bound to install it anymore, which is the only way to make the package work with v1.10.
No. Either it is a required dependency (old behavior) or optional without any control on the version. Well, technically one could check for the package version when it is loaded and then print a warning when the version is not desired. I can add such a check if you want. I am also happy to add a note about this somewhere. If desired, where should I put it? So to be explicit about this:
This branch:
I have not checked whether there is a version of ModelingToolkit that still works in v1.10. But I would argue that then it would be better to just support a newer version directly (and actually then one should support Symbolics). |
Thanks for your replies! Let's go ahead and merge this. I'm not sure when I'll be able to take up #204 again so let's at least have as much of the functionality available as possible. Especially since I tried an example and remembered that it's pretty neat ;) |
Many thanks @schillic ! |
Hmm OK now that I merged it I see that the version and compat bounds in Project.toml don't seem right. Are you able to fix those up in a new PR? |
What exactly is wrong? |
The allowed versions of Julia and the other compat entries I think? |
And the new version of this package (though I can fix that). |
After merging, this is Project.toml's content: name = "IntervalConstraintProgramming"
uuid = "138f1668-1576-5ad7-91b9-7425abbf3153"
version = "0.12.4"
[deps]
IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253"
IntervalContractors = "15111844-de3b-5229-b4ba-526f2f385dc9"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
[compat]
IntervalArithmetic = "0.16, 0.17, 0.18, 0.19, 0.20"
IntervalContractors = "0.4"
MacroTools = "0.4, 0.5"
Requires = "0.5, 1"
julia = "1.3" I think this is fine. Julia 1.3 stands for 1.x where x >= 3. IntervalArithmetic v0.21 is not supported, IntervalContractors v0.4 is the latest minor version, MacroTools v0.5 is the latest minor version, and Requires v1 is the latest major version. Yes, please make a new release :) |
I also opened a PR with an update for the README (#211). |
OK great, I started the release process. Many thanks! |
This is an alternative to #209 where the last commit was replaced by two new commits
ModelingToolkit
tests optional instead, as suggested by @lucaferranti.ModelingToolkit
code is still tested.