{ "info": { "author": "HORTON-ChemTools Dev Team", "author_email": "horton.chemtools@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://travis-ci.org/theochem/roberto.svg?branch=master\n :target: https://travis-ci.org/theochem/roberto\n.. image:: https://anaconda.org/theochem/roberto/badges/version.svg\n :target: https://anaconda.org/theochem/roberto\n.. image:: https://codecov.io/gh/theochem/roberto/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/theochem/roberto\n.. image:: https://img.shields.io/pypi/v/roberto.svg\n :target: https://pypi.org/project/roberto\n.. image:: https://img.shields.io/pypi/pyversions/roberto.svg\n :target: https://pypi.org/project/roberto\n.. image:: https://img.shields.io/github/release/theochem/roberto.svg\n :target: https://github.com/theochem/roberto/releases\n\n\nRoberto is a collection of configurable development work flows. Its goal is to\nfacilitate the development and quality assurance of some packages in the\ntheochem organization on Github.\n\nWith a relatively simple configuration file (``.roberto.yaml``), the command\n``rob`` will take the following steps:\n\n1. Install miniconda (and a MacOSX SDK on OSX).\n2. Make a conda environment for development and testing\n3. Install dependencies (for the package being developed and for all\n development tools).\n4. Build the software in-place, i.e. without installing it.\n5. Run Linters (optionally showing only messages related to your changes).\n6. Run unit and other tests\n7. Build the documentation\n\nWhen you run ``rob robot``, a few additional steps will be performed, which are\nnot done by default because they are slow and have a low risk of failing:\n\n8. Upload the documentation. (disabled by default)\n9. Make source and binary release packages.\n10. Deploy the releases. (disabled by default)\n\n(A few minor steps were omitted for clarity.) These steps should work on your\nlocal computer in the same way as on a continuous integration system like\nTravis-CI, making it easy to prepare a pull request locally. It is also possible\nto just run a subset of these tasks, which is often needed when working on the\ncode. Several steps will also reuse previous results (e.g. conda environment) if\nthese are already present, to speed up Roberto.\n\nThe preparation tasks (1-3) are somewhat hard-coded but they are clever enough\nto install a decent development environment with the correct requirements for\nthe remaining tasks. These remaining tasks (4-10) are configurable and can be\nchanged to work for Python and/or CMake projects.\n\n\nInstallation\n============\n\nPython 3 (>=3.5) must be installed. Other dependencies will be pulled in with\nthe instructions below.\n\nRoberto can be installed with conda:\n\n.. code-block:: bash\n\n conda install theochem::roberto\n\nIt can also be installed with pip. One of the following is fine, whichever you\nprefer:\n\n.. code-block:: bash\n\n pip install roberto\n pip install roberto --user\n python3 -m pip install roberto\n python3 -m pip install roberto --user\n\nOn some platforms, you may have to adapt your ``${PATH}`` variable before you\ncan run ``rob``.\n\n\nUsage\n=====\n\nBefore you start, please be aware that Roberto will install miniconda, by default in\n``~/miniconda3``, if not present yet. You can modify this directory by setting\nthe environment variable ``ROBERTO_CONDA_BASE_PATH`` or by putting the following\nin your global Roberto configuration file ``~/.roberto.yaml``:\n\n.. code-block:: yaml\n\n conda:\n base_path: \n\nE.g. you can use this to avoid interference with an existing miniconda install.\nHowever, to avoid such interference, Roberto will also make conda environments\nfor the development of every package, with relatively long names. For example,\nwhen Roberto is executed in its own source tree, the conda environment would be\n``roberto-dev-python-3.7``.\n\nTo use Roberto, just run ``rob`` in the root of the source tree, where also the\nproject's ``.roberto.yaml`` is located. Use ``rob --help`` to get a list of\ntasks if you are interested in replicating just a part of the CI process. If\nyour ``${PATH}`` variable is not set correctly, you can also run Roberto as\n``python3 -m roberto`` instead of ``rob``.\n\nIt is a good practice to run ``rob`` before every ``git commit`` to make sure\nthe committed code is clean and working.\n\nWhen using the cardboardlint tool and when you are working in a development\nbranch, cardboardlint will only show linter messages for lines of code that you\nhave changed. If you would like to see all messages, run Roberto as\n``ROBERTO_ABS=1 rob``.\n\nMore details, e.g. on how to configure Roberto, can be found in the\ndocumentation: https://theochem.github.com/roberto\n\n\nDevelopment\n===========\n\nIf you have questions or ideas, just open an issue on Github. Practical\ninformation on how to contribute can be found in\n`CONTRIBUTING.rst `_.\n\nRoberto is intentionally a small code base, so one can easily understand how\nit works by reading the source code. Roberto makes extensive use of `invoke\n`_ to avoid having to write a lot of boiler-plate code.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/theochem/roberto", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "roberto", "package_url": "https://pypi.org/project/roberto/", "platform": "", "project_url": "https://pypi.org/project/roberto/", "project_urls": { "Homepage": "https://github.com/theochem/roberto" }, "release_url": "https://pypi.org/project/roberto/1.7.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Collection of configurable development workflows", "version": "1.7.0" }, "last_serial": 5276866, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8d8faa190ca237bdf9bef4ce61ae408a", "sha256": "b72e04e6c897cf8919f35afce19b716b3e6c13377bb48942fc2b0c8542ee3897" }, "downloads": -1, "filename": "roberto-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8d8faa190ca237bdf9bef4ce61ae408a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 32673, "upload_time": "2019-03-17T20:25:31", "url": "https://files.pythonhosted.org/packages/93/c2/1475f86cf25ca38e99435baea51237c11b6fbff91ea881e10ddca3a9def3/roberto-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f25c87c6b8510762f5962012a45a8d2d", "sha256": "469a735caa42ca62a185e14b4c90225e4c9ae59441704786d5783a45e534cb13" }, "downloads": -1, "filename": "roberto-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f25c87c6b8510762f5962012a45a8d2d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 32686, "upload_time": "2019-03-17T23:06:01", "url": "https://files.pythonhosted.org/packages/c8/d1/06a98aa069293dca99118c39a8fe11a7372bcec59e0818d71380ff38eb97/roberto-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7c79afc465843c8d207d6d3349258eed", "sha256": "9c48e2f4dc9fd183aee880a827ac85b3babb436a10a8cfe6999c7b607acf4def" }, "downloads": -1, "filename": "roberto-1.1.0.tar.gz", "has_sig": false, "md5_digest": "7c79afc465843c8d207d6d3349258eed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 33235, "upload_time": "2019-03-18T03:56:50", "url": "https://files.pythonhosted.org/packages/b8/1f/4b40029a164c5c1e6bc5c3f63b0b702981a30114092b30b5bc171a271b2d/roberto-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "2d4e31161eb7e5771cfaf71e87727ad7", "sha256": "27847f2422350b7c3f56f1fb81d91b750d4f48b2a4dd79621ebeedf17f5a6899" }, "downloads": -1, "filename": "roberto-1.1.1.tar.gz", "has_sig": false, "md5_digest": "2d4e31161eb7e5771cfaf71e87727ad7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 33446, "upload_time": "2019-03-18T20:18:51", "url": "https://files.pythonhosted.org/packages/d9/24/05e561e7b24d765de32f6c44b498aec656ae10fb6784c9580e4af93dc8ce/roberto-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "ba7f6787f4260ab7fdf8d6337a6ed671", "sha256": "a16cf81cf88cfc8b09b45af51a526ebe42b2f33932f8437bf734ce9150d2a1a5" }, "downloads": -1, "filename": "roberto-1.2.0.tar.gz", "has_sig": false, "md5_digest": "ba7f6787f4260ab7fdf8d6337a6ed671", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 34277, "upload_time": "2019-03-22T02:17:10", "url": "https://files.pythonhosted.org/packages/d0/2b/3ff1ab09ee9a8a5059b099c013f074dab32d3f73769cda6bf88111b1a9df/roberto-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "baa39e1eef4791ebaf851ebcf43ac791", "sha256": "8cba72e00680c41cc0ce85a8816153accb9802d340fd59f14c0df23fb39cb934" }, "downloads": -1, "filename": "roberto-1.2.1.tar.gz", "has_sig": false, "md5_digest": "baa39e1eef4791ebaf851ebcf43ac791", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 34360, "upload_time": "2019-03-22T14:54:20", "url": "https://files.pythonhosted.org/packages/ce/b8/7c68827924b85ab81bb77cb80a08b3aa86e7df5dbb2b64a7fab40f750e0f/roberto-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f4e41f6067cd59ae0765a94252ae547a", "sha256": "979b6d62e7b3eef33e4306ae3e289394253d459f7ec714dd3a21a131c7b7fda4" }, "downloads": -1, "filename": "roberto-1.3.0.tar.gz", "has_sig": false, "md5_digest": "f4e41f6067cd59ae0765a94252ae547a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 34629, "upload_time": "2019-03-26T19:56:31", "url": "https://files.pythonhosted.org/packages/40/48/158af287a742b4c2d82092355ac66a97efff3222ab666d6bedb3e2e2ca3b/roberto-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "3c2c176c6d5e15764f8fcba652b1d9a4", "sha256": "a531c53778bb958c317f6f097bb73ace3c8cd7d2addfc1bb5a95b50ab25af607" }, "downloads": -1, "filename": "roberto-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3c2c176c6d5e15764f8fcba652b1d9a4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 34901, "upload_time": "2019-03-30T22:01:23", "url": "https://files.pythonhosted.org/packages/24/04/4c800310ff0423dda61e9f44e2ecff3a8b510c866a065aca08e31d2af753/roberto-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "34e2ccd43309da184709f2350dd8772b", "sha256": "fefd00259780f53d8a4c65a78396e2afe49f879a67d478a3498953b2b4f28947" }, "downloads": -1, "filename": "roberto-1.4.1.tar.gz", "has_sig": false, "md5_digest": "34e2ccd43309da184709f2350dd8772b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 34906, "upload_time": "2019-03-30T22:17:49", "url": "https://files.pythonhosted.org/packages/b9/79/c2d1d3837f2bb582688efd8c63d1d71fdd7d98e013a2f1fd551a8d56b78a/roberto-1.4.1.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "2d4be5a3b29c8a7031321be78bf30076", "sha256": "a976ee8abe0bb56cc95c8b4227fe09c037d19d8df49d67db30a4b1e23c89b04a" }, "downloads": -1, "filename": "roberto-1.5.0.tar.gz", "has_sig": false, "md5_digest": "2d4be5a3b29c8a7031321be78bf30076", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 35514, "upload_time": "2019-04-09T18:25:26", "url": "https://files.pythonhosted.org/packages/2e/d2/36ef77ce090d6be40ac050cf02762a0c934bd7b3723b07c057331a524c9a/roberto-1.5.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "6003f5e1f3a49f18d339a3f1e3c38f1b", "sha256": "dd0617d2d0a2827b367a6280a5181b61206e3a54300e9ab2682108e2d3208cc3" }, "downloads": -1, "filename": "roberto-1.6.0.tar.gz", "has_sig": false, "md5_digest": "6003f5e1f3a49f18d339a3f1e3c38f1b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 35755, "upload_time": "2019-04-12T14:31:07", "url": "https://files.pythonhosted.org/packages/a9/0b/331f14bd69359497b310489a63437654ec334db2f1f5b34aaacc98f3a108/roberto-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "7c00cc2ff9d8881e33ac0462d6e289bf", "sha256": "083052a45037341e32faef83202af0431e5d2d079522fd0793d94484379cac07" }, "downloads": -1, "filename": "roberto-1.6.1.tar.gz", "has_sig": false, "md5_digest": "7c00cc2ff9d8881e33ac0462d6e289bf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 35824, "upload_time": "2019-04-14T08:14:50", "url": "https://files.pythonhosted.org/packages/29/54/76a269abb45b6f36c0b3388da42019373c62ecb175a81b1b98c9dfde6542/roberto-1.6.1.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "d2a0ad22f2080145783d1802ad7d0eba", "sha256": "9f6e8faf070ea32f55c7e1e2040e8b999cad7f050fdd363ff84187d9b70f47b7" }, "downloads": -1, "filename": "roberto-1.7.0.tar.gz", "has_sig": false, "md5_digest": "d2a0ad22f2080145783d1802ad7d0eba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 36064, "upload_time": "2019-05-16T10:53:54", "url": "https://files.pythonhosted.org/packages/0b/c3/4519e61ead3eafa261c51bbc4c860de3de1edae661d9db0622acb8cff245/roberto-1.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2a0ad22f2080145783d1802ad7d0eba", "sha256": "9f6e8faf070ea32f55c7e1e2040e8b999cad7f050fdd363ff84187d9b70f47b7" }, "downloads": -1, "filename": "roberto-1.7.0.tar.gz", "has_sig": false, "md5_digest": "d2a0ad22f2080145783d1802ad7d0eba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 36064, "upload_time": "2019-05-16T10:53:54", "url": "https://files.pythonhosted.org/packages/0b/c3/4519e61ead3eafa261c51bbc4c860de3de1edae661d9db0622acb8cff245/roberto-1.7.0.tar.gz" } ] }