8000 CRAN release? · Issue #439 · catboost/catboost · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

CRAN release? #439

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

Open
cdeterman opened this issue Aug 10, 2018 · 41 comments
Open

CRAN release? #439

cdeterman opened this issue Aug 10, 2018 · 41 comments
Labels
Milestone

Comments

@cdeterman
Copy link

Problem: {No CRAN released version}

Is there a particular reason that there is no version of catboost released to the CRAN ecosystem for R?

@annaveronika
Copy link
Contributor

It would be great to make a CRAN release, but we need help with that.

@cdeterman
Copy link
Author

@annaveronika what help do you need? I maintain multiple R packages and have helped others publish their packages. I would be happy to be of assistance.

@annaveronika
Copy link
Contributor

https://tech.yandex.com/catboost/doc/dg/concepts/installation-docpage/ - here is the instruction, how to install the package.

We either provide the binaries or it is also possible to build from source, but we had many problems of people trying to build from source on windows, so the easiest way to install is to get the binaries.

We normally build using our own build system. But we also provide makefiles for python and cmdline.
https://github.com/catboost/catboost/tree/master/make

I don't think we can upload the binary of the R package to CRAN.

Plus you need to have in mind that we are going to add GPU support to the package.

Given all this, what are the requirements and the first steps for catboost?

@cdeterman
Copy link
Author

Ideally we want to get the windows builds to work. You are correct that binaries aren't allowed for submission to CRAN. Strictly speaking Windows support isn't required but obviously something we should try to sort out. Are there any dependencies that aren't normally installed on Windows or is the package self contained? I tried installing it on my own Windows machine and ran in to a list of problems (truncated for space).

Info: Attention! Using system user-defined compiler: None (check CC and CXX env vars).
Warn[-WNoInput]: in $S/contrib/libs/openssl/ya.make: macro for $S/contrib/libs/openssl/asm/windows/aes-x86_64.masm didn't use it as input
...
Error[-WNoOutput]: in $S/contrib/libs/openssl/ya.make: macro 9010:SRCSmasm=(x86_64cpuid.masm) resulted in no outputs, can't add to graph
...
Configure error (use -k to proceed)
make: *** [all] Error 1
Warning: running command 'make --no-print-directory -f "Makefile.win"' had status 2
ERROR: compilation failed for package 'catboost'

Is there something unique about your build system?

Does the package 'always' build successfully on Linux/OSX systems? I don't see anything with respect to a continuous integration system that could be of use for this (e.g. Travis CI).

Regarding GPU support, that shouldn't be problem. I am very familiar with this as I am the author of the gpuR package. There are a few moving parts but it ultimately shouldn't be a major problem.

@annaveronika
Copy link
Contributor

@cdeterman Sorry for a delay in response. We'll come back to you with more details later.

@timchurches
Copy link
timchurches commented Oct 3, 2018

Not sure how feasible this would be, but it would be great if CatBoost could also be made to work with the ViennaCL library that @cdeterman uses in his gpuR package, mainly because that would mean it could make use of the AMD GPUs built into many Macbook Pros (and iMacs), which support double-precision maths (unlike the Intel Iris GPUs that lower-end Macbooks use).

@jameslamb
Copy link
Contributor

@annaveronika are you open to creating a GitHub milestone enumerating what needs to be done to get to CRAN?

I found working on LightGBM and other projects that just listing out the work (however much there is) makes it more friendly for outside contributors to help feel that they're moving the project forward.

I would be willing to help contribute getting past some of the more esoteric CRAN stuff.

@annaveronika
Copy link
Contributor

#715 - here is a pr that is preparation for CRAN.
@ws171913 is working on adding CatBoost to CRAN, please look on the PR and comment if you have any questions.

@jameslamb
Copy link
Contributor

Awesome thanks!

@Avichi
Copy link
Avichi commented Nov 12, 2019

Folks I was able to install CatBoost using the GitHub cloning on local PC on Windows 10 64x, and then pointing the command to install it from the folder (Make sure the folder has access to the folders "permission wise"). The GPU is working on Windows 10 and am testing the catBoost parameters on GPU. It works great on Windows 10 R 3.6.1 on R-Studio IDE Thank you @annaveronika

@Steviey
Copy link
Steviey commented Feb 25, 2020

+1

@Athospd Athospd mentioned this issue Apr 23, 2020
9 tasks
@lorenzwalthert
Copy link
lorenzwalthert commented Jun 16, 2020

May I ask why the in progress label was removed? It would be great to see this package on CRAN. I also see #715. A lot of people only use packages that are distributed via CRAN. CRAN is the primary distribution channel for R packages. Thanks for this package.

@t-wojciech
Copy link

Indeed, publishing the package on CRAN would be great news. I look forward to it!

@maksymiuks
Copy link

Would be great to see this package on CRAN. Especially because other packages that may want to import or cooperate with Yours cannot do it since it's impossible to put catboost in a valid DESCIRPTION file of other CRAN package.

@david-cortes
Copy link
Contributor

@jameslamb : another potential obstacle for getting accepted at CRAN, and which would be good to solve anyway, is that the documentations of the package's functions do not describe the return values.

@jameslamb
Copy link
Contributor

I know how to do that! It's something I could help with 😀

@kizill
Copy link
Member
kizill commented Jan 19, 2021

I know how to do that! It's something I could help with 😀

