Skip to main content

Python SDK and CLI for the Renku platform.

Project description

..
Copyright 2017-2018 - Swiss Data Science Center (SDSC)
A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
Eidgenössische Technische Hochschule Zürich (ETHZ).

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

==============================
Renku CLI and SDK for Python
==============================

.. image:: https://img.shields.io/travis/SwissDataScienceCenter/renku-python.svg
:target: https://travis-ci.org/SwissDataScienceCenter/renku-python

.. image:: https://img.shields.io/coveralls/SwissDataScienceCenter/renku-python.svg
:target: https://coveralls.io/r/SwissDataScienceCenter/renku-python

.. image:: https://img.shields.io/github/tag/SwissDataScienceCenter/renku-python.svg
:target: https://github.com/SwissDataScienceCenter/renku-python/releases

.. image:: https://img.shields.io/pypi/dm/renku.svg
:target: https://pypi.python.org/pypi/renku

.. image:: http://readthedocs.org/projects/renku-python/badge/?version=latest
:target: http://renku-python.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://img.shields.io/github/license/SwissDataScienceCenter/renku-python.svg
:target: https://github.com/SwissDataScienceCenter/renku-python/blob/master/LICENSE

A Python library for the `Renku collaborative data science platform
<https://github.com/SwissDataScienceCenter/renku>`_. It allows the user to
create projects, manage datasets, and capture data provenance while performing
analysis tasks.

**NOTE**:
``renku-python`` is the python library for Renku that provides an SDK and a
command-line interface (CLI). It *does not* start the Renku platform itself -
for that, refer to the Renku docs on `running the platform
<https://renku.readthedocs.io/en/latest/user/setup.html>`_.

Installation
------------

The latest release is available on PyPI and can be installed using
``pip``:

::

$ pip install renku

The latest development versions are available on PyPI or from the Git
repository:

::

$ pip install --dev renku
# - OR -
$ pip install -e git+https://github.com/SwissDataScienceCenter/renku-python.git#egg=renku

Use following installation steps based on your operating system and preferences
if you would like to work with the command line interface and you do not need
the Python library to be importable.

MacOS
~~~~~

The recommended way of installing Renku on MacOS is via `Homebrew <brew.sh>`_.

::

$ brew tap swissdatasciencecenter/renku
$ brew install renku

..
TODO: uncomment one the snap build works.

Linux
~~~~~

There are universal *snap* packages available for Renku. Make sure you
have the ``snap`` command available or `install snapd
<https://docs.snapcraft.io/core/install>`_.

::

$ open https://launchpad.net/~swissdatasciencecenter/+snap/renku/
$ snap install renku

Pip Script Installer (``pipsi``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can use `pipsi <https://github.com/mitsuhiko/pipsi>`_ to isolate
dependencies and to guarantee that there are no version conflicts. Make sure
you have the ``pipsi`` command correctly installed and ``~/.local/bin`` is in
your ``$PATH``.

::

$ pipsi install renku
$ which renku
~/.local/bin/renku

Docker
~~~~~~

The containerized version of the CLI can be launched using Docker command.

::

$ docker run -it -v "$PWD":"$PWD" -w="$PWD" renku/renku-python renku

It makes sure your current directory is mounted to the same place in the container.

Usage
-----

Initialize a renku project:

::

$ mkdir -p ~/temp/my-renku-project
$ cd ~/temp/my-renku-project
$ renku init

Create a dataset and add data to it:

::

$ renku dataset create my-dataset
$ renku dataset add my-dataset https://raw.githubusercontent.com/SwissDataScienceCenter/renku-python/master/README.rst

Run an analysis:

::

$ renku run wc < data/my-dataset/README.rst > wc_readme

Trace the data provenance:

::

$ renku log wc_readme

These are the basics, but there is much more that Renku allows you to do with
your data analysis workflows. The full documentation will soon be available
at: https://renku-python.readthedocs.io/


..
Copyright 2017-2018 - Swiss Data Science Center (SDSC)
A partnership between École Polytechnique Fédérale de Lausanne (EPFL) and
Eidgenössische Technische Hochschule Zürich (ETHZ).

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Changes
=======

``v0.3.0``
----------

*(released 2018-11-26)*

- Adds JSON-LD context to objects extracted from the Git repository
(see ``renku show context --list``).
- Uses PROV-O and WFPROV as provenance vocabularies and generates "stable"
object identifiers (``@id``) for RDF and JSON-LD output formats.
- Refactors the log output to allow linking files and directories.
- Adds support for aliasing tools and workflows.
- Adds option to install shell completion (``renku --install-completion``).
- Fixes initialization of Git submodules.
- Uses relative submodule paths when appropriate.
- Simplifies external storage configuration.

``v0.2.0``
----------

*(released 2018-09-25)*

- Refactored version using Git and Common Workflow Language.

``v0.1.0``
----------

*(released 2017-09-06)*

- Initial public release as Renga.


Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

renku-0.3.0.tar.gz (119.9 kB view details)

Uploaded Source

Built Distribution

renku-0.3.0-py2.py3-none-any.whl (128.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file renku-0.3.0.tar.gz.

File metadata

  • Download URL: renku-0.3.0.tar.gz
  • Upload date:
  • Size: 119.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for renku-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6643ff4bbd61b0bd166e82afe658e45b1d77953dc028a25db4515c6563b095ab
MD5 8b930e7c901082a57483b2cedc9da68f
BLAKE2b-256 6d9e8ebc95a846c458fe4f7ee0dd01d9b2fe34944377cb0e6a7c75e377419e25

See more details on using hashes here.

File details

Details for the file renku-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: renku-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 128.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for renku-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5a5881f05e7b4ff7825a1cc2e4281726b63b480baf316abc9f76c57ca759a9a9
MD5 bc00121ae045bba7d5e12ae07068fa4e
BLAKE2b-256 e0b4edc1906f517592086e8fa2bf8209451f58fe87eff7070c5068bb9c3f7fc1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page