-
-
Notifications
You must be signed in to change notification settings - Fork 105
Submission: {cffr} Generate Citation File Format ('cff') Metadata for R Packages #463
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
Comments
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type |
Error (500). The editorcheck service is currently unavailable |
Checks for cffr (v0.0.1.9001)git hash: cc7c87d1
Package License: GPL (>= 3) 1. Statistical PropertiesThis package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing. Details of statistical properties (click to open)
The package has:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The final measure (
1a. Network visualisationInteractive network visualisation of calls between objects in package can be viewed by clicking here 2.
|
name | conclusion | sha | date |
---|---|---|---|
lint | success | cc7c87 | 2021-09-16 |
pkgdown-gh-pages | success | cc7c87 | 2021-09-16 |
R-CMD-check | success | cc7c87 | 2021-09-16 |
Test on GHA | success | cc7c87 | 2021-09-16 |
test-coverage | success | cc7c87 | 2021-09-16 |
3b. goodpractice
results
R CMD check
with rcmdcheck
rcmdcheck found no errors, warnings, or notes
Test coverage with covr
Package coverage: 99.04
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
cff_create | 15 |
clean_str | 15 |
Static code analyses with lintr
lintr found the following 13 potential issues:
message | number of times |
---|---|
Lines should not be more than 80 characters. | 13 |
Package Versions
package | version |
---|---|
pkgstats | 0.0.0.309 |
pkgcheck | 0.0.1.428 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
Thanks, @dieghernan! @emilyriederer will be your editor. FYI, our check-bot failed because the |
My bad, thank you! |
Hi @dieghernan - so nice to meet you and thank you for submitting this great package! I did not notice any causes for concern on my first review, and the only enhancement found by the testing suite is perhaps splitting up a few of the long lines of code found by I think we are ready to move to the next stage, so I will begin to look for reviewers. We will be in touch soon! In the meantime on your end, could you please add the rOpenSci badge to your repo? You can use the helper function (P.S. Love the hex sticker design 😍 ) Editor checks:
Editor comments
Reviewers: |
Thanks @emilyriederer , nice to meet you as well. I did my best trying to remove long lines of code, most of them were links to long urls, but I managed to get no lint warning on that, see: https://github.com/dieghernan/cffr/actions/runs/1244840358 I also added the badge to the README, thanks for the (PS: I was looking for images of neural networks and I found that fantastic .png 😄 ) |
@ropensci-review-bot check package |
I'm sorry @dieghernan, I'm afraid I can't do that. That's something only editors are allowed to do. |
@ropensci-review-bot check package |
Thanks, about to send the query. |
🚀 Editor check started 👋 |
Checks for cffr (v0.0.1.9001)git hash: f8060a2e
Package License: GPL (>= 3) 1. Statistical PropertiesThis package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing. Details of statistical properties (click to open)
The package has:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The final measure (
1a. Network visualisationInteractive network visualisation of calls between objects in package can be viewed by clicking here 2.
|
name | conclusion | sha | date |
---|---|---|---|
.github/workflows/test-ci.yaml | failure | 440d20 | 2021-09-17 |
lint | failure | f8060a | 2021-09-17 |
pkgdown-gh-pages | failure | f8060a | 2021-09-17 |
R-CMD-check | success | f8060a | 2021-09-17 |
Test on GHA | f8060a | 2021-09-17 | |
test-coverage | failure | f8060a | 2021-09-17 |
3b. goodpractice
results
R CMD check
with rcmdcheck
rcmdcheck found no errors, warnings, or notes
Test coverage with covr
Package coverage: 98.89
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
cff_create | 15 |
clean_str | 15 |
Static code analyses with lintr
lintr found the following 13 potential issues:
message | number of times |
---|---|
Lines should not be more than 80 characters. | 13 |
✔️ Package has at least one HTML vignette
Package Versions
package | version |
---|---|
pkgstats | 0.0.0.311 |
pkgcheck | 0.0.1.484 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
Thanks, @dieghernan ! One other metric I just wanted to call out is the high cyclocomplexity scores for If you aren't familiar with this score (I wasn't until this review!), the R package's README gives some good examples. In short, it measure how many different distinct paths your code might go through when evaluation (based on things like I want to say upfront, I am comfortable with your code as-is and think these functions are very reasonable. For your functions, all of the blocks seem necessary and so concise that more internal functions might actually decrease the readability of the code. That said, I thought I'd also highlight that part of the review for your judgement. Still working on the reviewers but hope to have some news soon! |
Thanks @emilyriederer, I would have a look on that. I still don’t fully understand the high score on I would like to highlight that I have implemented a strategy with Latest results here: I have used this for detecting corner cases, but probably this have added also complexity on the functions. The tests are OK now, and in the packages that the validation is failing are due to errors on the raw files of the packages tested (i.e. malformed urls and DOI/ORCID on old packages, that won’t be compliant with the current CRAN policies). Thanks for your hard work. May I suggest for review any of the authors of {codemeta} or {handlr} (both in rOpenSci)? The scope of these packages are closely related with {cffr} and it will be interesting to have their feedback. |
Hi @emilyriederer , I have introduced some changes and removing some unneeded chunks (ropensci/cffr@1aeb186) Now running Details
|
@ropensci-review-bot add @sckott to reviewers |
@sckott added to the reviewers list. Review due date is 2021-10-19. Thanks @sckott for accepting to review! Please refer to our reviewer guide. |
Hi @sckott , nice to meet you. I just wanted to say hello and let you know that some days ago I added a new vignette "Crosswalk" that provides tecnical details and examples on how {cffr} extracts the metadata. I think this may be useful: https://dieghernan.github.io/cffr/articles/crosswalk.html Regards |
@ropensci-review-bot add @zambujo to reviewers |
@zambujo added to the reviewers list. Review due date is 2021-10-20. Thanks @zambujo for accepting to review! Please refer to our reviewer guide. |
Hi see here my comments on your feedback:@zambujoShould-have issues
Done, now is in the root dir of the package: https://github.com/dieghernan/cffr
Done, although this was purelly internal, I renamed to
Renamed to
Removed, see ropensci/cffr@41891df#diff-29652df7edd2dd5fb8d61a890494b71c3b1fbfc6324423d345d9441f254fd6ab Would have issues
Thanks for raise this, in fact I reviewed the CFF specification and added even more: ropensci/cffr@f357575#diff-a49a797e82cb8d4bb9dae1e29fcb4bc2e6ba5216cbe790ba38b6ef2095586a9c. I also added tests: ropensci/cffr@f357575#diff-563c01c983fd081a369a31d2eacad752d51b3861d8c8174ce475880ff807ac08
Same that before and same links (changed and tests added, thanks)
Now it is displayed, see https://dieghernan.github.io/cffr/reference/cffr-package.html, although this was due to how
Done https://dieghernan.github.io/cffr/reference/cff_validate.html
Done https://dieghernan.github.io/cffr/reference/cff_write.html
It has been removed
Now it is accessible, see https://dieghernan.github.io/cffr/reference/cran_to_spdx.html |
@sckott
Added, I just identified as potential alternative CodeMeta (any help is appreciated):https://github.com/dieghernan/cffr/#related-projects. I also updated the README
See comment for @zambujo
I have reduced the amount of messages, see log: https://github.com/dieghernan/cffr/runs/4036820340?check_suite_focus=true
I have added the
Fixed, see https://dieghernan.github.io/cffr/reference/cff.html#value
See now https://dieghernan.github.io/cffr/reference/cff.html#arguments
I added a fuzzy matching algorithm: https://github.com/dieghernan/cffr/blob/62f69116d495130fae22334df16af32270255590/R/utils.R#L110-L157 And also additional tests: https://github.com/dieghernan/cffr/blob/62f69116d495130fae22334df16af32270255590/tests/testthat/test-cff.R#L88-L113 and the snapshot https://github.com/dieghernan/cffr/blob/main/tests/testthat/_snaps/cff.md#fuzzy-matching-of-keys-on-cff |
Hi @emilyriederer: @dieghernan thoroughly addressed all of my comments and suggestions. Great job! |
✅ @dieghernan has addressed my comments, nice work 🚀 |
Approved! Congratulations, @dieghernan, for the great work, and thanks to @zambujo and @sckott for your thoughtful reviews! 🎉 To-dos:
Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them Welcome aboard! We'd love to host a post about your package - either a short introduction to it with an example for a technical audience or a longer post with some narrative about its development or something you learned, and an example of its use for a broader readership. If you are interested, consult the blog guide, and tag @stefaniebutland in your reply. She will get in touch about timing and can answer any questions. We've put together an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved, the corresponding repo is here. |
@dieghernan , I know I shared a lot in the message above, so I wanted to highlight one more specific item for your consideration. I think this package could be of very high interest to the rOpenSci community since it would apply generally across all domains. If you'd be interested in thinking about how this package could be highlighted in an rOpenSci blog post or tech note, it might be worth having a discussion with @ropensci/blog-editors I think it could be great to highlight how this package is similar in spirit to well-known tools like |
Hi @emilyriederer, thanks! I am not able to transfer the repo, could you please double check? I’ll answer the rest of the comment on a later stage |
Hi @dieghernan - my apologies. You should have now received an invitation to join a team within the |
Repo transferred @emilyriederer! Also ping @noamross |
Admin access granted! |
Hi @dieghernan, I'm rOpenSci's Community Manager. Congratulations on cffr passing review! Yes a post noted by Emily would be really valuable. Narrative and technical guidelines are in https://blogguide.ropensci.org/. If you're interested, please suggest when you would like to submit a draft. I recognize this is extra work, so no pressure intended here :-) My colleague @steffilazerte would review it and suggest a publication date. |
Hi @stefaniebutland, @steffilazerte I’ll have a look and let you know a feasible date for the blog post. I was also thinking on submitting the package to CRAN, and I wonder if submitting it before or after you publish the post. The package is almost ready for it. What are your views on this? Regards |
I can't think of a specific reason to choose publishing before or after CRAN (Steffi how about you?). It's up to you. We could have your post in a pull request, reviewed and ready to publish once on CRAN if you prefer that. |
I think it's up to you as well. I can't imagine that CRAN would have you change anything major that would affect the user experience, and we generally have you link to the ropensci docs page (not to the CRAN page), so it shouldn't matter in the blog post. |
Hi @steffilazerte @emilyriederer I think I could send a draft post by the end of the next week. So assuming at least one week for reviewing and that the posts are usually published on Tuesday (as per the Blog Guide the first feasible publishing date would be Nov. 23 2021. Let me know what you think, Regards P.S: the package has been submitted to CRAN for review 🤞🏻 |
Just fyi, @maelle & others wrote this post in Feb 2021: Make Your R Package Easier to Cite. So you know what rOpenSci has said on the topic before. Steffi and I agreed Nov 23 is a good tentative publication date. |
And it is on CRAN! https://cran.r-project.org/package=cffr |
Congratulations, @dieghernan ! That's fantastic news! |
Submitting Author Name: Diego Hernangómez
Due date for @sckott: 2021-10-19Submitting Author Github Handle: @dieghernan
Repository: https://github.com/dieghernan/cffr
Version submitted: 0.0.1.9001
Submission type: Standard
Editor: @emilyriederer
Reviewers: @sckott, @zambujo
Due date for @zambujo: 2021-10-20
Archive: TBD
Version accepted: TBD
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
The package extract metadata from DESCRIPTION and CITATION and generates a CITATION.cff file.
CITATION.cff files are plain text files with human- and machine-readable citation information for software (and datasets).
Any R package developer. A CITATION.cff file provides clarity when citating R packages. GitHub, Zenodo and Zotero supports this format.
{citation}: The development version (at the time of this writing) includes a new function
r2cff
that creates a minimalCITATION.cff
file (v1.1.0) using the information of yourDESCRIPTION
file. It also provide minimal validity checks.{handlr}: Tool for converting among citation formats, including
*.cff
files. At the time ofthis writing only CFF v1.1.0 was supported (see #24).
{cffr} performs an extensive extraction of DESCRIPTION and CITATION, as well as validation via {jsonvalidate} against the
official schema.json. None of the packages mentioned before supports CFF v1.2.0, that is the latest released version.
It also provides parsers for
person
andcitation/bibentry
classes.N/A
#462 @noamross
Technical checks
Confirm each of the following by checking the box.
This package:
Publication options
Do you intend for this package to go on CRAN?
Do you intend for this package to go on Bioconductor?
Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
MEE Options
Code of conduct
The text was updated successfully, but these errors were encountered: