Crane

What is Crane?

Crane is a webserver with advanced Authentication and Authorization (using OpenID Connect) for hosting data science artifacts, documentation and much more!

Hosting R and Python package repositories

Crane can be used to serve R and Python package repositories, both within a company network or publicly accessible. Because of the advanced access control, every repository can only be accessed by users with the correct permissions. The native R and Python clients guarantees easy installation of packages, such that security isn’t a burden for users.

Demo
Installation of an R package from a (protected) repo hosted by Crane.

Data science storage

As a data science storage solution, Crane stores all your data and only allows access by authorized users. The data can be accessed using the web UI or HTTP API, allowing users to directly browse and download the data. In addition, the data can be accessed by data science application as well. For example, in order to store the underlying data for a Shiny application. Usually, the Shiny app has direct access to all the data (for that specific app). However, sometimes different users can only access certain datasets, in this case, the Shiny app can use the identity of the user to download the data from Crane. This ensures that authorization to the data is verified by Crane (instead of the Shiny app).

All access to data is logged in the (optional) audit log of Crane. Users can upload new data using the web UI or HTTP API.

Example
Supported methods of accessing data.

Documentation

Since Crane is a webserver, it can be used to host documentation, reports, wiki’s and websites. The advanced authorization features, ensures that users can only see the information they are allowed to see. Uploading of data is possible using the web UI and the HTTP API. The API allows uploading reports directly from the IDE, R or Python. A typical use-case is to store reports in Git and to automatically build the report using pipelines. Of course, these pipelines can download the input data from Crane and upload the final report to Crane. Another common use case is to host the documentation of your internal R packages, e.g. using pkgdown.

Example
Report hosting.

Open Source

Crane is 100% open source, released under the Apache License version 2.0 and the sources are on GitHub.