Site icon R-bloggers

Preparing Rfuzzycoco for publication on CRAN

[This article was first published on kforner, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

I recently released on github a R package Rfuzzycoco that provides the Fuzzy Coco algorithm by wrapping my fuzzycoco C++ implementation and extending it. It provides easy installation and access to this software.

The Comprehensive R Archive Network (CRAN) is R’s main package repository. The quality of CRAN packages is enforced by a very drastic process of submission, that covers the code itself, the dependencies, the size of the package, the portability of file encoding and filenames, the documentation, the description of the package, the code examples etc…

Having a package accepted can be a daunting and very time-consuming task, so that some developers just give up and release their package by other means, for example on github.

It is even much worse for packages with C++ code, because the package has to implement the build process in a portable way, and the package should work on the 3 major platforms: Linux, MacOs and Windows, that use different compilers and implementations of the C++ standard library.

On the other hand, having his package on CRAN is a guarantee of quality and portability. There are also some useful services for the users, as the distribution of binary packages, or Debian/ubuntu APT packages. For developers, when you submit a new version there are automated checks against all reverse dependencies, i.e. all packages using your package, for regression testing.

I will briefly explain how I am preparing for submitting Rfuzzycoco to the CRAN, the ecosystem and tools that I use. Some are very common and straightforward.

The sooner this ecosystem is setup, the better. It for sure involves some work, but you can reuse all this infrastructure for other packages.

And I think one thing that is lacking is a standard R package project that would implement all this kind of tooling in a standardized, optimized and well maintained way. That would lower the barrier to entry to R package development and would dramatically increase the overall quality.

Stay tuned for more on the Rfuzzycoco CRAN journey.

I (Karl Forner) am currently working as a consultant, contact me if you want me to help you on using R, organizing development, developing R packages or more generally supporting your software development efforts.

To leave a comment for the author, please follow the link and comment on their blog: kforner.

R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Exit mobile version