-
Notifications
You must be signed in to change notification settings - Fork 7
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
Features #1
Comments
Chris Rackauckas 9:27 AM 5 replies Chris Rackauckas 9:27 AM
(edited) 9:28 |
Why make this a separate package instead of a function in DrWatson? |
Why would a single function thing go into DrWatson? This should go into Base Julia or Pkg if anything. |
sure, base julia is even better.
So that it is more discoverable, and very clearly fits what the package aims to do. |
Also, don't really get your argument... "Single function"? DrWatson has many "single functions". Most of it is single functions actually. |
But if you look at https://juliadynamics.github.io/DrWatson.jl/dev/workflow/, it has nothing to do with steps 1, 2, 3, 4, 5, or 6 of DrWatson.jl. The purpose is literally just to make CITATION.bib the standard for citing in Julia, and give you a function so that you can grab the bibtex of all dependencies. You don't need any of DrWatson.jl's (Note I'm not against DrWatson or anything, it's great for cataloging simulation workflow projects, but I just really don't see any connection.) |
It's fine, we just see this differently. Given that the opening sentence says: "DrWatson is a scientific project assistant software. It helps people manage their scientific projects (or any project for that matter)." then I would find it reasonable that the software I use to manage my scientific project and paper code base also provides a way to put the references of said software to my paper. If any, my goal was to only help discoverability. But as I said, I would also prefer to see this in Base rather than anywhere else. |
I was thinking that this package could be a dependency of DrWatson, but I wasn't sure if there are any needs from DrWatson, so that's why I asked. |
Regarding the above discussion about the inclusion of this functionality in Base / Pkg, I don't think that can happen for the following reasons: Inclusion of something like this is out of the question since the functionality heavily depends on Pkg; For the inclusion in Pkg, the issue is that generating the human readable string requires the citations keys and thus a .bib parser (which is done by Bibliography.jl in the package). Regarding the
part mentioned by @ChrisRackauckas, I think that it could be implemented through a 0 dependency package (different form this one, obviously) that would define a Now that #4 is merged, I think that the initial ideas suggested by @ChrisRackauckas are implemented and it would make sense to register the package. If there are no objections to this, I will register the package in the following days and also announce it on Discourse to get more feedback from the community. |
I may have misunderstood something: why do you need a .bib parser library? Initially I thought that you would collect all |
It depends on what features you would like in the end, but @ChrisRackauckas mentioned that it would be nice for the package to give you a sentence that you can just copy-paste. For that, we need the parser to get the cite keys. |
Just tested it: This work was done in \cite[Julia v1.6.1]{Julia-2017} and made use of the following packages: LightGraphs.jl\cite[LightGraphs]{Bromberger17}, VertexSafeGraphs.jl\cite[VertexSafeGraphs]{VertexSafeGraphs.jl}, BenchmarkTools.jl\cite[BenchmarkTools]{BenchmarkTools.jl-2016}, Optim.jl\cite[Optim]{Optim.jl-2018}, MuladdMacro.jl\cite[MuladdMacro]{DifferentialEquations.jl-2017}, LabelledArrays.jl\cite[LabelledArrays]{DifferentialEquations.jl-2017}, Catalyst.jl\cite[Catalyst]{DifferentialEquations.jl-2017}, ExponentialUtilities.jl\cite[ExponentialUtilities]{DifferentialEquations.jl-2017}, DiffEqJump.jl\cite[DiffEqJump]{DifferentialEquations.jl-2017}, OrdinaryDiffEq.jl\cite[OrdinaryDiffEq]{DifferentialEquations.jl-2017}, ModelingToolkit.jl\cite[ModelingToolkit]{ma2021modelingtoolkit,DifferentialEquations.jl-2017}, ArrayInterface.jl\cite[ArrayInterface]{DifferentialEquations.jl-2017}, AbstractAlgebra.jl\cite[AbstractAlgebra]{AbstractAlgebra.jl-2017}, QuadGK.jl\cite[QuadGK]{quadgk}, Zygote.jl\cite[Zygote]{Zygote.jl-2018}, Quadrature.jl\cite[Quadrature]{DifferentialEquations.jl-2017}, RecursiveArrayTools.jl\cite[RecursiveArrayTools]{DifferentialEquations.jl-2017}, DiffEqBase.jl\cite[DiffEqBase]{DifferentialEquations.jl-2017} and FFTW.jl\cite[FFTW]{FFTW.jl-2005}.
That's golden! Thanks a lot @SebastianM-C . I think should get registered and a PSA on the CITATION.bib standard should be sent to Discourse. @ViralBShah anything you'd add? |
I'm reading the source code for the package, and if I understand it correctly, you get the CITATION.bib directly from the local files in the computer of the user, based on the path given by the |
@davibarreira I was thinking of parsing the READMEs of the packages to look for a Zenodo tag and then use HTTP.jl to access the Zenodo API and construct the Bibliography.jl entry (so that it can then easily be |
get_citations(pkg_name)
. Currently to get the citations for only one package you would have to activate its corresponding environment.Can we do better?This is actually a good thing to do since citations can appear on a newer version of a package, so we need to use the exact same version that the user has in the environment.generate_tool_citation
which would generate a human readable string to be copy-pasted in a paper together together with a.bib
file. Done in Tool citation #4DrWatson integration?(cc @Datseris). Mentioned in docsThe text was updated successfully, but these errors were encountered: