{ "info": { "author": "Dave White", "author_email": "dwhite@yieldbot.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Singularity CLI\n===============\n\nA CLI for the Singularity REST API with some opinionated configuration\nmanagement for Singularity Requests and Deploys.\n\nInstallation\n------------\n\nIf you don't use ``pipsi``, you're missing out. Here are `installation\ninstructions `__.\n\nAfter setting up ``pipsi`` you may need to add the following to your\nPATH environment variable:\n\n``$HOME/bin:$HOME/.local/bin``\n\nSimply run:\n\n::\n\n $ pipsi install .\n\nUsage\n-----\n\nTo use it:\n\n``singularity --help``\n\nand\n\n``$ singularity COMMAND --help``\n\nGlobal options\n--------------\n\n::\n\n -h, --singularity-host TEXT Singularity host url\n -k, --insecure Allow connections to SSL sites without certs (H)\n\nEnvironment variables\n---------------------\n\nThe ``--singularity-host`` and ``--insecure`` global options can also be\nspecified and set with the following environment variables:\n\n::\n\n SINGULARITY_URL Set to the Singularity url\n SINGULARITY_INSECURE Set to a truthy/falsey value. (e.g. 0|1|true|false)\n\nCommands\n--------\n\nstate\n~~~~~\n\nGet the overall state of Singularity in terms of the number of requests,\ntasks, racks, slaves each broken down various states\n\nrequest\n~~~~~~~\n\nGet or update Singularity requests.\n\nsync\n^^^^\n\nSynchronize requests and associated deploys from JSON files on the\nfilesystem. The sync command can take either a specific file to sync\nwith the ``--file`` option or a directory containing a set of files to\nsync with the ``--dir`` option. Each file that is processed must be a\nvalid JSON file with the following structure:\n\n{ \"request\":\n`SingularityRequest `__,\n\"deploy\":\n`SingularityDeploy `__\n}\n\nbounce\n^^^^^^\n\nRestart the tasks for a given request\n\ndelete\n^^^^^^\n\nDelete the request and stop all tasks associated with it\n\nget\n^^^\n\nGet a request by id\n\nlist\n^^^^\n\nGet a list of requests by their state\n\ninstances\n^^^^^^^^^\n\nScale the number of tasks running for a given request\n\npause\n^^^^^\n\nPause the request to disallow new deploys against it. Optionally kill\nall tasks for the request while paused.\n\nrun\n^^^\n\nRun a on-demand or scheduled request now.\n\nunpause\n^^^^^^^\n\nUnpause a request that was previously paused\n\nExamples\n========\n\nGet the state of Singularity\n----------------------------\n\n::\n\n $ singularity -k state\n Requests\n\n Active Paused Cooling Down Pending Cleaning\n -------- -------- -------------- --------- ----------\n 3 1 0 0 0\n Tasks\n\n Active Scheduled Overdue Cleaning Load Balancer Cleanup\n -------- ----------- --------- ---------- -----------------------\n 1 1 0 0 0\n Racks\n\n Active Decommissioning Inactive\n -------- ----------------- ----------\n 3 0 0\n Slaves\n\n Active Decommissioning Inactive Unknown\n -------- ----------------- ---------- ---------\n 6 0 0 0\n\nGet the list of all requests\n----------------------------\n\n::\n\n $ singularity -k request list\n Id State Type Instances Deploy Id\n ----------------- ------- --------- ----------- -----------\n yb-echo ACTIVE SERVICE 1 9\n yb-on-demand-test ACTIVE ON_DEMAND 1 1\n test.ondemand PAUSED ON_DEMAND 1 1\n yb-scheduled-test ACTIVE SCHEDULED 1 3\n\nGet the list of all active requests\n-----------------------------------\n\n::\n\n $ singularity -k request list -t active\n Id State Type Instances Deploy Id\n ----------------- ------- --------- ----------- -----------\n yb-echo ACTIVE SERVICE 1 9\n yb-on-demand-test ACTIVE ON_DEMAND 1 1\n yb-scheduled-test ACTIVE SCHEDULED 1 3\n\nGet the state of a request\n--------------------------\n\n::\n\n $ singularity -k request get yb-echo\n -------------- ------------------------\n Id yb-echo\n State ACTIVE\n Type SERVICE\n Instances 1\n Rack Sensitive False\n Load Balanced False\n Owners [u'dwhite@yieldbot.com']\n Deploy Id 9\n -------------- ------------------------\n\nSynchronize the state of a request (without a deploy change)\n------------------------------------------------------------\n\n::\n\n $ singularity -k request sync --file ~/src/skeeter/clusters/platform/prd/singularity/yb-echo.json \n syncronized request yb-echo\n\nSynchronize the state of a request (with a deploy change)\n---------------------------------------------------------\n\n::\n\n $ singularity -k request sync --file ~/src/skeeter/clusters/platform/prd/singularity/yb-echo.json \n syncronized request yb-echo\n syncronized deploy 10 for request yb-echo\n\nPause/unpause a request\n-----------------------\n\n::\n\n $ singularity -k request pause yb-echo\n paused request yb-echo with killTasks=False\n\n $ singularity -k request get yb-echo\n -------------- ------------------------\n Id yb-echo\n State PAUSED\n Type SERVICE\n Instances 1\n Rack Sensitive False\n Load Balanced False\n Owners [u'dwhite@yieldbot.com']\n Deploy Id 10\n -------------- ------------------------\n\n $ singularity -k request unpause yb-echo\n unpaused request yb-echo\n\n $ singularity -k request get yb-echo\n -------------- ------------------------\n Id yb-echo\n State ACTIVE\n Type SERVICE\n Instances 1\n Rack Sensitive False\n Load Balanced False\n Owners [u'dwhite@yieldbot.com']\n Deploy Id 10\n -------------- ------------------------\n\nScale a request\n---------------\n\n::\n\n $ singularity -k request instances yb-echo 2\n setting instances to 2 for request yb-echo\n\n $ singularity -k request get yb-echo\n -------------- ------------------------\n Id yb-echo\n State ACTIVE\n Type SERVICE\n Instances 2\n Rack Sensitive False\n Load Balanced False\n Owners [u'dwhite@yieldbot.com']\n Deploy Id 10\n -------------- ------------------------\n\n $ singularity -k request instances yb-echo 1\n setting instances to 1 for request yb-echo\n\n $ singularity -k request get yb-echo\n -------------- ------------------------\n Id yb-echo\n State ACTIVE\n Type SERVICE\n Instances 1\n Rack Sensitive False\n Load Balanced False\n Owners [u'dwhite@yieldbot.com']\n Deploy Id 10\n -------------- ------------------------\n\nBounce a request (restarts all tasks for the request)\n-----------------------------------------------------\n\n::\n\n $ singularity -k request bounce yb-echo\n bounced request yb-echo\n\nTODO\n====\n\n- Tests, tests, tests...\n- Flesh out remaining cli commands based on what's available in the\n `Singularity\n API `__\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/yieldbot/singularity-py/tarball/0.1.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yieldbot/singularity-py", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "singularity-cli", "package_url": "https://pypi.org/project/singularity-cli/", "platform": "any", "project_url": "https://pypi.org/project/singularity-cli/", "project_urls": { "Download": "https://github.com/yieldbot/singularity-py/tarball/0.1.0", "Homepage": "https://github.com/yieldbot/singularity-py" }, "release_url": "https://pypi.org/project/singularity-cli/0.1.10/", "requires_dist": [ "click", "requests", "tabulate" ], "requires_python": "", "summary": "Opinionated CLI for Singularity PAAS", "version": "0.1.10" }, "last_serial": 3072655, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "86d74e23419e549e886e689471192bd1", "sha256": "62a472a34a83de294ecbde3f5a208fa3d404643b7597dd40a793a4fc832e838e" }, "downloads": -1, "filename": "singularity-cli-0.1.0.tar.gz", "has_sig": false, "md5_digest": "86d74e23419e549e886e689471192bd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9808, "upload_time": "2016-01-20T14:50:51", "url": "https://files.pythonhosted.org/packages/c1/31/692e8d87cbd249fde771ff575fd360a1a2cc496121eee56261d02591f944/singularity-cli-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "58ac604f918b9f1bc97f170ae9cc093e", "sha256": "e85b242ac04c768eaa1a8318c02bbc6018e640eb988a5a3e546aafa8689bb0ec" }, "downloads": -1, "filename": "singularity-cli-0.1.1.tar.gz", "has_sig": false, "md5_digest": "58ac604f918b9f1bc97f170ae9cc093e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10001, "upload_time": "2016-01-28T18:31:47", "url": "https://files.pythonhosted.org/packages/ec/c7/a8310074c634e8fb4af665e11adef3ad4a96445afee4a23900167342347d/singularity-cli-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "051607876bbbd66068ecb653bb607189", "sha256": "14821f6bdbbef7b196785f65261868ccf85c6325d6b39d15719d6195ee48a1cc" }, "downloads": -1, "filename": "singularity_cli-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "051607876bbbd66068ecb653bb607189", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12145, "upload_time": "2017-08-04T13:32:49", "url": "https://files.pythonhosted.org/packages/9c/3e/7fe19395ff601e877733a41778515f7753ebdee223c66f42e22b23a1f233/singularity_cli-0.1.10-py2.py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0a59333d6d3514220dcddff52993b3b7", "sha256": "cf49e079792d5c1e7674798fa55c993de72ba195d574909d1b795011efe5c409" }, "downloads": -1, "filename": "singularity-cli-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0a59333d6d3514220dcddff52993b3b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10108, "upload_time": "2016-02-04T14:11:45", "url": "https://files.pythonhosted.org/packages/3f/65/0c9b88710be719c979ca6a6b226079142fdc77b0a558e82f15dfab3c62b3/singularity-cli-0.1.2.tar.gz" } ], "0.1.3": [], "0.1.4": [ { "comment_text": "", "digests": { "md5": "55f02e37dd9a0ff5a489b998d1647995", "sha256": "aa82257c55c42ad9f3ec6ddd93a20fb2ba5a8df23d696178fcc5f89972b8a645" }, "downloads": -1, "filename": "singularity-cli-0.1.4.tar.gz", "has_sig": false, "md5_digest": "55f02e37dd9a0ff5a489b998d1647995", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10154, "upload_time": "2016-02-04T18:06:57", "url": "https://files.pythonhosted.org/packages/6b/0a/8fbaf4d6058404e4315e0f4f800223b3980eac460bff30e29acfb5ef4334/singularity-cli-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "bc7066a607e8a90718ef6936d1ba3db3", "sha256": "14d6048f76d32b3e27e04170e9c1d752284652b5a883e6d6bc18906bc67e1d1e" }, "downloads": -1, "filename": "singularity-cli-0.1.5.tar.gz", "has_sig": false, "md5_digest": "bc7066a607e8a90718ef6936d1ba3db3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10451, "upload_time": "2016-02-09T15:52:20", "url": "https://files.pythonhosted.org/packages/af/d4/ec0bd5dfad148e70224e468a0851a8f99eeca2eea265330805a314669243/singularity-cli-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "670620e2ddd9af9aa73f86aa1aedb77b", "sha256": "4b61c7fb5ee59123566b2a66f9bd12e47615b0ff1930b6ec5c9f917d778134df" }, "downloads": -1, "filename": "singularity-cli-0.1.6.tar.gz", "has_sig": false, "md5_digest": "670620e2ddd9af9aa73f86aa1aedb77b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10448, "upload_time": "2016-03-03T03:26:11", "url": "https://files.pythonhosted.org/packages/8c/07/1be39bf04eb62dcae5e88342e0aa95c695e69d8112390abd6c2585479691/singularity-cli-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "b4fdf07eb557a9b411141b3bed88a54a", "sha256": "13f8e34689e0870b4529c73e835d2e8d3764b503d39361b8f76cd3639e2a8ef2" }, "downloads": -1, "filename": "singularity-cli-0.1.7.tar.gz", "has_sig": false, "md5_digest": "b4fdf07eb557a9b411141b3bed88a54a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10459, "upload_time": "2016-03-07T22:13:18", "url": "https://files.pythonhosted.org/packages/2a/bc/bfd56be2cb46ef5a917036a6d03ee7123e2363ee831a695dfca3c961b4b5/singularity-cli-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9791e3bf0d67f9197f567c776b24c1a5", "sha256": "ccfbafdb7cfcfc93bf5b25984201f0628b206cd3c532c9ab4580c3fe68eac164" }, "downloads": -1, "filename": "singularity-cli-0.1.8.tar.gz", "has_sig": false, "md5_digest": "9791e3bf0d67f9197f567c776b24c1a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10466, "upload_time": "2016-03-08T12:58:13", "url": "https://files.pythonhosted.org/packages/27/48/d3bb884934d73039fa08f2c75a148dba32c99a5fde52420d9806565f4a7f/singularity-cli-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "fe20fbccb5b4636ccef3ec326be21438", "sha256": "49014ce0af9d474c133d087f1cbd5524d8b9dc92e179bb28d789d3bcea4e496b" }, "downloads": -1, "filename": "singularity-cli-0.1.9.tar.gz", "has_sig": false, "md5_digest": "fe20fbccb5b4636ccef3ec326be21438", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10576, "upload_time": "2016-04-20T14:38:42", "url": "https://files.pythonhosted.org/packages/7c/89/7fdd6aa4d1d2be969d18ec61791b81a1cf975f27959e491345ad9bbcbf62/singularity-cli-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "051607876bbbd66068ecb653bb607189", "sha256": "14821f6bdbbef7b196785f65261868ccf85c6325d6b39d15719d6195ee48a1cc" }, "downloads": -1, "filename": "singularity_cli-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "051607876bbbd66068ecb653bb607189", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12145, "upload_time": "2017-08-04T13:32:49", "url": "https://files.pythonhosted.org/packages/9c/3e/7fe19395ff601e877733a41778515f7753ebdee223c66f42e22b23a1f233/singularity_cli-0.1.10-py2.py3-none-any.whl" } ] }