Metadata-Version: 2.1
Name: renku
Version: 0.5.1.dev20
Summary: Python SDK and CLI for the Renku platform.
Home-page: https://github.com/swissdatasciencecenter/renku-python
Author: Swiss Data Science Center
Author-email: contact@datascience.ch
License: Apache License 2.0
Project-URL: Changelog, https://github.com/swissdatasciencecenter/renku-python/blob/master/CHANGES.rst
Project-URL: Docs, https://renku-python.rtfd.io/
Description: ..
            Copyright 2017-2019 - 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
        
        .. image:: https://pullreminders.com/badge.svg
           :target: https://pullreminders.com?ref=badge
           :alt: Pull reminders
        
        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.
        
        Homebrew
        --------
        
        The recommended way of installing Renku on MacOS and Linux is via
        `Homebrew <brew.sh>`_.
        
        ::
        
            $ brew tap swissdatasciencecenter/renku
            $ brew install renku
        
        Isolated environments using ``pipx``
        ------------------------------------
        
        Install and execute Renku in an isolated environment using ``pipx``.
        It will guarantee that there are no version conflicts with dependencies
        you are using for your work and research.
        
        `Install pipx <https://github.com/pipxproject/pipx#install-pipx>`_
        and make sure that the ``$PATH`` is correctly configured.
        
        ::
        
            $ python3 -m pip install --user pipx
            $ pipx ensurepath
        
        Once ``pipx`` is installed use following command to install ``renku``.
        
        ::
        
            $ pipx install renku
            $ which renku
            ~/.local/bin/renku
        
        Prevously we have recommended to use ``pipsi``. You can still use it or
        `migrate to **pipx**
        <https://github.com/pipxproject/pipx#migrating-to-pipx-from-pipsi>`_.
        
        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/
        
        
        Developing Renku
        ================
        
        For development it's convenient to install ``renku`` in editable mode. This is
        still possible with ``pipx``. First clone the repository and then do:
        
        ::
        
            $ pipx install \
                --editable \
                --spec <path-to-renku-python>[all] \
                renku
        
        This will install all the extras for testing and debugging.
        
        Using External Debuggers
        ------------------------
        
        To run ``renku`` via e.g. the `Visual Studio Code debugger
        <https://code.visualstudio.com/docs/python/debugging>`_ you need run it via
        the python executable in whatever virtual environment was used to install ``renku``. If there is a package
        needed for the debugger, you need to inject it into the virtual environment first, e.g.:
        
        ::
        
            $ pipx inject renku ptvsd
        
        
        Finally, run ``renku`` via the debugger:
        
        ::
        
            $ ~/.local/pipx/venvs/renku/bin/python -m ptvsd --host localhost --wait -m renku <command>
        
        
        If using Visual Studio Code, you may also want to set the ``Remote Attach`` configuration
        ``PathMappings`` so that it will find your source code, e.g.
        
        ::
        
            {
                    "name": "Python: Remote Attach",
                    "type": "python",
                    "request": "attach",
                    "port": 5678,
                    "host": "localhost",
                    "pathMappings": [
                        {
                            "localRoot": "<path-to-renku-python-source-code>",
                            "remoteRoot": "<path-to-renku-python-source-code>"
                        }
                    ]
                },
        
        
        ..
            Copyright 2017-2019 - 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.5.0``
        ----------
        
        *(released 2019-03-28)*
        
        Bug Fixes
        ~~~~~~~~~
        
        -  **api:** make methods lock free
           (`1f63964 <https://github.com/swissdatasciencecenter/renku-python/commit/1f63964>`__),
           closes
           `#486 <https://github.com/swissdatasciencecenter/renku-python/issues/486>`__
        -  use safe_load for parsing yaml
           (`5383d1e <https://github.com/swissdatasciencecenter/renku-python/commit/5383d1e>`__),
           closes
           `#464 <https://github.com/swissdatasciencecenter/renku-python/issues/464>`__
        -  **datasets:** link flag on dataset add
           (`eae30f4 <https://github.com/swissdatasciencecenter/renku-python/commit/eae30f4>`__)
        
        Features
        ~~~~~~~~
        
        -  **api:** list datasets from a commit
           (`04a9fe9 <https://github.com/swissdatasciencecenter/renku-python/commit/04a9fe9>`__)
        -  **cli:** add dataset rm command
           (`a70c7ce <https://github.com/swissdatasciencecenter/renku-python/commit/a70c7ce>`__)
        -  **cli:** add rm command
           (`cf0f502 <https://github.com/swissdatasciencecenter/renku-python/commit/cf0f502>`__)
        -  **cli:** configurable format of dataset output
           (`d37abf3 <https://github.com/swissdatasciencecenter/renku-python/commit/d37abf3>`__)
        -  **dataset:** add existing file from current repo
           (`575686b <https://github.com/swissdatasciencecenter/renku-python/commit/575686b>`__),
           closes `#99 <https://github.com/swissdatasciencecenter/renku-python/issues/99>`__
        -  **datasets:** added ls-files command
           (`ccc4f59 <https://github.com/swissdatasciencecenter/renku-python/commit/ccc4f59>`__)
        -  **models:** reference context for relative paths
           (`5d1e8e7 <https://github.com/swissdatasciencecenter/renku-python/commit/5d1e8e7>`__),
           closes
           `#452 <https://github.com/swissdatasciencecenter/renku-python/issues/452>`__
        -  add JSON-LD output format for datasets
           (`c755d7b <https://github.com/swissdatasciencecenter/renku-python/commit/c755d7b>`__),
           closes
           `#426 <https://github.com/swissdatasciencecenter/renku-python/issues/426>`__
        -  generate Makefile with log –format Makefile
           (`1e440ce <https://github.com/swissdatasciencecenter/renku-python/commit/1e440ce>`__)
        
        
        ``v0.4.0``
        ----------
        
        *(released 2019-03-05)*
        
        - Adds ``renku mv`` command which updates dataset metadata, ``.gitattributes``
          and symlinks.
        - Pulls LFS objects from submodules correctly.
        - Adds listing of datasets.
        - Adds reduced dot format for ``renku log``.
        - Adds ``doctor`` command to check missing files in datasets.
        - Moves dataset metadata to ``.renku/datasets`` and adds ``migrate datasets``
          command and uses UUID for metadata path.
        - Gets git attrs for files to prevent duplicates in ``.gitattributes``.
        - Fixes ``renku show outputs`` for directories.
        - Runs Git LFS checkout in a worktrees and lazily pulls necessary LFS files
          before running commands.
        - Asks user before overriding an existing file using ``renku init``
          or ``renku runner template``.
        - Fixes ``renku init --force`` in an empty dir.
        - Renames ``CommitMixin._location`` to ``_project``.
        - Addresses issue with commits editing multiple CWL files.
        - Exports merge commits for full lineage.
        - Exports path and parent directories.
        - Adds an automatic check for the latest version.
        - Simplifies issue submission from traceback to GitHub or Sentry.
          Requires ``SENTRY_DSN`` variable to be set and `sentry-sdk` package to be
          installed before sending any data.
        - Removes outputs before run.
        - Allows update of directories.
        - Improves readability of the status message.
        - Checks ignored path when added to a dataset.
        - Adds API method for finding ignored paths.
        - Uses branches for ``init --force``.
        - Fixes CVE-2017-18342.
        - Fixes regex for parsing Git remote URLs.
        - Handles ``--isolation`` option using ``git worktree``.
        - Renames ``client.git`` to ``client.repo``.
        - Supports ``python -m renku``.
        - Allows '.' and '-' in repo path.
        
        
        ``v0.3.3``
        ----------
        
        *(released 2018-12-07)*
        
        - Fixes generated Homebrew formula.
        - Renames ``renku pull path`` to ``renku storage pull`` with deprecation
          warning.
        
        ``v0.3.2``
        ----------
        
        *(released 2018-11-29)*
        
        - Fixes display of workflows in ``renku log``.
        
        ``v0.3.1``
        ----------
        
        *(released 2018-11-29)*
        
        - Fixes issues with parsing remote Git URLs.
        
        ``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.
        
Keywords: Renku CLI
Platform: any
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Development Status :: 1 - Planning
Description-Content-Type: text/x-rst
Provides-Extra: all
Provides-Extra: runner
Provides-Extra: docs
Provides-Extra: sentry
Provides-Extra: notebook
Provides-Extra: tests
