{ "info": { "author": "Hunter Senft-Grupp", "author_email": "huntcsg@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Communications :: Chat", "Topic :: Office/Business", "Topic :: Software Development :: Libraries" ], "description": "Slackly - A Slack Toolkit\n-------------------------\n\n|gitter| |travis| |pypi| |docs|\n\nUse Cases:\n\n - Use the `slackly.SlackClient` to make calls to the Web API\n - Use the `slackly.SlackRTMClient` to listen to the Real Time Messaging API (via a websocket connection)\n - Use the `slackly.events` and `slackly.schema.types` in this library to build higher level abstractions on the Slack API\n\n\n .. DANGER::\n\n This library is very much in alpha and under very active development to flesh out the API. I'll do my best\n to not make breaking changes, and hide most of these changes behind feature toggles that can become default\n in future versions. I want users and feedback, so I will do my utmost to make usage of this library as safe\n as can be.\n\nInstalling\n==========\n\n .. code-block:: shell\n\n $ pip install slackly\n\nSimple Examples\n===============\n\nCreating a Client and Making an API Call\n****************************************\n\n .. code-block:: python\n\n from slackly import SlackClient\n import os\n\n client = SlackClient(token=os.environ['SLACK_TOKEN'])\n\n # Call the api.test endpoint\n client.api_call('api.test')\n\nCreating the API object and preparing a call\n********************************************\n\n .. code-block:: python\n\n from slackly import SlackAPI, SlackClient\n import os\n slack = SlackAPI()\n\n # Prepare an api call. Pass \"api_call\" a client to get actually make the call\n api_call = slack.api.test()\n\n client = SlackClient(token=os.environ['SLACK_TOKEN'])\n result = api_call(client)\n\nPrinting Events off of the Real Time Messaging API\n**************************************************\n\n .. code-block:: python\n\n import os\n from slackly import SlackRTMClient\n\n rtm_client = SlackRTMClient.from_token(token=os.environ['SLACK_TOKEN'])\n for event in rtm_client.get_events_forever():\n print(event)\n\nUsing Event Types\n*****************\n\n .. code-block:: python\n\n import os\n from slackly import SlackRTMClient, SlackEventParsed\n from slackly.events import Message, UserTyping\n rtm_client = SlackRTMClient.from_token(token=os.environ['SLACK_TOKEN'])\n rtm_client.event_factory = SlackEventParsed # Tell the RTM client to make events using this class\n\n for event in rtm_client.get_events_forever():\n if isinstance(event, Message):\n print(\"We're dealing with a message\")\n\n elif isinstance(event, UserTyping):\n print(\"Someone's typing\")\n\n else:\n print(\"I don't care about this event\")\n\n\nDevelopment\n===========\n\n .. code-block:: shell\n\n $ git clone https://github.com/huntcsg/slackly.git\n $ cd slackly\n $ tox # Runs test suites against all python versions, pypy, does style and test coverage analysis\n\n1. All pull requests must pass the travis-ci builds\n2. All pull requests should include inline (docstring) documentation, updates to built documentation if applicable,\n and test coverage. This project aspires to be a 100% test coverage library.\n3. If integration or regression test coverage is needed, let the project maintainer know and we can work out\n the best way to do so.\n\n\n.. |gitter| image:: https://badges.gitter.im/huntcsg/slackly.png\n :target: https://gitter.im/slackly/Lobby\n.. |travis| image:: https://travis-ci.org/huntcsg/slackly.svg?branch=master\n :target: https://travis-ci.org/huntcsg/slackly\n.. |pypi| image:: https://img.shields.io/pypi/v/slackly.svg\n :target: https://pypi.python.org/pypi/slackly\n.. |docs| image:: https://readthedocs.org/projects/slackly/badge/?version=latest\n :target: http://slackly.readthedocs.io/en/latest/?badge=latest\n\nChanges\n=======\n\n1.0.4\n*****\n- Documentation Updates and Release stability\n\n1.0.0\n*****\n\n- Initial Release\n\nAuthors\n-------\n\nHunter Senft-Grupp\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://slackly.io", "keywords": "slack slackly api sdk realtime", "license": "", "maintainer": "", "maintainer_email": "", "name": "slackly", "package_url": "https://pypi.org/project/slackly/", "platform": "", "project_url": "https://pypi.org/project/slackly/", "project_urls": { "Homepage": "https://slackly.io" }, "release_url": "https://pypi.org/project/slackly/1.0.7/", "requires_dist": [ "backports.functools-lru-cache", "requests", "six", "websocket-client", "sphinx; extra == 'docs'", "sphinx-rtd-theme; extra == 'docs'", "pytest; extra == 'testing'", "pytest-cov; extra == 'testing'" ], "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "summary": "A full featured python Slack API SDK", "version": "1.0.7" }, "last_serial": 2923425, "releases": { "0.1.5": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "fa7c5324d1f46076cb52eeaa3752a219", "sha256": "dd9a4ac7667e85296c8b8a3cbd3c4d39b13bf7e90151a3afc3fab030c8e17474" }, "downloads": -1, "filename": "slackly-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa7c5324d1f46076cb52eeaa3752a219", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 112513, "upload_time": "2017-05-24T22:53:27", "url": "https://files.pythonhosted.org/packages/60/c4/9e324f9414495e91fd395bb5fcd078ccdeb0b822ceb52b6e1e2c738fe9c2/slackly-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac637ccba1b71113a95f7c16fac9aad8", "sha256": "d1850f959ec9e689f02b6a3dee08ccaca7b1524a2d128902db920aab3dc5071a" }, "downloads": -1, "filename": "slackly-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ac637ccba1b71113a95f7c16fac9aad8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 67290, "upload_time": "2017-05-24T22:53:57", "url": "https://files.pythonhosted.org/packages/45/83/96cdb774460e634adc878e82820b638f2c7e753394328356c3353822487c/slackly-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0aa5b6958e89609ab2e41bd44a4f83bb", "sha256": "d5baeca8bf459ba5fbc943d0099d9bd2b2d643995249d8e6c98251155e81decf" }, "downloads": -1, "filename": "slackly-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0aa5b6958e89609ab2e41bd44a4f83bb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 112514, "upload_time": "2017-05-24T23:08:36", "url": "https://files.pythonhosted.org/packages/19/8f/b886c7fb566687a68b4ab85d1ff4869b96ff88d61d97784aa34f12349a54/slackly-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28ba4905da6b4689beb87588943c12b6", "sha256": "5f4307845f701d7c5f554aa0287a2d65ad5daf09f2496b7f569b3cd4c5b01a76" }, "downloads": -1, "filename": "slackly-1.0.2.tar.gz", "has_sig": false, "md5_digest": "28ba4905da6b4689beb87588943c12b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 67319, "upload_time": "2017-05-24T23:08:38", "url": "https://files.pythonhosted.org/packages/14/f3/4ebc72a19018ab5644776e00a5c8f3e4257320c20d9165d9e4c0e54a3bf8/slackly-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "fc2415410a856663822cffa722650083", "sha256": "59b66ebfea3c26b22f74dfc925f19e00513922f49576495575bd4425bf2fdbed" }, "downloads": -1, "filename": "slackly-1.0.3.macosx-10.6-intel.tar.gz", "has_sig": false, "md5_digest": "fc2415410a856663822cffa722650083", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 132240, "upload_time": "2017-05-24T23:49:34", "url": "https://files.pythonhosted.org/packages/b9/b1/8e055cfab4b062c48def68f5457c93a419fe125d41aadeba8cf75a28ad0f/slackly-1.0.3.macosx-10.6-intel.tar.gz" }, { "comment_text": "", "digests": { "md5": "0a12c33f4acaf51ed3cca64f63e59f7c", "sha256": "7ece72a54f4641220d6a8371ca15a27ebb1e447bc64b086b84d9b5b565fcbf72" }, "downloads": -1, "filename": "slackly-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a12c33f4acaf51ed3cca64f63e59f7c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 112553, "upload_time": "2017-05-24T23:49:32", "url": "https://files.pythonhosted.org/packages/81/7c/544055c4338b1a60b15b5e33db2f4ec4db19203ccb665f40f762f8680d55/slackly-1.0.3-py2.py3-none-any.whl" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "954e48151c5cf4e40a38cd5a2dabd388", "sha256": "6d8033f8de0e3488371fed83e79467c01defe35bfb6aa9b675801eb0ea21dad7" }, "downloads": -1, "filename": "slackly-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "954e48151c5cf4e40a38cd5a2dabd388", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 115423, "upload_time": "2017-05-25T05:04:32", "url": "https://files.pythonhosted.org/packages/f6/31/f3007837e79e27d572aecff1c4c7de25d192bb8ae39fa48088ea09139bd5/slackly-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "685aa734dee303c8c0d1ac2f081cf23a", "sha256": "8e7856773c236124c6c82118f267511734de209c3135dfdec9506d5bfa2bf931" }, "downloads": -1, "filename": "slackly-1.0.6.tar.gz", "has_sig": false, "md5_digest": "685aa734dee303c8c0d1ac2f081cf23a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 69275, "upload_time": "2017-05-25T05:04:35", "url": "https://files.pythonhosted.org/packages/e3/3c/a8f580ffa59a52513e5b3b220fc59fb9c28b9bf69e7c1b8fda760d1010a3/slackly-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "59dfbde53e3b24fc04de25639dcd2298", "sha256": "6694c063b09381b7cc2fa8e31fcc89a2edf6ab2bc015d82905b0e9d1d199cc7f" }, "downloads": -1, "filename": "slackly-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "59dfbde53e3b24fc04de25639dcd2298", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 115425, "upload_time": "2017-06-04T01:20:06", "url": "https://files.pythonhosted.org/packages/61/b8/23a404e8974f7bfdec75ca037bec1f0427a85451750b20337f96d39dfba2/slackly-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "beb1e42e2da169bf230ad2452e7cf884", "sha256": "40818bd847be4e4f42548321bcaa29ff89f1b716a075a6aa86b1e1bb84fbd97b" }, "downloads": -1, "filename": "slackly-1.0.7.tar.gz", "has_sig": false, "md5_digest": "beb1e42e2da169bf230ad2452e7cf884", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 68982, "upload_time": "2017-06-04T01:20:07", "url": "https://files.pythonhosted.org/packages/9f/64/3ec05915e7e95ed50962e5f189f9ebd4a1f8a73c5e7e443c19b9b75bc4ba/slackly-1.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "59dfbde53e3b24fc04de25639dcd2298", "sha256": "6694c063b09381b7cc2fa8e31fcc89a2edf6ab2bc015d82905b0e9d1d199cc7f" }, "downloads": -1, "filename": "slackly-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "59dfbde53e3b24fc04de25639dcd2298", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 115425, "upload_time": "2017-06-04T01:20:06", "url": "https://files.pythonhosted.org/packages/61/b8/23a404e8974f7bfdec75ca037bec1f0427a85451750b20337f96d39dfba2/slackly-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "beb1e42e2da169bf230ad2452e7cf884", "sha256": "40818bd847be4e4f42548321bcaa29ff89f1b716a075a6aa86b1e1bb84fbd97b" }, "downloads": -1, "filename": "slackly-1.0.7.tar.gz", "has_sig": false, "md5_digest": "beb1e42e2da169bf230ad2452e7cf884", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*", "size": 68982, "upload_time": "2017-06-04T01:20:07", "url": "https://files.pythonhosted.org/packages/9f/64/3ec05915e7e95ed50962e5f189f9ebd4a1f8a73c5e7e443c19b9b75bc4ba/slackly-1.0.7.tar.gz" } ] }