Renku
Renku is a platform that bundles together various tools for reproducible and collaborative data analysis projects. It is aimed at independent researchers and data scientists as well as labs, collaborations, and courses and workshops. Renku can be used by anyone who deals with data, whether they are a researcher, data analyst, project owner, or data provider.
Renku promotes reproducibility by providing tools to track your analysis workflows and save them together with your versioned data, code, and environment specification. Every result can be replayed either to repeat a calculation or to re-execute on new data or with a different choice of parameters.
Renku encourages reusability by storing and querying the connections between datasets, code executions, and results in a Knowledge Graph. Producers and consumers of analysis artifacts can always recover the full provenance of a result, establishing trust and reducing boilerplate.
Renku stimulates collaboration among peers and across disciplines by guaranteeing that a media-rich discussion space and fully configured, shareable interactive computational environments are always just a click away. Collaborators can easily work on projects together or in parallel, combining their work in a systematic and safe manner.
Getting Started
Renku consists of RenkuLab, a web-based application and Renku Client, a command-line tool for managing code, data, workflows and making practical use of the Knowledge Graph.
A public instance of RenkuLab is available at https://renkulab.io, and there are several other deployments at various institutions. To start exploring Renku, feel free to make an account and try it out! You can follow the first steps tutorial or continue reading about the Renku project.
Documentation
- Tutorials: how to get your Renku work off the ground
- Topic Guides: discussions about concepts central to Renku
- How-to Guides: recipes for common use-cases with Renku for users and administrators
- Reference: syntax, structure, architecture, etc.
Contributing
We're happy to receive contributions of all kinds, whether it is an idea for a new feature, a bug report or a pull request!
Please review our contributing guidelines before submitting a pull request.
Getting in touch
There are several channels you can use to communicate with us; we monitor all of them, so your messages will always get to us, but communication will be slightly more streamlined if you pick a channel that most suits your purpose and needs.
- discourse: questions concerning Renkulab or Renku CLI usage, release notes
- github & renku (CLI): create platform-usability and software-bug issues
- gitter: communicate with the team
Renku is developed as an open source project by the Swiss Data Science Center in a team split between EPFL and ETHZ.
Project structure
Renku consists of several sub-repositories:
- renku-gateway: a simple API gateway
- renku-graph: Knowledge Graph services
- renku-notebooks: a lightweight service for handling interactive notebooks through Jupyter servers and a k8s operator
- amalthea: k8s operator for Jupyter servers.
- renkulab-docker: base images for interactive sessions
- renku-python: the Python CLI, SDK, and core backend service
- renku-ui: web front-end
- renku-project-templates: base templates used for instantiating renku projects.
- renkulab-docker: docker images used for renku sessions.