{ "info": { "author": "Isotoma Limited", "author_email": "support@isotoma.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython" ], "description": "========\nFuselage\n========\n\n.. image:: https://img.shields.io/travis/yaybu/fuselage/master.svg\n :target: https://travis-ci.org/#!/yaybu/fuselage\n\n.. image:: https://img.shields.io/appveyor/ci/yaybu/fuselage/master.svg\n :target: https://ci.appveyor.com/project/yaybu/fuselage\n\n.. image:: https://img.shields.io/codecov/c/github/yaybu/fuselage/master.svg\n :target: https://codecov.io/github/yaybu/fuselage?ref=master\n\n.. image:: https://img.shields.io/pypi/v/fuselage.svg\n :target: https://pypi.python.org/pypi/fuselage/\n\n.. image:: https://img.shields.io/badge/docs-latest-green.svg\n :target: http://docs.yaybu.com/projects/fuselage/en/latest/\n\n\nfuselage is a idempotent configuration bundle builder and runtime.\n\nUse a simple python API to describe a server configuration and bundle that as a\nscript that can be executed on any system.\n\nYou can find us in #yaybu on irc.oftc.net.\n\n\nUsing with fabric\n-----------------\n\nYou will need to install fabric explicitly. Fuselage does not depend on fabric.\n\nYou can write simple deployment scripts with Fabric by adding this to your fabfile::\n\n from fuselage.fabric import blueprint\n from fuselage.resources import *\n\n @blueprint\n def minecraft(bundle):\n yield Directory(\n name='/var/local/minecraft',\n )\n yield Execute(\n command='wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8/minecraft_server.1.8.jar',\n cwd=\"/var/local/minecraft\",\n creates=\"/var/local/minecraft/minecraft_server.1.8.jar\",\n )\n yield File(\n name='/var/local/minecraft/server.properties',\n contents=open('var_local_minecraft_server.properties').read(),\n )\n yield File(\n name=\"/etc/systemd/system/minecraft.service\",\n contents=open(\"etc_systemd_system_minecraft.service\"),\n )\n yield Execute(\n command=\"systemctl daemon-reload\",\n watches=['/etc/systemd/system/minecraft.service'],\n )\n yield Execute(\n command=\"systemctl restart minecraft.service\",\n watches=[\n \"/var/local/minecraft/server.properties\",\n \"/etc/systemd/system/minecraft.service\",\n ]\n )\n\nAnd then run it against multiple servers::\n\n fab -H server1,server2,server3 minecraft", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://yaybu.com/", "keywords": "", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "fuselage", "package_url": "https://pypi.org/project/fuselage/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fuselage/", "project_urls": { "Homepage": "http://yaybu.com/" }, "release_url": "https://pypi.org/project/fuselage/1.0.0/", "requires_dist": [ "six", "fakechroot; extra == 'test'", "mock; extra == 'test'", "unittest2; extra == 'test'" ], "requires_python": "", "summary": "Server deployment and configuration management in Python", "version": "1.0.0" }, "last_serial": 2327065, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cfbe96ce86552264c930b3064285b1cc", "sha256": "563053ad03ef0b23dbad2e40f30e925a957648eed3647e7de477d64eceb540c7" }, "downloads": -1, "filename": "fuselage-0.0.1.zip", "has_sig": false, "md5_digest": "cfbe96ce86552264c930b3064285b1cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 137369, "upload_time": "2014-07-06T10:48:18", "url": "https://files.pythonhosted.org/packages/25/ca/bd82fb910c9e5caf17eedc2124f231f8256a23a6b9f7587879f67fe6c543/fuselage-0.0.1.zip" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "94a2348791253af36b918986ab1143a9", "sha256": "49279a96a17beebdfb6b468a0b03f17bdc50a42f4cb6aec921a3cc96c91c26d5" }, "downloads": -1, "filename": "fuselage-0.0.10.zip", "has_sig": false, "md5_digest": "94a2348791253af36b918986ab1143a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147518, "upload_time": "2015-08-27T08:58:32", "url": "https://files.pythonhosted.org/packages/9b/d8/d569c17f07383cf99db68b72dcdf076882f59832d1397e222048acb1bdd6/fuselage-0.0.10.zip" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "0962d2f7c7ae9269cba0a65919a5449f", "sha256": "d4bc6c881d7b03829619e1cf04f5565615c56a49888e3509b74b8db988cdb44a" }, "downloads": -1, "filename": "fuselage-0.0.11.zip", "has_sig": false, "md5_digest": "0962d2f7c7ae9269cba0a65919a5449f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147753, "upload_time": "2015-08-27T10:39:34", "url": "https://files.pythonhosted.org/packages/7d/97/6473d98fbc6905d9ae15b08d5ac7554f54d1ab9440eddc06d19e9cefaee5/fuselage-0.0.11.zip" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "f4831aafc6bc1634067d84be4698c60c", "sha256": "f8dbd5ce1a9a2d1b30c1f89eed3e663f5b3d6fa408ceac03f7db4247aca18730" }, "downloads": -1, "filename": "fuselage-0.0.12.tar.gz", "has_sig": false, "md5_digest": "f4831aafc6bc1634067d84be4698c60c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73726, "upload_time": "2016-05-04T09:51:34", "url": "https://files.pythonhosted.org/packages/32/e3/031605c2097b23a3919d99fe407e5948202ae4ebf9780a89b17c599ae569/fuselage-0.0.12.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "347b54687e42158e9fda184e16ddada1", "sha256": "91214b6cb0c45c906dfd456416b0a234e49b0f0ecf6d8956291f432dfb27f865" }, "downloads": -1, "filename": "fuselage-0.0.2.zip", "has_sig": false, "md5_digest": "347b54687e42158e9fda184e16ddada1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151458, "upload_time": "2014-10-06T20:42:29", "url": "https://files.pythonhosted.org/packages/7e/bc/24a3057d7fcff220aec62f471b8be672b9f2ff5046be8cb0d4a4bcf3eb19/fuselage-0.0.2.zip" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "088137da49157390d98be825661f4e21", "sha256": "ff06424cccfbcc1a31ccb47cf1a7d881a2a4b1a96adbabb63519c8f558d0c731" }, "downloads": -1, "filename": "fuselage-0.0.3.tar.gz", "has_sig": false, "md5_digest": "088137da49157390d98be825661f4e21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78559, "upload_time": "2015-03-22T22:16:10", "url": "https://files.pythonhosted.org/packages/50/5b/d49346ee18b52cebfd3e78c37cdced997d50cefe8f8ced161d5d66e3db66/fuselage-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c837c237fc59e1ed06a68c00c1d57387", "sha256": "e717f9bd1f8162c0b6ba8c65fa0ab521213561a2195ef99e9d0867c715177dc0" }, "downloads": -1, "filename": "fuselage-0.0.4.tar.gz", "has_sig": false, "md5_digest": "c837c237fc59e1ed06a68c00c1d57387", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78865, "upload_time": "2015-04-05T18:07:23", "url": "https://files.pythonhosted.org/packages/ce/70/6fb8b571c5ca9d764a056f55471fc88a6fb1e315cc3fcd34338cc2867d29/fuselage-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8871d4a04f6660ff246d817792a7d5ed", "sha256": "23a50e52b30a314691494a85c7a31da0863d8ece6988f64fcb04a3c8aa0857c9" }, "downloads": -1, "filename": "fuselage-0.0.5.zip", "has_sig": false, "md5_digest": "8871d4a04f6660ff246d817792a7d5ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 153724, "upload_time": "2015-05-11T13:25:44", "url": "https://files.pythonhosted.org/packages/06/66/0a7c99f0118439e694181ab15f77b8584db5bce64cff5e282d96ab0cb82f/fuselage-0.0.5.zip" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "20514973f1d65bec01b7770c8bfe1923", "sha256": "61b4e529939f6347fd5225b9bd962c75fcdb8817e61563f98932b3ef3e5a4829" }, "downloads": -1, "filename": "fuselage-0.0.6.tar.gz", "has_sig": false, "md5_digest": "20514973f1d65bec01b7770c8bfe1923", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79924, "upload_time": "2015-05-12T19:58:45", "url": "https://files.pythonhosted.org/packages/ab/a5/8faafbfcfa02de610dcab01c20c963ee579b6d4b5eab3b94dc4c022b4c70/fuselage-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "4cb2375f8bfe749e71f1b7db9fb7b10d", "sha256": "2ec9e498384593b14d10aa5cb51b0e8613e657793285967e93a2da4743a0ac37" }, "downloads": -1, "filename": "fuselage-0.0.7.zip", "has_sig": false, "md5_digest": "4cb2375f8bfe749e71f1b7db9fb7b10d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154593, "upload_time": "2015-05-18T10:32:13", "url": "https://files.pythonhosted.org/packages/8d/03/c8bea7d8fc8591a479e8942a4c63dff1a5b0b832d917015751f8cf43495e/fuselage-0.0.7.zip" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "44c25fa93d61bf6eab3c11760b3ca3d0", "sha256": "b3c4557b3bd835c98e59e1962c8d2c9c7b009f4e848ac136eec9bdcc2e77c0bb" }, "downloads": -1, "filename": "fuselage-0.0.8.zip", "has_sig": false, "md5_digest": "44c25fa93d61bf6eab3c11760b3ca3d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147003, "upload_time": "2015-06-14T14:36:50", "url": "https://files.pythonhosted.org/packages/9d/44/0cf2a3fb9c6f8d285390b20d90b49c65b2502b413626629eae4667eec9f3/fuselage-0.0.8.zip" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "1e528b6d655db6548e556d275e4b398b", "sha256": "0bc76cfcad872f3cab8563a997cf11b7414269c6ad1f773079aa3274679c423c" }, "downloads": -1, "filename": "fuselage-0.0.9.zip", "has_sig": false, "md5_digest": "1e528b6d655db6548e556d275e4b398b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 147035, "upload_time": "2015-06-14T15:51:58", "url": "https://files.pythonhosted.org/packages/c1/26/be6d29ed7d820d24b225da5665ffa83d37ea6bd3d8994aac3713459a8a1c/fuselage-0.0.9.zip" } ], "0.0.dev0": [], "1.0.0": [ { "comment_text": "", "digests": { "md5": "77787239df1c15c0551c68749f56623c", "sha256": "ae09dc8659828f57dd6efaf2e964e6a40c1cd19bfe29420bd5dbaf981c1663ad" }, "downloads": -1, "filename": "fuselage-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77787239df1c15c0551c68749f56623c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 143401, "upload_time": "2016-06-17T14:59:54", "url": "https://files.pythonhosted.org/packages/83/12/ef7e6c4be62d666340b1b080bfa35a7ca747596e25a6af74ae8a6a7a3f85/fuselage-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e3d54fc7633572ee3d3702bb7d7a5b1", "sha256": "5c11272f0832c3b7064492e67fb840191f57f9386918920947b955d012e5c976" }, "downloads": -1, "filename": "fuselage-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8e3d54fc7633572ee3d3702bb7d7a5b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74432, "upload_time": "2016-06-17T14:59:58", "url": "https://files.pythonhosted.org/packages/77/37/d7543e6bf7208e814040928818b60ed79c604f5544f4e9202acf46269b67/fuselage-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77787239df1c15c0551c68749f56623c", "sha256": "ae09dc8659828f57dd6efaf2e964e6a40c1cd19bfe29420bd5dbaf981c1663ad" }, "downloads": -1, "filename": "fuselage-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77787239df1c15c0551c68749f56623c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 143401, "upload_time": "2016-06-17T14:59:54", "url": "https://files.pythonhosted.org/packages/83/12/ef7e6c4be62d666340b1b080bfa35a7ca747596e25a6af74ae8a6a7a3f85/fuselage-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e3d54fc7633572ee3d3702bb7d7a5b1", "sha256": "5c11272f0832c3b7064492e67fb840191f57f9386918920947b955d012e5c976" }, "downloads": -1, "filename": "fuselage-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8e3d54fc7633572ee3d3702bb7d7a5b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74432, "upload_time": "2016-06-17T14:59:58", "url": "https://files.pythonhosted.org/packages/77/37/d7543e6bf7208e814040928818b60ed79c604f5544f4e9202acf46269b67/fuselage-1.0.0.tar.gz" } ] }