-
-
Notifications
You must be signed in to change notification settings - Fork 104
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
stantargets: reproducible Stan pipelines at scale #430
Comments
Editor checks:
Editor commentsThank you for submitting it! I'll be your handling editor this time.
There are no spelling checks, and I will be searching for reviewers then. Reviewers: @sakrejda @mattwarkentin |
Thanks, @melvidoni! Looking forward to the review process. Please let me know if you would like me to suggest potential reviewers. |
Quick update. I have contacted about 15 people, and received no acceptance to review. Please bear with me while I find someone. And yes, I have your master list of suggestions. |
Thanks for the update, @melvidoni. I do understand this may take some time.
Do you mean the folks I mentioned at #401 (comment) for |
Hello @wlandau. Yes, that list. We curated it with some editors, and also have our own list of people. However, given the current world circumstances, I am afraid that finding reviewers may take longer than expected. |
Oh good, glad we are on the same page. Sorry, I may have misremembered the earlier parts of this thread.
I completely understand. For what it's worth, dependency packages |
Perhaps Krzysztof Sakrejda would be available? |
Hello @sakrejda are you interested? |
Hi Melina, I am interested and the three-week time frame is reasonable for me. I'm not the right person to say much about whether the package aligns well with how |
Hello @sakrejda thank you kindly! @mattwarkentin will also be reviewing this package. Please remember to follow the guidelines for the review: https://devguide.ropensci.org/reviewerguide.html The review deadline will be Wednesday 31st. |
Thanks for the mention, but I just did a targets/tarchetypes review so a fresher set of eyes would be better. Please do consider me for brmstargets 😉 though. |
@wlandau to make my life easier reviewing, is there a particular overall approach to the API, which functions you are exposing to users and which ones are considered "internal"? I don't immediately recognize the structure. To be more specific, in the stan compilation functions there are quite a few layers of functions before you actually get down to calling the stan compilation function and it would be helpful to have an idea of why each layer is there. Just to be clear, I don't disagree and I sometimes take a similar approach, but I'm not sure what the goals are there. I assume this is something that happens consistently across the package. Can you reply here pointing out the reasons for the different layers? |
Most
(1) is the only layer the user needs to see. (4) still needs to be exported because functions like |
When running |
Good point. |
That's a great solution, also thanks for the prompt replies! |
Great. Should be fixed now. |
Aside that's really for the base
From the error it's unclear that the answer is |
In the |
The
Also I wasn't sure exactly how |
Thanks, just updated the README to use
I try to address these points early in the first vignette. I would prefer to keep the README at a high level in order to keep it digestible for new users and to avoid repeating documentation. |
There's no way to pass additional arguments here: /~https://github.com/wlandau/stantargets/blob/522a94c3b0941aba10d49bfc756b2a6def1a5577/R/tar_stan_compile.R#L155 That means the |
I guess that's just a maintenance issue that will come up repeatedly with the way that arguments are currently structured (explicitly passed down and enumerated at each level). In some ways it's helpful, but it also means a user can end up stuck. What do you think about this issue? Is it an explicit tradeoff you're making? |
Thanks again for reviewing, @mattwarkentin! The spelling mistake is fixed in ropensci/stantargets@296fcac. |
Hello @wlandau. I see you've made great work addressing all comments. I see that @mattwarkentin has approved the package, what about @sakrejda? What do you think? |
@melvidoni thanks for the reminder, I wasn't sure how to signal approval, is there something specific? @wlandau addressed all of my comments more than adequately. |
Approved! Thanks @wlandau for submitting and @mattwarkentin @sakrejda for your reviews! To-dos for @wlandau:
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. |
Wonderful, @melvidoni! Thank you for serving as editor, and thanks again @mattwarkentin and @sakrejda for reviewing! I will work on these to-dos. |
@melvidoni, I believe I have implemented most of the items you identified. If you would add me as an admin of /~https://github.com/ropensci/stantargets, I can deactivate the current GitHub Pages setup and migrate to https://docs.ropensci.org. |
Done, please check now! |
Thanks, @melvidoni. I deactivated GitHub Pages and removed the |
Hello, apologies for the delay in coming back to you. There was a wrong GitHub token somewhere so things were stalled. I spoke with the Editors and believe the website should appear today or tomorrow. |
See: https://dev.ropensci.org/job/stantargets/1/console The docs didn't appear because the fails with:
Is this something we should install on the docs server? Or maybe you could do something like this in the vignette: if(identical(Sys.getenv("IN_PKGDOWN"), "true")){
cmdstandr::install_cmdstan()
} |
Thanks, that explains it. I will try the More generally, do package developers have control over custom system dependencies in ropensci.org builds like we do in GHA? Not sure how I feel about a system-wide CmdStan installation (it is developing rapidly) and the |
Looks to have worked. The website is up now. @melvidoni, have I missed anything? |
The image that we use for building the docs has all the same system dependencies pre-installed as on the CRAN servers. So if your package is intended to work on CRAN, it should also work on our build servers. You could also move this line to your package |
That's reasonable.
I will consider it. So far, I have been trying to follow what |
Probably similarly to how RStudio handles (or handled) it's tensorflow package. I haven't checked recently so maybe they've changed it, but it used to be that no tests involving tensorflow were run on CRAN, which is what we'd have to do with CmdStan since CRAN won't have a CmdStan installation. Is that what you were referring to? |
Yeah, and I also noticed Actually, I just remembered that if (identical(Sys.getenv("NOT_CRAN", unset = "false"), "false")) {
knitr::opts_chunk$set(eval = FALSE)
} |
Yeah we also have some logic in the vignettes to prevent them from running on CRAN. We've used similar logic with no issues before in packages already on CRAN like rstanarm and brms where the vignettes could in theory be run on CRAN but take too long. |
Hello @wlandau it looks good! Great work! @stefaniebutland we can maybe make a blogpost about this package? |
absolutely. blog post or tech note according to Will's preference 🙂 |
Thanks for inviting me to write again! It may take time for me to free up enough bandwidth, but I am interested. |
A couple updates:
|
On reflection, I think it might be nice to broaden the tech note (or blog post) to Bayesian data analysis pipelines in general and also include |
blog post! |
Submitting Author: Will Landau (@wlandau)
Due date for @sakrejda: 2021-03-31Repository: /~https://github.com/wlandau/stantargets
Version submitted: 0.0.0.9000
Editor: @melvidoni
Reviewers: @sakrejda @mattwarkentin
Due date for @mattwarkentin: 2021-03-31
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):
stantargets
is very similar tojagstargets
(#425).stantargets
leverages the existing workflow automation capabilities oftargets
to orchestrate computation and skip up-to-date tasks in Bayesian data analysis pipelines.stantargets
reduces the burden of user-side custom code thattargets
would otherwise require, which helps free statisticians to focus more on the models and less on the software engineering.stantargets
is for Bayesian statisticians who develop and run Stan models. Example workflows range from individual analyses of clinical data to large-scale simulation-based calibration studies for validation.targets
already provides the same kind of workflow automation, but it requires more custom code to set up a workflow.stantargets
uses specialized domain knowledge to make this process easier. Packagesrstan
andcmdstanr
interface with Stan but do not provide the same kind of workflow automation. In light of the recent preprint by Gelman et al. (2020), I believe the Stan Development Team would be very interested in this kind of workflow automation.N/A
N/A
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:
If JOSS is still an option, I would like to publish there. I have prepared a manuscript at /~https://github.com/wlandau/stantargets/blob/main/inst/paper.md.
MEE Options
Code of conduct
The text was updated successfully, but these errors were encountered: