{ "info": { "author": "Craig Sawyer", "author_email": "csawyer@yumaed.org", "bugtrack_url": null, "classifiers": [], "description": "cifit is a lightweight configuration management toolkit, it patterns itself off of cfengine \n a little bit (it has classes), borrows from bcfg2, but the language to manage your\n configurations is python.\n\n\nBUILD:\n\tYou need mercurial, setuptools, and python of course.\n\tYou also need hgdistver:\n\thttps://bitbucket.org/RonnyPfannschmidt/hgdistver/overview\n\n\n\nCurrently cifit only is tested against OSX (partly) and Debian & Ubuntu (systems with apt installed). Everything here should work or be extensible against any posix compliant box you can get python on. it *could* be made to work on windows, patches accepted.\n\nsee docs/ for documentation.\nsee examples/ for a few rudimentary examples.\n\nThe idea behind this code is that you write a config file (.cft) that is in python, but you only run the code thru cifit.\n\nDoing this gives you a bunch of built-ins that make managing systems easier.\n\nNormally I run cifit from crontab every 5 minutes.\n\nYou should put your configs in a Version Control system (say subversion or git) then it's also easy to update configs:\n\ncifit automatically puts the current directory to the basename of the .cft file that cifit runs, so to do a svn update:\n\nfiles.run('svn update')\n\nit's easy to manage your system or pear or python packages:\n\npackages = ['apache2','ssh','php5']\nfor p in packages:\n\tpkg.installPackage(p)\n\nit's easy to change or update your files: (on multiple runs it will NOT append it twice).\n\tfiles.append('/etc/issue',['This system is managed by cifit'])\n\nIt's easy to use sed like replacements on a file.\nfor example to turn magic_quotes off:\n\tfiles.sub(\"/etc/php5/apache2/php.ini\",[\"/magic_quotes_gpc = On/magic_quotes_gpc = Off/\"])\n\nIt's easy to keep apache running:\n\tif not procs.checkService('apache2'):\n\t\tprocs.startService('apache2')\n\nWhy yet another Configuration Management Engine?\n\nI love python. I hate XML, I love the ideas behind cfengine, but I can't\nunderstand the magic behind it to actually do something useful. I understand python, so I write my configs in python.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/csawyer/cifit/overview", "keywords": "config,system", "license": "GPLv2", "maintainer": null, "maintainer_email": null, "name": "cifit", "package_url": "https://pypi.org/project/cifit/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cifit/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/csawyer/cifit/overview" }, "release_url": "https://pypi.org/project/cifit/0.4.post3-f1f5f604f2f0-20110127/", "requires_dist": null, "requires_python": null, "summary": "Lightweight configuration management toolkit which you write in python", "version": "0.4.post3-f1f5f604f2f0-20110127" }, "last_serial": 787403, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b1b702d85eceb933c8959a71ebdbcef4", "sha256": "0d9461f97eb5d451ca896a6a68c4422814d5334715d4cdd9d9ca166faf5d82ff" }, "downloads": -1, "filename": "cifit-0.1-py2.6.egg", "has_sig": false, "md5_digest": "b1b702d85eceb933c8959a71ebdbcef4", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 24031, "upload_time": "2010-01-19T18:05:51", "url": "https://files.pythonhosted.org/packages/c7/a3/38e9f4aebb71c2ae33a4359a632aeb5a80ebc60d62a1523179405169d1a5/cifit-0.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "89f182da107e8303ba4ce73aaf67c545", "sha256": "a40e0b7a615055caae939efe7ffd3a41ad8483c80226c494ed7934d92dcd70ca" }, "downloads": -1, "filename": "cifit-0.1.tar.gz", "has_sig": false, "md5_digest": "89f182da107e8303ba4ce73aaf67c545", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11654, "upload_time": "2010-01-19T18:05:42", "url": "https://files.pythonhosted.org/packages/4a/af/da8f495521a55f91c3d0f6c2510efbd965ea68221d4b3fbdcaa16d2bb8f2/cifit-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "b80a78586d7990e3f9bba546ab4e42d4", "sha256": "6a6961ad0c460d013aca040be21ba5dde2f6be34f6d1d7c14dff0a121d3e7c30" }, "downloads": -1, "filename": "cifit-0.2-py2.6.egg", "has_sig": false, "md5_digest": "b80a78586d7990e3f9bba546ab4e42d4", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 24207, "upload_time": "2010-01-26T00:20:24", "url": "https://files.pythonhosted.org/packages/10/81/b0bb78f3b817f83cc4580007de2d904f7f4d3f6280770fd723294ccb9838/cifit-0.2-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "9d0ed49ea8c5a19521907d281e2bf980", "sha256": "e3c9d1fd514f1733a23b80ee8fa2af3228a22ed21ad6c46fefe8045f6f362564" }, "downloads": -1, "filename": "cifit-0.2.tar.gz", "has_sig": false, "md5_digest": "9d0ed49ea8c5a19521907d281e2bf980", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12925, "upload_time": "2010-01-26T00:06:32", "url": "https://files.pythonhosted.org/packages/f1/14/e28e6637e280c2cd6b213a10a24bece924e36fab0f0ebd305b5b6b7c8489/cifit-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "66f73dfaa2dee529348523c193a0ceae", "sha256": "1f2544879f20a1640d024e5ff516bb34206c4ce9dc71553f22d1903320612cca" }, "downloads": -1, "filename": "cifit-0.3-py2.5.egg", "has_sig": false, "md5_digest": "66f73dfaa2dee529348523c193a0ceae", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 32003, "upload_time": "2010-03-10T20:18:40", "url": "https://files.pythonhosted.org/packages/b4/ff/7446e7eb42bf0eeb351b9be03e4dd86566b475dd1c9e6e58a104b38c4800/cifit-0.3-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "b0e85cbc961c559d5b5d9a30b3f4475d", "sha256": "b3aa777e859c2db63362b75a7a2a19ab7d97ca5d32b944353dae0d43d4a377f7" }, "downloads": -1, "filename": "cifit-0.3.tar.gz", "has_sig": false, "md5_digest": "b0e85cbc961c559d5b5d9a30b3f4475d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12319, "upload_time": "2010-03-10T20:16:55", "url": "https://files.pythonhosted.org/packages/68/1b/7ba01eac547685ceb0b331a01f56a2dd27da3000d787b70ecbc6396ac7fb/cifit-0.3.tar.gz" } ], "0.4.post3-f1f5f604f2f0-20110127": [ { "comment_text": "", "digests": { "md5": "ac071910ed1289634ef8444b41f594a7", "sha256": "9aaeabf4fabe81bf5acdc7c46f0a848a1eb2820e4eca7dae1321b7144341c0f0" }, "downloads": -1, "filename": "cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg", "has_sig": false, "md5_digest": "ac071910ed1289634ef8444b41f594a7", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 42996, "upload_time": "2011-01-27T21:31:12", "url": "https://files.pythonhosted.org/packages/46/e0/1778e1505c8ef0510124a63eaaea4c87eb1bdcc64e07be81b37d89f98426/cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "5b90aa3e70b76628e525feb33e1ae6f8", "sha256": "ff9cf73f8aeb54d8a5ac65c735554b05ddc2c303fa04ad968c9b4419d2318566" }, "downloads": -1, "filename": "cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz", "has_sig": false, "md5_digest": "5b90aa3e70b76628e525feb33e1ae6f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15977, "upload_time": "2011-01-27T21:31:10", "url": "https://files.pythonhosted.org/packages/3f/ff/6fc657622a355415a813a310d11bb527a389447b53fb14831e97dcfe2ebe/cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz" } ], "0.4.post5-19272271c92e-20110127": [ { "comment_text": "", "digests": { "md5": "7a5ce26b11c32f29d3505014cd6da943", "sha256": "43118958e3a900b1dd4b97f2e54fbb6e6196dd2fa8da1066e6994462a3b00c03" }, "downloads": -1, "filename": "cifit-0.4.post5_19272271c92e_20110127-py2.5.egg", "has_sig": false, "md5_digest": "7a5ce26b11c32f29d3505014cd6da943", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 42996, "upload_time": "2011-01-27T21:44:28", "url": "https://files.pythonhosted.org/packages/d8/d6/7f7d7600f665bb3ecbbce98be6407e31fad1d0cc3c780698a606cda15d3d/cifit-0.4.post5_19272271c92e_20110127-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "64d6cad17c09646df5fa247e54091bd8", "sha256": "191b6f16cb46dee6d4511c0a3f53d8873e8ba6aac4a483fbf6f164984ad8fe6c" }, "downloads": -1, "filename": "cifit-0.4.post5-19272271c92e-20110127.tar.gz", "has_sig": false, "md5_digest": "64d6cad17c09646df5fa247e54091bd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15982, "upload_time": "2011-01-27T21:44:26", "url": "https://files.pythonhosted.org/packages/0e/cf/d4d241efc0a6ffac15c3cd8f50aefc5e809b956aa0bf0b0988a89203b25d/cifit-0.4.post5-19272271c92e-20110127.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac071910ed1289634ef8444b41f594a7", "sha256": "9aaeabf4fabe81bf5acdc7c46f0a848a1eb2820e4eca7dae1321b7144341c0f0" }, "downloads": -1, "filename": "cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg", "has_sig": false, "md5_digest": "ac071910ed1289634ef8444b41f594a7", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 42996, "upload_time": "2011-01-27T21:31:12", "url": "https://files.pythonhosted.org/packages/46/e0/1778e1505c8ef0510124a63eaaea4c87eb1bdcc64e07be81b37d89f98426/cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "5b90aa3e70b76628e525feb33e1ae6f8", "sha256": "ff9cf73f8aeb54d8a5ac65c735554b05ddc2c303fa04ad968c9b4419d2318566" }, "downloads": -1, "filename": "cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz", "has_sig": false, "md5_digest": "5b90aa3e70b76628e525feb33e1ae6f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15977, "upload_time": "2011-01-27T21:31:10", "url": "https://files.pythonhosted.org/packages/3f/ff/6fc657622a355415a813a310d11bb527a389447b53fb14831e97dcfe2ebe/cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz" } ] }