{ "info": { "author": "Stackify", "author_email": "support@stackify.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": "Stackify API for Python\n=======================\n\n## Installation\nstackify-python can be installed through pip:\n```bash\n$ pip install -U stackify-api-python\n```\n\n**stackify-python-api** can be installed through pip:\n```bash\n$ pip install stackify-api-python\n```\n\n## Configuration\n\n\n#### Standard API\n```python\nimport stackify\nlogger = stackify.getLogger(application=\"Python Application\", environment=\"Production\", api_key=\"***\")\nlogger.warning('Something happened')\n```\n\n#### Python Logging Integration\n\n```python\nimport logging\nimport stackify\nlogger = logging.getLogger(__name__)\nstackify_handler = stackify.StackifyHandler(application=\"Python Application\", environment=\"Production\", api_key=\"***\")\nlogger.addHandler(stackify_handler)\nlogger.warning('Something happened')\n```\n\n#### Environment Settings\n\n```bash\nexport STACKIFY_APPLICATION=Python Application\nexport STACKIFY_ENVIRONMENT=Production\nexport STACKIFY_API_KEY=******\n```\n\n\n## Usage\n\n**stackify-python-api** handles uploads in batches of 100 messages at a time on another thread.\nWhen your program exits, it will shut the thread down and upload the remaining messages.\n\nStackify can store extra data along with your log message:\n```python\ntry:\n user_string = raw_input(\"Enter a number: \")\n print(\"You entered\", int(user_string))\nexcept ValueError:\n logger.exception('Bad input', extra={'user entered': user_string})\n```\n\nYou can also name your logger instead of using the automatically generated one:\n```python\nimport stackify\nlogger = stackify.getLogger('mymodule.myfile')\n```\n\n## Internal Logger\n\nThis library has an internal logger it uses for debugging and messaging.\nFor example, if you want to enable debug messages:\n```python\nimport logging\nlogger = logging.getLogger('stackify')\nlogger.setLevel(logging.DEBUG)\nlogger.addHandler(logging.FileHandler('stackify.log')) # or any handler you want\n```\n\nBy default, it will enable the default logging settings via `logging.basicConfig()`\nand print `WARNING` level messages and above. If you wish to set everything up yourself,\njust pass `basic_config=False` in `getLogger`:\n```python\nimport stackify\n\nlogger = stackify.getLogger(basic_config=False)\n```\n\n## Django Logging Integration\n\nYou can also use your existing django logging and just append stackify logging handler\n\n```python\nLOGGING = {\n 'version': 1,\n 'disable_existing_loggers': False,\n 'handlers': {\n 'file': {\n 'level': 'DEBUG',\n 'class': 'logging.FileHandler',\n 'filename': 'debug.log',\n },\n 'stackify': {\n 'level': 'DEBUG',\n 'class': 'stackify.StackifyHandler',\n 'application': 'MyApp',\n 'environment': 'Dev',\n 'api_key': '******',\n }\n },\n 'loggers': {\n 'django': {\n 'handlers': ['file', 'stackify'],\n 'level': 'DEBUG',\n 'propagate': True,\n },\n },\n}\n```\n\nUsage\n```python\nimport logging\n\nlogger = logging.getLogger('django')\n\n\nlogger.warning('Something happened')\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stackify/stackify-api-python", "keywords": "logging,stackify,exception", "license": "", "maintainer": "", "maintainer_email": "", "name": "stackify-api-python", "package_url": "https://pypi.org/project/stackify-api-python/", "platform": "", "project_url": "https://pypi.org/project/stackify-api-python/", "project_urls": { "Homepage": "https://github.com/stackify/stackify-api-python" }, "release_url": "https://pypi.org/project/stackify-api-python/1.0.5/", "requires_dist": [ "protobuf (>=3.9.1)", "retrying (>=1.2.3)", "requests (>=2.4.1)", "requests-unixsocket (>=0.2.0)" ], "requires_python": "", "summary": "Stackify API for Python", "version": "1.0.5" }, "last_serial": 5821202, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "ff8d7a380778d78298473399005ad4a5", "sha256": "768c268533abbf9d0813d9debd15bddfa88e540c25556cd0c932bd8d53ca3c5f" }, "downloads": -1, "filename": "stackify_api_python-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "ff8d7a380778d78298473399005ad4a5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13901, "upload_time": "2019-03-22T16:21:19", "url": "https://files.pythonhosted.org/packages/7a/51/c1b3adbd5074968b5cfe62ee3a929e10feb7c008f0d0d5f8ac8b179c50f6/stackify_api_python-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73ba1ff0064a88c605bb81b457c5ad92", "sha256": "31fa4fa3f5668c51c81b2d80298163041165e018f6c3c13460fbca488e47de12" }, "downloads": -1, "filename": "stackify-api-python-1.0.1.tar.gz", "has_sig": false, "md5_digest": "73ba1ff0064a88c605bb81b457c5ad92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10056, "upload_time": "2019-03-22T16:21:21", "url": "https://files.pythonhosted.org/packages/7c/d6/1633ebd3fa6e5e6d2d0c5d043365c9d554442277db060b0ca568f13eb253/stackify-api-python-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "329f72c7b542168c6b353fe9b7f5f278", "sha256": "ceb84bcb3d4ef7c76c154d26a9aadba69128e975e85d1ac65c7503f49b48da26" }, "downloads": -1, "filename": "stackify_api_python-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "329f72c7b542168c6b353fe9b7f5f278", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14212, "upload_time": "2019-04-12T15:05:03", "url": "https://files.pythonhosted.org/packages/bc/b6/f8a4dfeac0950372b68034aba453e4e99ad6710b71b715d0aa9e03d0469a/stackify_api_python-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1793ff7f6d970e64b97251b85095a7f7", "sha256": "37ba64a13686031e750f841640cd4afd3134d59766358b4caf0de61db119451f" }, "downloads": -1, "filename": "stackify-api-python-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1793ff7f6d970e64b97251b85095a7f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10751, "upload_time": "2019-04-12T15:05:04", "url": "https://files.pythonhosted.org/packages/63/24/0d7be7dc584e5ac45849e7c4963a19cdc27d9b0ff3096ad40f85429019f5/stackify-api-python-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "6f02e964dc98e43c040d07a8876944d0", "sha256": "115effcac2baf67afdd885b62f35fa7627075234e332ee3a40eb35fb6474034e" }, "downloads": -1, "filename": "stackify_api_python-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "6f02e964dc98e43c040d07a8876944d0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14289, "upload_time": "2019-08-12T15:45:42", "url": "https://files.pythonhosted.org/packages/69/f4/4e1afdd0faa8579cb4e12f80a3bdaed931c8191509e029cc8d457bd576a2/stackify_api_python-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb1fcd5c13c5326ebb57f906ef24539e", "sha256": "e12511ba6cba02083e8683c655629a308fd964d2f89c17d5ce880d88bf0cfd22" }, "downloads": -1, "filename": "stackify-api-python-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bb1fcd5c13c5326ebb57f906ef24539e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10767, "upload_time": "2019-08-12T15:45:44", "url": "https://files.pythonhosted.org/packages/ff/8a/72ef666fca0ee8e0a69101482c5c965d842d21b50d0381c28d85e489dd32/stackify-api-python-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "dd1c1256d5310175ff99b147b60cbcca", "sha256": "5fe8703e9d768976461ec7db5728165cdf2b151061de7d8cb98c21d912bd416e" }, "downloads": -1, "filename": "stackify_api_python-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "dd1c1256d5310175ff99b147b60cbcca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23563, "upload_time": "2019-09-12T15:34:16", "url": "https://files.pythonhosted.org/packages/19/9f/ae209ef8a441aacf791903879207b1a2c74725b392605bc3a7dafd9c8bad/stackify_api_python-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "888c17eb4ae3fdee3a8fcbcbc0e534c2", "sha256": "f654747839484908eaac6ae98fc336cdb0004971c0bb535d9cf0d8a6935d6b38" }, "downloads": -1, "filename": "stackify-api-python-1.0.4.tar.gz", "has_sig": false, "md5_digest": "888c17eb4ae3fdee3a8fcbcbc0e534c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17762, "upload_time": "2019-09-12T15:34:18", "url": "https://files.pythonhosted.org/packages/6f/bc/dddac6fc6d51beabee37c8e09a9174ac1e8b9a70caf4b31ce90ff52e22c2/stackify-api-python-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "f14a2ab21e0efe46592a41aa7788749c", "sha256": "3a3b358cb06805aab21157f1aac817a35b506208a9d1fc836d05ee0494ffb126" }, "downloads": -1, "filename": "stackify_api_python-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f14a2ab21e0efe46592a41aa7788749c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23564, "upload_time": "2019-09-12T15:44:03", "url": "https://files.pythonhosted.org/packages/be/64/1c2cd360f793ab48de568df3debf37be0181290301fbe84ad648ebc2636b/stackify_api_python-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9ce5f73d19abe74215075875df2960c", "sha256": "25837f44a18b0f7c18494cb2fcd3c9a40fe6a34c516f223bf4168cb6514736b1" }, "downloads": -1, "filename": "stackify-api-python-1.0.5.tar.gz", "has_sig": false, "md5_digest": "c9ce5f73d19abe74215075875df2960c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17765, "upload_time": "2019-09-12T15:44:05", "url": "https://files.pythonhosted.org/packages/e6/37/897e6ce1fe06224006d2e6780f1a5b3c86690eed69f1f889717a7e356b85/stackify-api-python-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f14a2ab21e0efe46592a41aa7788749c", "sha256": "3a3b358cb06805aab21157f1aac817a35b506208a9d1fc836d05ee0494ffb126" }, "downloads": -1, "filename": "stackify_api_python-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f14a2ab21e0efe46592a41aa7788749c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23564, "upload_time": "2019-09-12T15:44:03", "url": "https://files.pythonhosted.org/packages/be/64/1c2cd360f793ab48de568df3debf37be0181290301fbe84ad648ebc2636b/stackify_api_python-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9ce5f73d19abe74215075875df2960c", "sha256": "25837f44a18b0f7c18494cb2fcd3c9a40fe6a34c516f223bf4168cb6514736b1" }, "downloads": -1, "filename": "stackify-api-python-1.0.5.tar.gz", "has_sig": false, "md5_digest": "c9ce5f73d19abe74215075875df2960c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17765, "upload_time": "2019-09-12T15:44:05", "url": "https://files.pythonhosted.org/packages/e6/37/897e6ce1fe06224006d2e6780f1a5b3c86690eed69f1f889717a7e356b85/stackify-api-python-1.0.5.tar.gz" } ] }