-
Notifications
You must be signed in to change notification settings - Fork 5
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
Can't depend on delphi.epidata
in other packages
#31
Comments
@dajmcdon @dshemetov When we discussed this issue at the meeting today, I suggested it might be related to this, which was fixed by #14 (it was the .Rbuildignore, not the DESCRIPTION). Reading these again, it doesn't seem like it's the case. Could we rename this repo to "cmu-delphi/delphi.epidata.r", or somehow forward from "cmu-delphi/delphi.epidata.r" to "cmu-delphi/delphi-epidata-r"? (I don't think we can rename the R package inside the repository to delphi-epidata-r.) |
@krivard Can I have admin privs on this repo, so I can look into redirection settings? |
Sorry, the above wouldn't work. We'd need to be working off of "cmu-delphi/delphi.epidata", or alternatively, not just rename/forward the repo, but also rename the package inside to "delphi.epidata.r". |
This feels like such a strange issue. Feels like there should be a way to install a package that has a different name from the repo. |
Locally, I don't get an error. So once I uninstall
correctly finds and installs |
Here's the error from the Github action:
|
Hm, these aren't very descriptive error messages. Can't be a permissions thing, since the repo is public. 🤷 |
A few ideas:
|
@nmdefries may have some insight on R behaving differently in a GitHub action vs a local environment |
|
Where do the CI package versions get set? If we can reproduce locally, could be easier to diagnose. |
I haven't been able to reproduce it locally. It seems that |
@dajmcdon can you paste an example failing workflow & associated YML file? |
It's the R-CMD-Check here: https://github.com/cmu-delphi/epipredict/blob/main/.github/workflows/R-CMD-check.yaml The current version of that package passes. However, in the DESCRIPTION, changing
to
fails because the current |
Just an update: I forked this repo to my account and renamed it: Is there a particular reason for this repo name? |
The package is currently named |
I believe we came to the realization that i's generally easier to have one repo per package (not multiple packages in the same repo). The covidcast repo grew huge and unwieldy (three R packages, and one Python package in it). So we made two new repos for the R & Python packages: https://github.com/cmu-delphi/delphi-epidata-r |
(@dajmcdon I tested out the While we are discussing naming, note that Collecting some options:
Seems like approach 1 (Dan&Dmitry's suggestion) is the easiest and somewhat consistent (R repos&packages: no suffix, Python repos: -py suffix, Python packages: no suffix). The only tradeoff is potential decreases in potential-user awareness of the Python versions, which could be ameliorated by providing a link to the Python repo at the top of the R repo README. (The other approaches don't seem bad, but are more work.) [One more tradeoff: near-clobbering of the |
I like approach 1 as well. I would note that this is only an issue for packages that depend on So if we love the repo name, and foresee it going to CRAN soon, maybe we just leave it as is. |
Since proposing the above ideas, we noticed that |
New slate of options keeping R and Python packages separate:
Key:
We should probably choose among the options marked 🟦. Any other opinions or better ideas? If not, I'll proceed, say, Tuesday, with implementing option F, and file an issue in the Python repo to finish off transitioning to E or G. Some naming criteria/metrics to consider
|
Wow this is an extremely thorough analysis! I haven't really been following but somehow I saw this pop up in my email just now. Throwing out a suggestion not considered above (maybe you've already discussed it): Change cmu-dephi/delphi-epidata to cmu-delphi/epidata. In my opinion, cmu-delphi/epidata is in fact a better name for that repo and I'm not sure why it was called cmu-dephi/delphi-epidata in the first place (maybe the repo delphi-epidata existed before we made the cmu-delphi org? I can't remember). It wouldn't be hard to do a redirect from cmu-delphi/delphi-epidata to cmu-delphi/epidata as well, so that the old links still work. I renamed the epiprocess package (used to be called epitools) through GitHub and it was very easy. Is there anything undesirable about this (the fact that so many users starred the delphi-epidata repo)?? Anyway, if we do that then it frees up confusion. And we could use something like row E but without the delphi. So epidata.r for the R package name and epidata-py for the Python package name. Then everything's simpler: epidata (repo for the actual API code), epidata.r (repo for the R package), epidata-py (repo for the Python package). |
Thanks, added (part of that) to the table above, option M!
|
Thinking again, another point of concern renaming The |
My 1-cent:
|
Katie's notes + some comments from Zoom discussion (didn't have option N at this time):
|
Update:
|
Confirmed! |
[R package rename is] complete[, and Python package rename is ready!] |
For another R package to depend on
delphi.epidata
, it needs two things:delphi.epidata
in the DESCRIPTION (Imports/Suggests/etc)cmu-delphi/delphi-epidata-r@dev
(the repo name and the branch).However, because the repo name differs from the package name, the installation routine will fail. This is an issue in the
{remotes}
package that performs the installation: r-lib/remotes#676.Locally, one can first install
delphi.epidata
manually to avoid this, but any CI on Github will fail.The text was updated successfully, but these errors were encountered: