{ "info": { "author": "Petri Huovinen", "author_email": "petri.huovinen@nokia.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development" ], "description": ".. Copyright (C) 2019, Nokia\n\n.. image:: https://travis-ci.org/nokia/crl-devutils.svg?branch=master\n :target: https://travis-ci.org/nokia/crl-devutils\n\n##################################################################\nGuide for developing Common Robot Libraries (CRL) via crl.devutils\n##################################################################\n\n\nDocumentation\n=============\n\nDocumentation for crl.devutils can be found from `Read The Docs`_.\n\n.. _Read the Docs: http://crl-devutils.readthedocs.io/\n\n\nSetup\n=====\n\nFirst, install crl.devutils.\n\n.. code:: bash\n\n $ pip install crl.devutils\n\nNow, there is available *crl* development command line:\n\n.. code:: bash\n\n $ crl -l\n\n Available tasks:\n\n clean Clean workspace.\n create_docs Create both Robot Framework and Sphinx documentation.\n create_index Create an index with given bases\n create_setup Create initial setup.py into current directory from library name.\n delete_index Delete an index\n help Show help, basically an alias for --help.\n publish *DEPRECATED* Publish version from a given index to another index.\n sdist Create source distribution.\n set_version Set version in ./src/crl//_version.py`.\n tag_release Tag specified release.\n tag_setup_version Tag specified release.\n test Uploads contents of current workspace to devpi and runs tox tests.\n\n\n\n**NOTE that some of the commands have been deprecated and should not be used.**\n\nThis tool is based on invoke 3rd party Python module and more details can be\nfound by running command *crl help*. Please use *crl* instead of *invoke* even\nthough the help shows this differently.\n\nThe *crl* tasks glue the git tags and the package distribution versions\ntogether behind the scenes.\n\n\nUsing the CRL devpi server\n--------------------------\n\nFor using the test command you need the devpi server. If you do not have devpi,\nyou need to install and configure it. See instructions on how to `Configure\nDevpi`_.\n\nBefore using the test command you should also configure the devpi index that is\nto be used as the base index of the library.\n\nHere devpi is configured to use the imaginary\nhttps://example.devpi.com/user/index simple index.\n\n.. code:: bash\n\n $ devpi use https://example.devpi.com/user/index/+simple --set-cfg\n current devpi index: https://example.devpi.com/crl/prod (logged in as )\n ~/.pydistutils.cfg : https://example.devpi.com/user/index/+simple/\n ~/.pip/pip.conf : https://example.devpi.com/user/index/+simple/\n ~/.buildout/default.cfg: https://example.devpi.com/user/index/+simple/\n always-set-cfg: no\n\n\nUsing the Test Environment\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf there is a [testenv:test] in the library's tox.ini, you can use this to\ntest your work. This runs the same tests as tox, but also uploads the current\nworkspace contents to a development index. Also, this is the way tests are\nrun in CI, so you might want to simulate the CI run to avoid problems later.\n\nIf the library's tox.ini doesn't have the test environment, it can be added\neasily by adding the following lines into the tox.ini file:\n\n.. code:: bash\n\n [testenv:test]\n changedir = {toxinidir}\n deps=\n crl.devutils\n commands= crl test --no-virtualenv {posargs}\n\n.. warning::\n Dependency package list to this test environment may vary according\n to the library's needs.\n\nFirst, login to the devpi server. Now you can load development indexes under\nyour personal user index.\n\n.. code:: bash\n\n $ PYPI=https://example.devpi.com/user/index\n $ tox -e test -- -b ${PYPI} -t --verbose\n\nThe above command saves the tests and contents to\nhttps://example.devpi.com//.\n\n\nWorking without the *crl* namespace\n-----------------------------------\n\nIf the library shall not be in *crl* namespace, then the version file path has\nto be given relatively.\n\nFor example:\n\n.. code:: bash\n\n $ tox -e test -i ${PYPI}/+simple -- \\\n -t CRL-92 \\\n -p src/examplelib/_version.py \\\n -s https://example.devpi.com// \\\n -d https://example.devpi.com//\n\nThe tagging of the version commmand has to also contain the path to version\nfile. For example:\n\n.. code:: bash\n\n $ crl tag_release \\\n --pathtoversionfile src/examplelib/_version.py 0.6.10.dev201612050621\n\n\nCreating a new CRL library\n==========================\n\nCreating a new CRL library is done with a dedicated Jenkins job `Create New CRL\nLibrary`_. The job creates the library structure from a template and generates\nall the needed Jenkins jobs for the library.\n\nCreating Documentation\n======================\n\nThe *crl* tool provides two alternatives for the documentation of the test\nlibrary: *crl create_docs* and *crl publish*.\n\nNow, the *crl create_docs* is a standalone tool for generating documentation\nduring the development. If documentation is done so that a *sphinxdocs*\ndirectory exists, *crl publish* tool automatically uploads the documentation\nmore or less the same produced by *crl create_docs* tool. It is recommended\nthat *crl create_docs* will be integrated to *tox* in order to verify\ndocumentation generation, as well as producing it in the CI e.g. via Jenkins\njobs for each commit to git.\n\nAdding docs environment for tox.ini. Remember to add the docs environment to\nthe *envlist*.\n\n.. code:: bash\n\n [testenv:docs]\n deps =\n sphinx\n crl.devutils\n robotframework\n commands = crl create_docs -v\n\n.. warning::\n Dependency package list for docs environment may vary according to the\n library's needs\n\nIn order to generate documentation for your library with robot.libdoc you\nshould:\n\n* create *robotdocs/robotdocsconf.py*, with content like below:\n\n.. code:: python\n\n robotdocs={\n 'crl.examplelib.examplelib':\n {'docformat': 'rest',\n 'synopsis': 'Example of test library functions.'},\n 'crl.examplelib.examplelib.Example':\n {'args':['example'],\n 'docformat': 'rest',\n 'synopsis': 'Example of test library class.'}}\n\n* add relative path of your *robotdocs* directory to 'html_extra_path' in\n *sphinxdocs/conf.py*:\n\n.. code:: python\n\n html_extra_path = ['../robotdocs']\n\n* it is also recommended to set page width to 90% in 'html_theme_options' in\n *sphinxdocs/conf.py*\n\n.. code:: python\n\n html_theme_options = {'page_width': '90%'}\n\nLibraries using crl.devutils process\n====================================\n\nLibraries providing Robot Framework test libraries\n--------------------------------------------------\n\n======================== ================================================================\nLibrary Description\n======================== ================================================================\ncrl-interactivesessions_ Remote command and file management via pexpect\n------------------------ ----------------------------------------------------------------\ncrl-remotescript_ Remote command and file management via paramiko and trilead-ssh\n------------------------ ----------------------------------------------------------------\ncrl-remotesession_ Wrapper of crl-interactivesessions_ and crl-remotescript_\n======================== ================================================================\n\n.. _crl-interactivesessions: https://github.com/nokia/crl-interactivesessions\n.. _crl-remotescript: https://github.com/nokia/crl-remotescript\n.. _crl-remotesession: https://github.com/nokia/crl-remotesession\n\nRobot Framework robot command wrappers\n--------------------------------------\n\n======================== ================================================================\nLibrary Description\n======================== ================================================================\ncrl-rfcli_ Python path setter and parser of test target file\n------------------------ ----------------------------------------------------------------\ncrl-threadverify_ Robot run verifier for hanging threads\n======================== ================================================================\n\n.. _crl-rfcli: https://github.com/nokia/crl-rfcli\n.. _crl-threadverify: https://github.com/nokia/crl-threadverify\n\nDevelopment libraries\n----------------------\n\n======================== ================================================================\nLibrary Description\n======================== ================================================================\ncrl-devutils_ Development tools for CRL\n------------------------ ----------------------------------------------------------------\ncrl-examplelib_ Example library template for CRL\n======================== ================================================================\n\n.. _crl-devutils: https://github.com/nokia/crl-devutils\n.. _crl-examplelib: https://github.com/nokia/crl-examplelib\n\nGeneric helper libraries\n------------------------\n\n======================== ================================================================\nLibrary Description\n======================== ================================================================\nfixtureresources_ Pytest fixtures\n------------------------ ----------------------------------------------------------------\nsphinx-invoke_ Sphinx extension for invoke tasks\n------------------------ ----------------------------------------------------------------\nvirtualenvrunner_ Python Virtualenv creator and command executor\n======================== ================================================================\n\n.. _fixtureresources: https://github.com/nokia/fixtureresources\n.. _sphinx-invoke: https://github.com/nokia/sphinx-invoke\n.. _virtualenvrunner: https://github.com/nokia/virtualenvrunner\n\nUseful Links\n============\n\n* `Configure Devpi`_\n* `Create New CRL Library`_\n\n.. _`Configure Devpi`: https://doc.devpi.net\n.. _`Create New CRL Library`: https://github.com/nokia/cookiecutter-crl-template\n\n\nContributing\n============\n\nPlease see contributing_ for development and contribution practices.\n\nThe code_ and the issues_ are hosted on GitHub.\n\nThe project is licensed under BSD-3-Clause_.\n\n.. _contributing: https://github.com/nokia/crl-devutils/blob/master/CONTRIBUTING.rst\n.. _code: https://github.com/nokia/crl-devutils\n.. _issues: https://github.com/nokia/crl-devutils/issues\n.. _BSD-3-Clause: https://github.com/nokia/crl-devutils/blob/master/LICENSE", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nokia/crl-devutils", "keywords": "robotframework testing testautomation acceptancetesting atdd bdd", "license": "BSD 3-Clause", "maintainer": "", "maintainer_email": "", "name": "crl.devutils", "package_url": "https://pypi.org/project/crl.devutils/", "platform": "", "project_url": "https://pypi.org/project/crl.devutils/", "project_urls": { "Homepage": "https://github.com/nokia/crl-devutils" }, "release_url": "https://pypi.org/project/crl.devutils/1.2.4/", "requires_dist": null, "requires_python": "", "summary": "Common Robot Libraries development and CI tools", "version": "1.2.4" }, "last_serial": 5803036, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "847eb220efd90745860ddd6de0a43895", "sha256": "ecc0e2531ce5cc4d984e1fd0f2ca6ebcfe48d24f7e9062eb2db7d5aebb9b916e" }, "downloads": -1, "filename": "crl.devutils-1.1.tar.gz", "has_sig": false, "md5_digest": "847eb220efd90745860ddd6de0a43895", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46003, "upload_time": "2019-02-25T07:49:26", "url": "https://files.pythonhosted.org/packages/8c/f5/7f11df5adf742bb36c35951e91be9ca4446def71571ef0b7456282a86a11/crl.devutils-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "4d932d0551a4637e02be6a66242e6d96", "sha256": "a8f3a48960818fe8f80961a4c1c01f3b5048eff2a8e673e2c12366b39888f92f" }, "downloads": -1, "filename": "crl.devutils-1.2.tar.gz", "has_sig": false, "md5_digest": "4d932d0551a4637e02be6a66242e6d96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46111, "upload_time": "2019-02-28T07:11:46", "url": "https://files.pythonhosted.org/packages/93/1b/dcc44ec27e534aa7a0333074931fb08452bec26cca116ceff99e230417a9/crl.devutils-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "ea6ca633178c6d89065a6989bdb19df8", "sha256": "b61ba3dc7a8076378e1ebd2b82f6741001c41c001691b21470a56f35831d63ee" }, "downloads": -1, "filename": "crl.devutils-1.2.1.tar.gz", "has_sig": false, "md5_digest": "ea6ca633178c6d89065a6989bdb19df8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46142, "upload_time": "2019-02-28T08:33:14", "url": "https://files.pythonhosted.org/packages/9f/8f/90c6c7161fa778fdce133fb5b208abe74e0855ed30d55c6bea69c0d82c23/crl.devutils-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "a9957a9f13c9885f93cce1b1c9e3114b", "sha256": "ce2f5d318e0f99d4885824884d5ae72dce58f3958c62b84106fcfdd507816cda" }, "downloads": -1, "filename": "crl.devutils-1.2.2.tar.gz", "has_sig": false, "md5_digest": "a9957a9f13c9885f93cce1b1c9e3114b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46363, "upload_time": "2019-03-04T07:01:22", "url": "https://files.pythonhosted.org/packages/10/6f/d1ef7b2dcef093409f03c8a44ada6bcfed55d7d18c7f77f78d6dc7726ccb/crl.devutils-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "f2462d813a2c52a9eadee6a5cb9bf121", "sha256": "c0b902f2d3545954aa3f5d8de10ddfd3c3516310ad7287e3bb425682f1501cf0" }, "downloads": -1, "filename": "crl.devutils-1.2.3.tar.gz", "has_sig": false, "md5_digest": "f2462d813a2c52a9eadee6a5cb9bf121", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44896, "upload_time": "2019-04-08T11:08:54", "url": "https://files.pythonhosted.org/packages/2d/28/d415eaf98eced03ee0bf16db6d1c40de46c2cf7568c7cb0abce12cad7cd8/crl.devutils-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "6a733a32a64f7d501b38bdb3de373f0d", "sha256": "1f4d0033f8914d16d72fe95325b4cd290408778959f4607d87ef84bb16fc2a62" }, "downloads": -1, "filename": "crl.devutils-1.2.4.tar.gz", "has_sig": false, "md5_digest": "6a733a32a64f7d501b38bdb3de373f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48761, "upload_time": "2019-09-09T10:55:19", "url": "https://files.pythonhosted.org/packages/0f/e3/6970dd0d6a75ae3d324e9ebbfef3de1ab2df291e8d488d9e6beab9f8f867/crl.devutils-1.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6a733a32a64f7d501b38bdb3de373f0d", "sha256": "1f4d0033f8914d16d72fe95325b4cd290408778959f4607d87ef84bb16fc2a62" }, "downloads": -1, "filename": "crl.devutils-1.2.4.tar.gz", "has_sig": false, "md5_digest": "6a733a32a64f7d501b38bdb3de373f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48761, "upload_time": "2019-09-09T10:55:19", "url": "https://files.pythonhosted.org/packages/0f/e3/6970dd0d6a75ae3d324e9ebbfef3de1ab2df291e8d488d9e6beab9f8f867/crl.devutils-1.2.4.tar.gz" } ] }