{ "info": { "author": "Stephen McDowell", "author_email": "svenevs.pypi@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Software Development :: Build Tools" ], "description": "\nManaging cross platform build scripts for CI can become tedious at times when you need\nto e.g., maintain two nearly identical scripts ``install_deps.sh`` and\n``install_deps.bat`` due to incompatible syntaxes. ``ci_exec`` enables a single file\nto manage this using Python.\n\nThe ``ci_exec`` package provides a set of wrappers / utility functions designed\nspecifically for running build steps on CI providers. It is\n\n**Logging by Default**\n Commands executed, including their full command-line arguments, are logged. This\n includes any output on ``stdout`` / ``stderr`` from the commands. The logging\n resembles what ``set -x`` would give you in a shell script. For commands that will\n take a long time, as long as output is being produced, this will additionally\n prevent timeouts on the build.\n\n**Failing by Default**\n Any command that does not succeed will fail the entire build. An attempt to exit\n with the same exit code as the command that failed will be performed. Meaning the\n CI provider will correctly report a failed build.\n\n**Convenient**\n ``ci_exec`` affords users the ability to write shell-like scripts that will work\n on any platform that Python can run on. A simple example:\n\n .. code-block:: py\n\n from ci_exec import cd, which\n\n cmake = which(\"cmake\")\n ninja = which(\"ninja\")\n with cd(\"build\", create=True):\n cmake(\"..\", \"-G\", \"Ninja\", \"-DCMAKE_BUILD_TYPE=Release\")\n ninja(\"-j\", \"2\", \"test\")\n\n\nPlease refer to the `full documentation `_\nfor more information.\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/svenevs/ci_exec", "keywords": "", "license": "Apache v2.0", "maintainer": "", "maintainer_email": "", "name": "ci-exec", "package_url": "https://pypi.org/project/ci-exec/", "platform": "", "project_url": "https://pypi.org/project/ci-exec/", "project_urls": { "Documentation": "https://ci-exec.readthedocs.io/en/latest/", "Homepage": "https://github.com/svenevs/ci_exec", "Source": "https://github.com/svenevs/ci_exec" }, "release_url": "https://pypi.org/project/ci-exec/0.1.1/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A wrapper package designed for running continuous integration (CI) build steps using Python 3.5+.", "version": "0.1.1" }, "last_serial": 5387995, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "31a5be9c687531e08fcce026127ec51b", "sha256": "86cb003890352a48dabcb43ce78b8143bdc64f39e15c26ececb18f4dc934aa64" }, "downloads": -1, "filename": "ci_exec-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "31a5be9c687531e08fcce026127ec51b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 26746, "upload_time": "2019-05-14T15:35:17", "url": "https://files.pythonhosted.org/packages/95/41/b6df2e9bc6131604d7593c7513e3e122e9a4a1018a1a65d0aab3986fe043/ci_exec-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d889e07cf5d6b7b6acb37bea3e412058", "sha256": "4369733e5e96f371ef4bdd488a48db80fdc2987d13202a483f3eae2db160aea6" }, "downloads": -1, "filename": "ci_exec-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d889e07cf5d6b7b6acb37bea3e412058", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 19930, "upload_time": "2019-05-14T15:35:19", "url": "https://files.pythonhosted.org/packages/4b/29/869f71066f98ad87cd673d49277bec63f303d29dc063a9382d1760ebd918/ci_exec-0.1.0.tar.gz" } ], "0.1.0.post0": [ { "comment_text": "", "digests": { "md5": "74dfa8d1deb94c449d64e7c006f3d3e5", "sha256": "eaac4fd996de9d5b88e17212ba40c463a9df18b868d313da7b1021beed08bb22" }, "downloads": -1, "filename": "ci_exec-0.1.0.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "74dfa8d1deb94c449d64e7c006f3d3e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 26945, "upload_time": "2019-05-16T12:39:50", "url": "https://files.pythonhosted.org/packages/fd/84/a04882cd2b38f40ab49a504729f283df99d10243abccfa11d811c1a98b71/ci_exec-0.1.0.post0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cd5ded2d95ed6b577c5169efcc76d1d", "sha256": "b80d38d69637928897133821db1fade92f142c92254619dd8239abde247cc674" }, "downloads": -1, "filename": "ci_exec-0.1.0.post0.tar.gz", "has_sig": false, "md5_digest": "8cd5ded2d95ed6b577c5169efcc76d1d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 20206, "upload_time": "2019-05-16T12:39:52", "url": "https://files.pythonhosted.org/packages/af/ca/536e790c3611c46eb695f999a96de532ea8a96e7cb373ac4875bd5e10be3/ci_exec-0.1.0.post0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9ae6766950325f5e12cd8e469bad577c", "sha256": "d60d56c462e46c1f53a348693b51d43c3d011e897261f82bd0c33983e309391d" }, "downloads": -1, "filename": "ci_exec-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9ae6766950325f5e12cd8e469bad577c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 37245, "upload_time": "2019-06-11T19:23:59", "url": "https://files.pythonhosted.org/packages/7e/b4/d114c5f7006354dcd8c80959c5bd77debbdfbebfcd5c6bbd048387c692bb/ci_exec-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8dcdd3bfc2a00eb3e8ce3c8a39338f5", "sha256": "94cdc2979cf3c5a6605dc3abc38dd239cc900148501690b252f90dc816c19606" }, "downloads": -1, "filename": "ci_exec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a8dcdd3bfc2a00eb3e8ce3c8a39338f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 28542, "upload_time": "2019-06-11T19:24:00", "url": "https://files.pythonhosted.org/packages/54/df/98d3ba87c9ce31ed840980caa3ac4503ef950efb265a53d1111058afb278/ci_exec-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9ae6766950325f5e12cd8e469bad577c", "sha256": "d60d56c462e46c1f53a348693b51d43c3d011e897261f82bd0c33983e309391d" }, "downloads": -1, "filename": "ci_exec-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9ae6766950325f5e12cd8e469bad577c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 37245, "upload_time": "2019-06-11T19:23:59", "url": "https://files.pythonhosted.org/packages/7e/b4/d114c5f7006354dcd8c80959c5bd77debbdfbebfcd5c6bbd048387c692bb/ci_exec-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8dcdd3bfc2a00eb3e8ce3c8a39338f5", "sha256": "94cdc2979cf3c5a6605dc3abc38dd239cc900148501690b252f90dc816c19606" }, "downloads": -1, "filename": "ci_exec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a8dcdd3bfc2a00eb3e8ce3c8a39338f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 28542, "upload_time": "2019-06-11T19:24:00", "url": "https://files.pythonhosted.org/packages/54/df/98d3ba87c9ce31ed840980caa3ac4503ef950efb265a53d1111058afb278/ci_exec-0.1.1.tar.gz" } ] }