{ "info": { "author": "Sven Fillinger", "author_email": "sven.fillinger@qbic.uni-tuebingen.de", "bugtrack_url": null, "classifiers": [], "description": "Copyright (c) 2018 QBiC\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nDescription: \n Rmageddon\n ##############\n \n .. image:: https://travis-ci.org/qbicsoftware/r-lint-cli.svg?branch=master\n :target: https://travis-ci.org/qbicsoftware/r-lint-cli\n \n .. image:: https://codecov.io/gh/qbicsoftware/r-lint-cli/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/qbicsoftware/r-lint-cli\n \n A small linting and building command line tool for reproducible R analysis with Docker at QBiC.\n \n Motivation\n Performing a reproducible analysis with R and share the environment status of an R installation with the \n necessary packages and all that with the correct version is a very challenging task.\n \n In order to face this issue, under the umbrella of better reproducibility of computational results, we created\n `Rmageddon`, a small command-line tool, that assists in the build of Docker container with specified version of R and\n a dedicated, version-defined package installation. \n \n The container collection is hosted on a different GitHub repository: https://github.com/qbicsoftware/r-container-lib.\n \n All containers there passed the linting and have been build with `Rmageddon`.\n \n .. contents:: **Table of Contents**\n \n \n Installation\n ============\n \n The easiest way is to install a stable release of ``r-lint`` from PyPi_ with pip_:\n \n .. code-block:: bash\n \n $ pip install r-lint\n \n Or if you want the latest development version, you can install from the ``master`` branch on GitHub with:\n \n .. code-block:: bash\n \n $ pip install git+https://github.com/qbicsoftware/r-lint-cli\n \n .. _PyPi: https://pypi.org/\n .. _pip: https://pypi.org/project/pip/\n \n \n The command-line interface\n ===========================\n \n Once you have installed *r-lint*, just call it with the ``--help`` option to get an overview of the subcommands\n available in *r-lint*:\n \n .. code-block:: bash\n \n $ r-lint --help\n ______ __ __ __ __ ______ \n /\\ == \\ /\\ \\ /\\ \\ /\\ \"-.\\ \\ /\\__ _\\ \n \\ \\ __< \\ \\ \\____ \\ \\ \\ \\ \\ \\-. \\ \\/_/\\ \\/ \n \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_\\ \\ \\_\\ \"\\_\\ \\ \\_\\ \n \\/_/ /_/ \\/_____/ \\/_/ \\/_/ \\/_/ \\/_/ \n \n 2018, QBiC software, Sven Fillinger\n sven.fillinger@qbic.uni-tuebingen.de\n \n Usage: r-lint [OPTIONS] COMMAND [ARGS]...\n \n Options:\n --version Show the version and exit.\n -v, --verbose Verbose output (print debug statements)\n --help Show this message and exit.\n \n Commands:\n build Resolve R packages resources from Anaconda...\n lint Check R project against linting guidelines\n \n \n If you want to know the positional arguments and options of each subcommand, just type ``r-lint build --help`` or \n ``r-lint lint --help``.\n \n \n The subcommand \n ---------------------\n \n The subcommand is actually checking an R container project against some specified rule-set. Currently, *r-lint* is assuming the following project structure:\n \n .. code-block:: bash\n \n .\n \u251c\u2500\u2500 data\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 input_data // A collection of input data\n | \u2514\u2500\u2500 ...\n \u251c\u2500\u2500 Dockerfile // Docker container recipe\n \u251c\u2500\u2500 environment.yml // Conda environment recipe\n \u2514\u2500\u2500 scripts\n \u2514\u2500\u2500 example.R // A collection of R scripts\n \u2514\u2500\u2500 ...\n \n Start the linting of a project directoy with:\n \n .. code-block:: bash\n \n $ r-lint lint /path/to/project\n \n The linting will report warnings and failures by default. **Failure** events are recorded, if you did not provide:\n \n - A file named ``Dockerfile``, the receipe for the Docker container \n - A file named ``environment.yml``, the **Conda configuration file**\n \n There a **warnings** raised, if you did not provide:\n \n - A folder named ``data``, with the input data for the R analysis\n - A folder named ``scripts``, with the R scripts themselves\n \n Dockerfile \n For the ``Dockerfile`` some things are mandatory, like:\n \n - ``LABEL name`` - The name of the container. Needs to match the regex ``(Q|q)[a-zA-Z0-9]{4}-ranalysis``, for example **qtest-ranalysis**\n - ``LABEL maintainer`` - The name of the container maintainer with email, for example **Sven Fillinger **\n - ``LABEL version`` - The 3-digit numeric version string following the `semantic version standard`__\n - ``LABEL organization`` - The organization's name\n - ``LABEL github`` - The link to the GitHub repository\n \n __ semantic_\n .. _semantic: https://semver.org/\n \n \n The subcommand \n ----------------------\n \n The subcommand ``build`` is a small helper tool, that is able to parse ``sessionInfo`` output from R and extracts the package names with versions.\n \n It then takes these and checks on `Anaconda cloud`__ if these are available in one of the pre-defined channels `[default, r, bioconda]`. If successful, it will automatically add the corresponding conda package with version in the `environment.yml`. If a package cannot be found, a warning is printed on the command-line. If a specified version of a package is not found, it prints the available versions on the command-line.\n \n To start the build, be sure you have an active internet connection and run it with:\n \n .. code-block:: bash\n \n $ r-lint build environment.yml\n \n The ``R package list`` can be obtained from inside your active R session, that was used to run your R analysis successfully. From within your R console, just type:\n \n .. code-block:: R\n \n > sessionInfo()$otherPkgs\n \n This is your R package list, which is needed for r-lint build to work properly.\n \n __ anaconda_\n .. _anaconda: https://anaconda.org/\n \nKeywords: R,linting,lint,Docker,container\nPlatform: UNKNOWN\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "r-lint", "package_url": "https://pypi.org/project/r-lint/", "platform": "", "project_url": "https://pypi.org/project/r-lint/", "project_urls": null, "release_url": "https://pypi.org/project/r-lint/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Small linting tool for R containers at QBiC", "version": "0.1.0" }, "last_serial": 4468915, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ec7300544d9e6d64bd1ccd841417c772", "sha256": "dd663f7576fccb07b7fa71616b33c147522fd7d6bd8f6332d06e20878ec05c41" }, "downloads": -1, "filename": "r-lint-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ec7300544d9e6d64bd1ccd841417c772", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9495, "upload_time": "2018-11-09T10:36:34", "url": "https://files.pythonhosted.org/packages/32/ca/b4aec666b4e04e98325c20733bf29c4779ed2662605d2a5370cbf21c0b93/r-lint-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec7300544d9e6d64bd1ccd841417c772", "sha256": "dd663f7576fccb07b7fa71616b33c147522fd7d6bd8f6332d06e20878ec05c41" }, "downloads": -1, "filename": "r-lint-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ec7300544d9e6d64bd1ccd841417c772", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9495, "upload_time": "2018-11-09T10:36:34", "url": "https://files.pythonhosted.org/packages/32/ca/b4aec666b4e04e98325c20733bf29c4779ed2662605d2a5370cbf21c0b93/r-lint-0.1.0.tar.gz" } ] }