{ "info": { "author": "Gautam R Singh", "author_email": "g@ut.am", "bugtrack_url": null, "classifiers": [], "description": "===========\nsillyfacter\n===========\n\nSillyfacter prints JSON facts related to the **state** of the system.\nThe state here mean overview of the process running, their connections\nand open files. You can also pass mongodb url to store in database.\n\nCurrent focus on:\n\n - Portable \\*.nix\n - Expandable using custom agents/modules\n - Output/filter to stdout or mongo db using pymongo or (Celery?)\n\n**For more info:** `sillyfacter at github`_\n\nInstallation\n~~~~~~~~~~~~\n\nRequirements\n^^^^^^^^^^^^^\n\nDesgined in Python 2.7, for \\*nix systems. Tested on Mac, RHEL, Solaris.\nThe Python package dependencies are:\n\n- netaddr\n- netifaces\n- psutil\n- pymongo\n- pip >= v1.5.1\n\nBut these are taken care by **pip** during installation\n\nUsing pip\n^^^^^^^^^\n\n::\n\n # Needs pip v1.5\n # So just upgrade it anyways...\n pip install --ugrade pip\n\n\n pip install --upgrade --allow-all-external --allow-unverified netifaces sillyfacter\n # --upgrade ensures latest versions\n # --allow-all-external and --allow-unverified is needed for netifaces :-(\n\nFrom source:\n^^^^^^^^^^^^\n\nOn Debian:\nEnsure following things are installed:\n\n- ``apt-get install python-dev build-essential``\n- ``apt-get install libbz2-dev libssl-dev libsqlite3-dev libreadline6-dev ncurses-dev``\n\nDownload installer bash script and run it\n\n- ``wget https://raw.github.com/hihellobolke/sillyfacter/master/installer.bash``\n- ``bash installer.bash``\n\nUsage\n~~~~~\n\nJust execute **sillyfacter** and it should output result back in JSON.\nIf you like to store output directly in a MongoDB, pass mongodb url\nusing ``--out mongodb://mydb/``. Otherwise it just dumps JSON to\nconsole.\n\nSimple JSON output\n^^^^^^^^^^^^^^^^^^\n\n::\n\n $ sillyfacter\n {\n \"_scan_id\": \"gautsing-mac\",\n \"_scan_time\": \"1390293214\",\n \"arch\": \"x86_64\",\n \"boottime\": \"1390206976\",\n \"cpu\": 8,\n \"cpu_used\": 10.2,\n \"domainname\": \"\",\n \"fqdn\": \"gautsing-mac\",\n \"hardwareisa\": \"i386\",\n \"hardwaremodel\": \"i386\",\n \"has\": {\n \"filesystem\": [\n {\n \"dev\": \"/dev/disk0s2\",\n\nStoring facts directly in MongoDB\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nStores JSON facts directly in to mongodb (uses pymongo). The document\n\\*\\_id\\* defaults to *hostname* fact, collection defaults to\n\"sillyfacter\". Documents are overwritten. Timestamps are converted to\nDatetime so their types are preserved :-)\n\n::\n\n $ sillyfacter --out mongodb://localhost/factdb\n {\n \"_info\": {\n \"_id\": \"gautsing-mac\",\n \"collection\": \"sillyfacter\",\n \"db\": \"factdb\",\n \"host\": \"localhost\",\n \"port\": 27017\n },\n \"status\": \"Save success\",\n \"url\": \"mongodb://localhost/factdb\"\n }\n\nHelp?\n^^^^^\n\nAnd yes there some **--help** too.\n\n::\n\n $ python sillyfacter --help\n usage: sillyfacter [-h] [--modules MODULES] [--out OUT] [--log LOG]\n [--verbose] [--strict] [--debug]\n [--scan {auto,new,last}] [--raw] [--version]\n\n Sillyfacter fetches facts about the state of the system. Gathers process, open\n file, socket info and then outputs a JSON (currently). Designed for dependency\n mappings.\n\n optional arguments:\n -h, --help show this help message and exit\n --modules MODULES comma seperated list of modules to be executed.\n Default list is \"all\" which is expanded to include\n \"process,network,user,os,filesystem\"\n --out OUT URL for the backend Mongo database (E.g.\n mongodb://localhost:27017/). If nothing is supplied it\n dumps JSON to stdout\n --log LOG file to write logs to, otherwise logs are written to\n console\n --verbose, -v Use multiple \"-v\" options\n --strict If selected will error out on every exeption Note:\n Useful when debugging only [False]\n --debug If selected will emit very debugging logs if exception\n are encountered. Note: Useful when debugging only\n [False]\n --scan {auto,new,last}\n [NOT IMPLEMENTED] choose the scan type, usually \"auto\"\n is the best. [auto]\n --raw [NOT IMPLEMENTED] Use raw output, default is false\n --version show program's version number and exit\n\nMotivation\n~~~~~~~~~~\n\nWhy no facter in pure Python that outputs in JSON?\n\nContributors\n~~~~~~~~~~~~\n\n- Email: g@ut.am\n- More info: https://github.com/hihellobolke/sillyfacter\n\nLicense\n~~~~~~~\n\nThis is Apache Licenced.\n\n.. _sillyfacter at github: https://github.com/hihellobolke/sillyfacter", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hihellobolke/Sillyfacter", "keywords": "facter json process lsof mounts facts host os state", "license": "Apache", "maintainer": null, "maintainer_email": null, "name": "sillyfacter", "package_url": "https://pypi.org/project/sillyfacter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sillyfacter/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/hihellobolke/Sillyfacter" }, "release_url": "https://pypi.org/project/sillyfacter/0.3.2.2/", "requires_dist": null, "requires_python": null, "summary": "Sillyfacter prints JSON facts related to the state of the system.\nThe state here means process running on the host, their open connections\nand files. Also users logged in, mount points on the host etcetra.\nThis information is useful in mapping out dependencies.", "version": "0.3.2.2" }, "last_serial": 1014221, "releases": { "0.3.0.4": [ { "comment_text": "", "digests": { "md5": "b70259919609c30d86d81716b85c9082", "sha256": "f3537f17dfdceac8380dfc8a14d974e19d7cbac247b1770c51e73e31746f0780" }, "downloads": -1, "filename": "sillyfacter-0.3.0.4.tar.gz", "has_sig": false, "md5_digest": "b70259919609c30d86d81716b85c9082", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16718, "upload_time": "2014-01-21T06:30:16", "url": "https://files.pythonhosted.org/packages/e3/7a/d7b0b75454672c7eabac05e6ba616972d902a3f9bfec9086f486e3b57902/sillyfacter-0.3.0.4.tar.gz" } ], "0.3.1.5": [ { "comment_text": "", "digests": { "md5": "b1d28b228edb3a28187232482366950d", "sha256": "3a1d7bad76d943e1486f93658370426d9fa29632b922140385a78883790b7d9a" }, "downloads": -1, "filename": "sillyfacter-0.3.1.5.tar.gz", "has_sig": false, "md5_digest": "b1d28b228edb3a28187232482366950d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19845, "upload_time": "2014-01-21T11:35:09", "url": "https://files.pythonhosted.org/packages/c0/fa/b9528db0ce8c0d9d4e1849ad17b49d57fab3e6c34073f8f5c96a7a234b8c/sillyfacter-0.3.1.5.tar.gz" } ], "0.3.2.1": [ { "comment_text": "", "digests": { "md5": "38203c8009a64db6da1f43d2c3681b9a", "sha256": "fbb7784ada56936bef4339467891be6d38897b6b986f3d37bd5e1127d2b63125" }, "downloads": -1, "filename": "sillyfacter-0.3.2.1.macosx-10.8-x86_64.exe", "has_sig": false, "md5_digest": "38203c8009a64db6da1f43d2c3681b9a", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 108639, "upload_time": "2014-02-27T19:43:50", "url": "https://files.pythonhosted.org/packages/17/b3/26898d665c2de5ebf7d76db766a45a3b3e639af2b1982eb4d8a64a0a342f/sillyfacter-0.3.2.1.macosx-10.8-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "7db5047fb1084b32877e7ad026e447d4", "sha256": "3a88a20f9b330a2a7eaec46f235c029fe01ea46f5bafd6813d6879407f1dee32" }, "downloads": -1, "filename": "sillyfacter-0.3.2.1.tar.gz", "has_sig": false, "md5_digest": "7db5047fb1084b32877e7ad026e447d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40457, "upload_time": "2014-02-27T19:43:42", "url": "https://files.pythonhosted.org/packages/8d/7d/d81285b33119a695aee60364349dfea2aa208ba9370edd4feeded61215ca/sillyfacter-0.3.2.1.tar.gz" } ], "0.3.2.2": [ { "comment_text": "", "digests": { "md5": "65f990c6d6d722deea9e2c2ae5eacf47", "sha256": "ce4826c613cf6b5852fc2219e4af76328712cf0f79f9a542b2cd28881c48017f" }, "downloads": -1, "filename": "sillyfacter-0.3.2.2.macosx-10.8-x86_64.exe", "has_sig": false, "md5_digest": "65f990c6d6d722deea9e2c2ae5eacf47", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 108678, "upload_time": "2014-02-27T20:51:10", "url": "https://files.pythonhosted.org/packages/52/76/8d07a4204b7127af7bd6fe1783b18f353ea04b5cbaedb5ec6cf985c24b15/sillyfacter-0.3.2.2.macosx-10.8-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "b0b87fe2e39f02cf5b105ad7877df054", "sha256": "ef3ecdf361f60f9d6a76afb68d390fd7d3f9838f888fd68a5677de236ed760f4" }, "downloads": -1, "filename": "sillyfacter-0.3.2.2.tar.gz", "has_sig": false, "md5_digest": "b0b87fe2e39f02cf5b105ad7877df054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40497, "upload_time": "2014-02-27T20:51:01", "url": "https://files.pythonhosted.org/packages/54/bc/9b3342ddd200ebe56fd3d27901893f575668c0a1e265c1a3333324ca2efc/sillyfacter-0.3.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "65f990c6d6d722deea9e2c2ae5eacf47", "sha256": "ce4826c613cf6b5852fc2219e4af76328712cf0f79f9a542b2cd28881c48017f" }, "downloads": -1, "filename": "sillyfacter-0.3.2.2.macosx-10.8-x86_64.exe", "has_sig": false, "md5_digest": "65f990c6d6d722deea9e2c2ae5eacf47", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 108678, "upload_time": "2014-02-27T20:51:10", "url": "https://files.pythonhosted.org/packages/52/76/8d07a4204b7127af7bd6fe1783b18f353ea04b5cbaedb5ec6cf985c24b15/sillyfacter-0.3.2.2.macosx-10.8-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "b0b87fe2e39f02cf5b105ad7877df054", "sha256": "ef3ecdf361f60f9d6a76afb68d390fd7d3f9838f888fd68a5677de236ed760f4" }, "downloads": -1, "filename": "sillyfacter-0.3.2.2.tar.gz", "has_sig": false, "md5_digest": "b0b87fe2e39f02cf5b105ad7877df054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40497, "upload_time": "2014-02-27T20:51:01", "url": "https://files.pythonhosted.org/packages/54/bc/9b3342ddd200ebe56fd3d27901893f575668c0a1e265c1a3333324ca2efc/sillyfacter-0.3.2.2.tar.gz" } ] }