-
Notifications
You must be signed in to change notification settings - Fork 22
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
Pja/externalize custom generators #79
Pja/externalize custom generators #79
Conversation
Codecov Report
@@ Coverage Diff @@
## master #79 +/- ##
==========================================
+ Coverage 66.12% 66.20% +0.08%
==========================================
Files 14 14
Lines 2456 2459 +3
==========================================
+ Hits 1624 1628 +4
+ Misses 832 831 -1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, you are deprecating existing functionality, which you don't need.
You show, that is possible, as a replacement, to inject function defined in an own module/package, which is using MatrixDepot
. In order to make that happen, a synchronisation bug of the serialized database was fixed.
TBH, I don't see the advantages of removing the existing functionality.
I would be happy with the deprecation, though, if we could present and document a complete replacement for the extensability. That means, we provide a sample extension package, which contains the function definitions, and which adds those to the MatrixDepot
database with all data, we have with the old solution.
I made a template package to demonstrate what I mean: MatrixDepotTemplate |
…ries, add tests that show coverage
Apologies that this took me so long to get back to, I needed a decent chunk of time to address these changes. To address why this PR is useful, suppose a user wants to generate some matrices defined in a repo on the internet. In the old MatrixDepot, they would have to check out the MatrixDepot project for development In the new MatrixDepot, the user only needs to type e.g. With this PR, the following code works out of the box:
|
In short, this PR empowers users to define custom suites of matrices that can be loaded as packages, maintaining the same MatrixDepot interface. |
I believe that I have implemented all of the requested changes. I'm not sure why github is showing that 1 change is still requested. I also merged master into this branch and updated some of the logging-related tests to be aware of MatrixDepot now using |
The two tests that fail on nightly also fail on master. I'm not sure what's the problem with them, but it's fairly clear to me that they are unrelated to the changes I've made in this PR. I think they have something to do with the |
When I say that those tests fail on master, I mean that MatrixDepot/master is failing on julia nightly with the same errors. I'll file a separate issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That looks good to me, now. The pending issue has been resolved in the meanwhile.
Yep! Merging master into this branch appears to have resolved those tests. This looks ready to me as well. |
@peterahrens , thanks for your very welcome contributions. Release v1.0.6 and newer should be close to your requirements now. |
Re-requesting willow-ahrens#1 directly to MatrixDepot...
This change would deprecate the custom code loading in MatrixDepot. In particular, this makes three key changes:
MYDEPOT
. While MatrixDepot still reads these files, it will issue a deprecation warning if they are not the default files.Note that we cannot remove the code associated with determining the path of MYDEPOT until we move from deprecation to removal at some point in the future.