{ "info": { "author": "Ian A Wilson", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Programming Language :: Python" ], "description": "# Bosun Plugins\n\nGuidelines for making plugins\n\n- Don't alter the concurrency model.\n\n If you don't know what this means, then you can skip this whole bullet.\n\n I/O is patched with gevent *most* of the time (FTP handlers are currently an exception).\n If you some special concurrent processing, use gevent's Pool or Group, if possible.\n- Keep to builtin or standard packages.\n\n This helps to keep the total number of installed packages down, and, in turn, the number\n of packages that are loaded into memory.\n\n Recommended packages:\n\n - JSON: builtin `json`\n - YAML: `pyyaml`\n - XML: `xmltodict`\n - HTTP: builtin `urllib`, builtin `urllib2`, and `requests`\n- Use `YourDeviceSubclass.test_subclass()` to check your work.\n\n It's strongly recommended that your subclass pass this method. It performs basic checks\n and can alert you if you subclass seems to be doing something strange or is missing\n anything. This doesn't check your implementation, but instead checks that you're\n adhering to the contract set out by being a Device subclass.\n\n[See the full documentation](docs/index.rst)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "bosunplugins", "package_url": "https://pypi.org/project/bosunplugins/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/bosunplugins/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/bosunplugins/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Plugin framework for Bosun and Crowsnest, of http://www.crowsnest.io", "version": "0.1.0" }, "last_serial": 1328649, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fe022ebed7fd8ed804aec70fe2aae3cb", "sha256": "b85e07950b44c4f07be24992b353de6a2453571f855f6f00a0a9c3cb9aee3834" }, "downloads": -1, "filename": "bosunplugins-0.1.0.tar.gz", "has_sig": true, "md5_digest": "fe022ebed7fd8ed804aec70fe2aae3cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9358, "upload_time": "2014-09-05T22:11:32", "url": "https://files.pythonhosted.org/packages/49/d4/1032601669821bb2bd7a97083b65716d6a5877685188f10530102f5def4c/bosunplugins-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fe022ebed7fd8ed804aec70fe2aae3cb", "sha256": "b85e07950b44c4f07be24992b353de6a2453571f855f6f00a0a9c3cb9aee3834" }, "downloads": -1, "filename": "bosunplugins-0.1.0.tar.gz", "has_sig": true, "md5_digest": "fe022ebed7fd8ed804aec70fe2aae3cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9358, "upload_time": "2014-09-05T22:11:32", "url": "https://files.pythonhosted.org/packages/49/d4/1032601669821bb2bd7a97083b65716d6a5877685188f10530102f5def4c/bosunplugins-0.1.0.tar.gz" } ] }