{ "info": { "author": "Mike Thornton", "author_email": "six8@devdetails.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Systems Administration", "Topic :: System :: System Shells" ], "description": "Clom is a Python Command Line Object Mapper. It's intended to make generating generating commands and escaping arguments\neasier for command line interaction. It's particularly useful when used with `Fabric `_ or ``subprocess``.\n\n- `Documentation `_\n- `Clom on GitHub `_\n- `Clom on Pypi `_\n\nInstallation\n------------\n\nInstall with ``pip`` or ``easy_install``.\n\n::\n\n pip install clom\n\nUsage Examples\n--------------\n\nImport::\n\n\t>>> from clom import clom\n\nBuild a command::\n\n\n\t>>> clom.echo(\"Don't test me\")\n\t\"echo 'Don'\\\\''t test me'\"\n\nAugment with arguments::\n\n\t>>> clom.ls.with_opts('-a', '-t', l=True).with_args('~/')\n\t'ls -a -t -l '~/''\n\t>>> clom.curl('http://dev.host', X='POST', data='message=hello')\n\t'curl -X POST --data message=hello http://dev.host'\n\n\nUse sub commands::\n\n\t>>> clom.git.checkout('mybranch')\n\t'git checkout mybranch'\n\nExecute with ease::\n\n\t>>> clom.ls.shell.all()\n\t['clom', 'clom.egg-info', 'docs', 'tests']\n\n\t>>> clom.git.status.shell('.').first()\n\t'# On branch master'\n\nIterate over results::\n\n\t>>> for path in clom.ls.shell():\n\t... print path\n\t... \n\tclom\n\tclom.egg-info\n\tdocs\n\ttests\n\nHandle errors::\n\n\t>>> clom.vagrant.up.shell()\n\tTraceback (most recent call last):\n\t File \"\", line 1, in \n\t File \"/Users/mthornton/Dropbox/Projects/python-clom/src/clom/shell.py\", line 164, in __call__\n\t raise CommandError(status, stdout, stderr, 'Error while executing \"%s\" (%s):\\n%s' % (cmd, status, stderr or stdout))\n\tCommandError: Error while executing \"vagrant up\" (3):\n\tNo Vagrant environment detected. Run `vagrant init` to set one up.\n\nGroup commands::\n\n\t>>> from clom import AND, OR\n\t>>> OR(clom.vagrant.up, clom.echo('Vagrant up failed'))\n\t'( vagrant up || echo 'Vagrant up failed' )'\n\t>>> OR(clom.vagrant.up, clom.echo('Vagrant up failed')).shell()\n\t\n\t>>> print OR(clom.vagrant.up, clom.echo('Vagrant up failed')).shell()\n\tNo Vagrant environment detected. Run `vagrant init` to set one up.\n\tVagrant up failed\n\nRe-use commands::\n\n\t>>> vbox = clom.VBoxManage\n\t>>> vbox.list.runningvms\n\t'VBoxManage list runningvms'\n\t>>> vbox.list.runningvms.shell.all()\n\t['']\n\t>>> vbox.list.vms.shell.all()\n\t['\"Windows Base\" {949ec0af-92d0-4140-8a6c-36301ca6f695}']\n\nBackground tasks::\n\n\t>>> clom.VBoxHeadless.with_opts(startvm=\"Windows Base\").background()\n\t'nohup VBoxHeadless --startvm 'Windows Base' &> /dev/null &'\n\t>>> clom.VBoxHeadless.with_opts(startvm=\"Windows Base\").background().shell()\n\t\n\n\t>>> vbox.list.runningvms.shell.all()\n\t['\"Windows Base\" {949ec0af-92d0-4140-8a6c-36301ca6f695}']\n\nWorks great with fabric::\n\n\t>>> from fabric.api import run, local\n\t>>> local(clom.ls)\n\t[localhost] local: ls\n\tclom\t\tclom.egg-info\tdocs\t\tnohup.out\ttests\n\t''\n\nCan even create fab commands::\n\n\t>>> clom.fab.test('doctest', 'unit').deploy('dev')\n\t'fab test:doctest,unit deploy:dev'\n\t>>> clom.fab.with_opts('-a', hosts='dev.host').deploy.with_args('dev','test')\n\t'fab -a --hosts dev.host deploy:dev,test'\n\n\nSee more examples and the API in the `Clom Documentation `_\n\nRunning Tests\n-------------\n\nTest are run using pytest::\n\n\tpip install pytest\n\n::\n\n\tpython tests/runtests.py -v --doctest-modules", "description_content_type": null, "docs_url": null, "download_url": "http://github.com/six8/python-clom", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://clom.rtfd.org", "keywords": "command line,fabric,bash,shell", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "clom", "package_url": "https://pypi.org/project/clom/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/clom/", "project_urls": { "Download": "http://github.com/six8/python-clom", "Homepage": "http://clom.rtfd.org" }, "release_url": "https://pypi.org/project/clom/0.7.5/", "requires_dist": null, "requires_python": null, "summary": "The easiest way to use the command line with Python. Command Line Object Mapper. A library for building POSIX command line arguments, commands, and parameters. Very useful for Fabric tasks.", "version": "0.7.5" }, "last_serial": 1247113, "releases": { "0.7": [ { "comment_text": "", "digests": { "md5": "d74312b6e555388ff31ffd056626dba6", "sha256": "3b3378d8db41aa88742e5aba4d33d1fc7511957ece00f0564ef6e5120095eb17" }, "downloads": -1, "filename": "clom-0.7.tar.gz", "has_sig": false, "md5_digest": "d74312b6e555388ff31ffd056626dba6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5850, "upload_time": "2011-09-05T11:07:22", "url": "https://files.pythonhosted.org/packages/c6/0b/48443bf2e8a532504f56dcb5658c0dbec49d7e50f1168021b7622a3a2a8c/clom-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "34901db9835d8e3fb055f157ba2c93c4", "sha256": "96348b5fea2373abba42364ade6c849ba5cd7d79c07d3cdd11944ca6351d1fd7" }, "downloads": -1, "filename": "clom-0.7.1.tar.gz", "has_sig": false, "md5_digest": "34901db9835d8e3fb055f157ba2c93c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5790, "upload_time": "2011-09-21T22:45:46", "url": "https://files.pythonhosted.org/packages/6c/4e/64b4b39bc41a2b6c20af2911811f92b67810859e8b250c531359a948ef53/clom-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "fad26d970a793f602553bf77fcaa0ffe", "sha256": "03b5a6760a7409868a64455e134ca7acc8f978425a4c3bcd76ec21674b85c44b" }, "downloads": -1, "filename": "clom-0.7.2.tar.gz", "has_sig": false, "md5_digest": "fad26d970a793f602553bf77fcaa0ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8776, "upload_time": "2011-11-07T23:55:06", "url": "https://files.pythonhosted.org/packages/10/fc/57da0ab36ff87dd6f93fe00a902897f98631a7d30162f669443f9c36e496/clom-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "88ca8bc9b8d0e96d5083692e620bd065", "sha256": "5438118f35a3854076b5721eddb676a36d4e0487df77b24d755cd885a55845cf" }, "downloads": -1, "filename": "clom-0.7.3.tar.gz", "has_sig": false, "md5_digest": "88ca8bc9b8d0e96d5083692e620bd065", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9165, "upload_time": "2011-11-11T08:24:27", "url": "https://files.pythonhosted.org/packages/99/b3/131957f93561a86250b4d0ff945db021e54a2271f5a61e65fb917dd4674d/clom-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "de3fda604a4311974b86e0d57c84428d", "sha256": "db903437b7b01a420c6f024c3537ff3c39ae7924d415e8facdf8fbb5ab66bd60" }, "downloads": -1, "filename": "clom-0.7.4.tar.gz", "has_sig": false, "md5_digest": "de3fda604a4311974b86e0d57c84428d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9122, "upload_time": "2012-04-03T00:12:47", "url": "https://files.pythonhosted.org/packages/8c/23/5bbb3aa0d3a2f37bcf1774f8680b130c30e3e9f524593fcd6f30a82bb3bf/clom-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "15e557fc0b870e5c8713a2f53e76d7a8", "sha256": "20560ecfe3226d5447922509cd360c73c22c66c1a0fa967cee6d266ab4250888" }, "downloads": -1, "filename": "clom-0.7.5.tar.gz", "has_sig": false, "md5_digest": "15e557fc0b870e5c8713a2f53e76d7a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9083, "upload_time": "2014-10-02T20:42:54", "url": "https://files.pythonhosted.org/packages/f2/1d/6e91287523a6812fa133f4edd4326b4f83fac91f317baae09bb70f1913ad/clom-0.7.5.tar.gz" } ], "0.8.0a1": [ { "comment_text": "", "digests": { "md5": "9b3401db7aa88d4e0ffb2acad144cda0", "sha256": "b19efe095c1dc6030199ccb578731d3e8e3f5166a527f27ba1d3b82f77729313" }, "downloads": -1, "filename": "clom-0.8.0a1.tar.gz", "has_sig": false, "md5_digest": "9b3401db7aa88d4e0ffb2acad144cda0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9250, "upload_time": "2014-10-03T18:19:04", "url": "https://files.pythonhosted.org/packages/b3/5e/1430ce7563b0e3b56ee90c504216dca7b1f57220e35ca9afed9e94cd0825/clom-0.8.0a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "15e557fc0b870e5c8713a2f53e76d7a8", "sha256": "20560ecfe3226d5447922509cd360c73c22c66c1a0fa967cee6d266ab4250888" }, "downloads": -1, "filename": "clom-0.7.5.tar.gz", "has_sig": false, "md5_digest": "15e557fc0b870e5c8713a2f53e76d7a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9083, "upload_time": "2014-10-02T20:42:54", "url": "https://files.pythonhosted.org/packages/f2/1d/6e91287523a6812fa133f4edd4326b4f83fac91f317baae09bb70f1913ad/clom-0.7.5.tar.gz" } ] }