Sounds really great! If you'll need some help - feel free to contact me here or via Telegram @kizill.

@david-cortes
Copy link
Contributor

@kizill : Something very helpful for anyone working on potential CRAN obstacles would be to provide some build system that would allow compiling it from source within R. Right now if I try to install the R package from a locally-downloaded repository it will download the precompiled library instead of building it.

Would like to point out the obvious too:

  • R packages expect the files that need compilation to be under a folder called /src in the R package's folder. Would be nice to provide a script that would copy the files there from the repository's root. From a look at the directory tree I couldn't figure out which files need to be compiled to have a working library, which are optional, and which are not R-related.
  • CRAN uses the GNU make system. It expects a Makevars file, which is similar to but not the same as the standard makefiles used by catboost. Makevars can also be auto-generated through a configure script. The configure script should also be in the R package directory root.
  • Messages printed to stdout and stderr need to use R's own IO functions. This can be as easy as #define'ing printf -> Rprintf (or cout -> Rcout if using Rcpp and C++ streams).
  • Some of the examples and tests are currently failing.

@jrosell
Copy link
jrosell commented Feb 22, 2022

Any updates on this?

@larry77
< 8000 div class="ml-n3 timeline-comment unminimized-comment comment previewable-edit js-task-list-container js-comment timeline-comment--caret" data-body-version="d42d65e73d15b962645d51b3be332293400863d2d960614f946462c8fb181d6b">
Copy link
larry77 commented Jun 21, 2022

Hello, I would like to say that having catboost on CRAN is not only for convenience (I can install it anyway) but also to allow it to be supported by caret and tidymodels, which are the leading frameworks in R for tuning and evaluating ML tools. I can elaborate more on that if needed, but not having catboost on CRAN limits its adoption by the R community even if it can be installed anyway.

@jameslamb
Copy link
Contributor
jameslamb commented Jul 15, 2022

A new project, {bonsai}, was recently released with support from RStudio.

Since it might be help maintainers to understand the impact of the R package not being on CRAN.

https://www.tidyverse.org/blog/2022/06/bonsai-0-1-0/#other-notes

Unfortunately, the catboost R package is not on CRAN, so we’re not able to add support for the package for now.

@joeycouse
Copy link

Would love to see Catboost on CRAN! If Catboost was on CRAN it would be much more feasible for other developers to use it in other packages and provide integration with the tidymodels framework.

@md416
Copy link
md416 commented Aug 22, 2022

PLEASE release that to CRAN

@Sinansi
Copy link
Sinansi commented Sep 29, 2023

Any update on this issue? Is CatBoost going to be on CRAN?

@andrey-khropov
Copy link
Member

Any update on this issue? Is CatBoost going to be on CRAN?

https://github.com/catboost/catboost/milestone/2. Switching CatBoost to CMake-based build in release 1.2 paved the way to CRAN release, but there is still more work to do. If you can contribute you might speed up the process.

@larry77
Copy link
larry77 commented Nov 14, 2023

Any news about the catboost release on CRAN? I see interest from different machine learning frameworks on R (tidymodels and mlr3).

@andrey-khropov
Copy link
Member

Any news about the catboost release on CRAN? I see interest from different machine learning frameworks on R (tidymodels and mlr3).

I expect CatBoost 1.3 that should be on CRAN in two to three months.

@jrosell
Copy link
jrosell commented Jan 28, 2024

Any news on that?

@andrey-khropov
Copy link
Member

Any news on that?

work in progress

@david-cortes
Copy link
Contributor

Couple requirements from CRAN to point out just in case:

  • Examples and tests should not create nor delete any files in the current working directory or in some user directory. For files that are created during examples, one should use the designated temporary directory, which can be retrieved through tempdir().
  • Examples and tests should not use more than 2 parallel threads.
  • All bundled dependencies should be credited if their license requires it. So for example, copyright notices from MIT/BSD licenses should be placed under a file inst/COPYRIGHTS. You might also want to add copyright holders of those dependencies in the DESCRIPTION file.

@davidkane9
Copy link

Adding another voice to those who would like to see catboost on CRAN. I would love to use catboost for my introductory data science course, but I am hesitant about having beginners (try to) install non-CRAN packages.

@jrosell
Copy link
jrosell commented Mar 8, 2024

Adding another voice to those who would like to see catboost on CRAN. I would love to use catboost for my introductory data science course, but I am hesitant about having beginners (try to) install non-CRAN packages.

For this purpose, you may want to use a Kaggle notebook at the moment. There are some runable R examples using Catboost out there.

@ekianjo
Copy link
ekianjo commented Mar 10, 2024

Any news on that?

work in progress

Do you have any new ETA at the moment?

@andrey-khropov
Copy link
Member

Any news on that?

work in progress

Do you have any new ETA at the moment?

We’ve had multiple issues delaying release 1.3. I expect it to be released at the end of April. Sorry for the wait.

@larry77
Copy link
larry77 commented May 25, 2024

Any news about this?

@andrey-khropov
Copy link
Member

Any news about this?

We are still working on it.

@larry77
Copy link
larry77 commented Jun 26, 2024

Any news?

@stchakwdev
Copy link

Still nothing?

@larry77
Copy link
larry77 commented Jan 13, 2025

Hellooooo!

@Sinansi
Copy link
Sinansi commented May 13, 2025

Any updates on this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

0