{ "info": { "author": "Symphony Platform Solutions", "author_email": "platformsolutions@symphony.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6" ], "description": "# symphony-api-client-python\n\n## Overview\nThis Symphony bot client is written in an event handler architecture. The client keeps polling a datafeed and responds to different types of [Real Time Events](https://rest-api.symphony.com/docs/real-time-events) it receives.\n\nTo build a functional bot which responds to different types of incoming messages from datafeed (Connection, IM, Chat Room, etc....), the respective\ntype of listener needs to be implemented by inheriting the interfaces in the **listeners** folder. Currently **ConnectionListener**, **imListener**, **RoomListener** interfaces are provided.\n\n## Environment Setup\nThis client is compatible with **Python 3.6 or above**\n\nCreate a virtual environment by executing the following command **(optional)**:\n``python -m venv ./venv``\n\nActivate the virtual environment **(optional)**:\n``source ./venv/bin/activate``\n\nInstall dependencies required for this client by executing the command below.\n``pip install -r requirements.txt``\n\n## Getting Started\n### 1 - Prepare the service account\nThe Python client operates using a [Symphony Service Account](https://support.symphony.com/hc/en-us/articles/360000720863-Create-a-new-service-account), which is a type of account that applications use to work with Symphony APIs. Please contact with Symphony Admin in your company to get the account.\n\nThe client currently supports two types of Service Account authentications, they are\n[Client Certificates Authentication](https://symphony-developers.symphony.com/symphony-developer/docs/bot-authentication-workflow#section-authentication-using-client-certificates)\nand [RSA Public/Private Key Pair Authentication](https://symphony-developers.symphony.com/symphony-developer/docs/rsa-bot-authentication-workflow).\n\n### 2 - Implement the event listeners\nAs an example, the **roomListenerTestImp** has been implemented to respond with \"Hello World\", to a chat room in which there is an incoming message. To respond to other types of events, respective Listeners need to be implemented.\n\n### 3.1 - Run bot with config.json\n**RSA Public/Private Key Pair** is the recommended authentication mechanism by Symphony, due to its robust security and simplicity.\n\nTo run the bot using the **RSA Public/Private Key Pair**, a **rsa_config.json** should be provided. In our example, the json file resides in the\n**resources** folder but it can be anywhere.\n\nAn example **main_RSA.py** has been provided to illustrate how all components work together.\n\nTo run the bot using the **Client Certificates Authentication**, a **config.json** should be provided. In our example, the json file resides in the\n**resources** folder but it can be anywhere.\n\nAn example **main_certificate.py** has been provided to illustrate how all components work together.\n\n**Notes:**\nMost of the time, the **port numbers** do not need to be changed.\n\nAn example of json has been provided below. (The \"botPrivateKeyPath\" ends with a trailing \"/\")\n\n {\n \"sessionAuthHost\": \"MY_ENVIRONMENT.symphony.com\",\n \"sessionAuthPort\": 443,\n \"keyAuthHost\": \"MY_ENVIRONMENT.symphony.com\",\n \"keyAuthPort\": 443,\n \"podHost\": \"MY_ENVIRONMENT.symphony.com\",\n \"podPort\": 443,\n \"agentHost\": \"MY_ENVIRONMENT.symphony.com\",\n \"agentPort\": 443,\n\n // For bot RSA authentication\n \"botPrivateKeyPath\":\"./sym_api_client_python/resources/\",\n \"botPrivateKeyName\": \"bot_private_key.pem\",\n\n // For bot cert authentication\n \"botCertPath\": \"/path/to/bot-cert/\",\n \"botCertName\": \"/bot-cert.p12\",\n \"botCertPassword\": \"bot-cert-password\",\n\n \"botUsername\": \"YOUR_BOT_USERNAME\",\n \"botEmailAddress\": \"YOUR_BOT_EMAIL_ADDRESS\",\n\n \"appCertPath\": \"\",\n \"appCertName\": \"\",\n \"appCertPassword\": \"\",\n \"authTokenRefreshPeriod\": \"30\"\n\n // Optional: If all the traffic goes through a single proxy, set this parameter. If using multiple proxies or only using a proxy for some of the components, set them below and don't useproxyURL\n \"proxyURL\": \"http://localhost:8888\",\n \"proxyUsername\": \"proxy-username\",\n \"proxyPassword\": \"proxy-password\",\n\n // Optional: set this if traffic to pod goes through a specific, unique proxy\n \"podProxyURL\": \"http://localhost:8888\",\n \"podProxyUsername\": \"proxy-username\",\n \"podProxyPassword\": \"proxy-password\",\n\n // Optional: set this if traffic to agent goes through a specific, unique proxy\n \"agentProxyURL\": \"http://localhost:8888\",\n \"agentProxyUsername\": \"proxy-username\",\n \"agentProxyPassword\": \"proxy-password\",\n\n // Optional: set this if traffic to KeyManager goes through a specific, unique proxy\n \"keyManagerProxyURL\": \"http://localhost:8888\",\n \"keyManagerProxyUsername\": \"proxy-username\",\n \"keyManagerProxyPassword\": \"proxy-password\",\n\n\n // Required: If a truststore is required to access on-prem components, provide a path to the python truststore. Needs to be .pem file. Instructions below for converting JKS to python pem truststore. If truststore is not needed, set value as empty string (\"\").\n \"truststorePath\": \"/path/to/truststore.pem\"\n }\n\n\n\n### Example main class (using RSA)\nAdjust the following paths in the sample to match your configuration\n - \"sym_api_client_python/logs/example.log\"\n - \"sym_api_client_python/resources/config.json\"\n\nExample Main Class:\n\n import logging\n from sym_api_client_python.configure.configure import SymConfig\n from sym_api_client_python.auth.rsa_auth import SymBotRSAAuth\n from sym_api_client_python.clients.sym_bot_client import SymBotClient\n from sym_api_client_python.listeners.\\\n im_listener_test_imp import IMListenerTestImp\n from sym_api_client_python.listeners.\\\n room_listener_test_imp import RoomListenerTestImp\n\n\n def configure_logging():\n logging.basicConfig(\n filename='./logs/example.log',\n format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n filemode='w', level=logging.DEBUG\n )\n logging.getLogger(\"urllib3\").setLevel(logging.WARNING)\n\n\n def main():\n print('Python Client runs using RSA authentication')\n\n # Configure log\n configure_logging()\n\n # RSA Auth flow: pass path to rsa config.json file\n configure = SymConfig('../resources/config.json')\n configure.load_config()\n auth = SymBotRSAAuth(configure)\n auth.authenticate()\n\n # Initialize SymBotClient with auth and configure objects\n bot_client = SymBotClient(auth, configure)\n\n # Initialize datafeed service\n datafeed_event_service = bot_client.get_datafeed_event_service()\n\n # Initialize listener objects and append them to datafeed_event_service\n # Datafeed_event_service polls the datafeed and the event listeners\n # respond to the respective types of events\n im_listener_test = IMListenerTestImp(bot_client)\n datafeed_event_service.add_im_listener(im_listener_test)\n room_listener_test = RoomListenerTestImp(bot_client)\n datafeed_event_service.add_room_listener(room_listener_test)\n\n # Create and read the datafeed\n print('Starting datafeed')\n datafeed_event_service.start_datafeed()\n\n\n if __name__ == \"__main__\":\n main()\n\n\n\n### Run with Example main class (using certificates)\nOnce the certificates are provided and example listeners are implemented, let's run the bot by executing following command:\n\n``python3 main_certificate.py``.\n\nChange the paths to both **log**, and **config.json**\n - \"sym_api_client_python/logs/example.log\"\n - \"sym_api_client_python/resources/config.json\"\n\nExample Main Class:\n\n import logging\n from sym_api_client_python.configure.configure import SymConfig\n from sym_api_client_python.auth.auth import Auth\n from sym_api_client_python.clients.sym_bot_client import SymBotClient\n from sym_api_client_python.listeners.im_listener_test_imp import \\\n IMListenerTestImp\n from sym_api_client_python.listeners.room_listener_test_imp import \\\n RoomListenerTestImp\n\n\n def configure_logging():\n logging.basicConfig(\n filename='./logs/example.log',\n format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n filemode='w', level=logging.DEBUG\n )\n logging.getLogger(\"urllib3\").setLevel(logging.WARNING)\n\n\n def main():\n print('Python Client runs using Cert authentication')\n\n # Configure log\n configure_logging()\n\n # Cert Auth flow: pass path to certificate config.json file\n configure = SymConfig('../resources/config.json')\n configure.load_config()\n auth = Auth(configure)\n auth.authenticate()\n\n # Initialize SymBotClient with auth and configure objects\n bot_client = SymBotClient(auth, configure)\n\n # Initialize datafeed service\n datafeed_event_service = bot_client.get_datafeed_event_service()\n\n # Initialize listener objects and append them to datafeed_event_service\n # Datafeed_event_service polls the datafeed and the event listeners\n # respond to the respective types of events\n im_listener_test = IMListenerTestImp(bot_client)\n datafeed_event_service.add_im_listener(im_listener_test)\n room_listener_test = RoomListenerTestImp(bot_client)\n datafeed_event_service.add_room_listener(room_listener_test)\n\n # Create and read the datafeed\n print('Starting datafeed')\n datafeed_event_service.start_datafeed()\n\n\n if __name__ == \"__main__\":\n main()\n\n\n\n### 4 - Converting JKS (Java Key Store) to Python truststore\nThe Python SDK truststore requires that your certificates be in a .pem file that is a collection of your certificates. You can convert JKSto a .p12 and then convert to .pem:\n\n keytool -importkeystore -srckeystore myapp.jks -destkeystore myapp.p12 -srcalias myapp-dev -srcstoretype jks -deststoretype pkcs12\n\n openssl pkcs12 -in myapp.p12 -out myapp.pem\n\n### 5 - Interacting with the joke bot!\nThe joke bot shows how a Symphony chat bot application works. In general, a chat bot application keeps polling the [datafeed](https://rest-api.symphony.com/reference#read-messagesevents-stream-v4) API for new messages, then it sends the messages to listeners to handle,\ndepending on the message type.\n\nTo interact with the joke bot, try ``/bot joke``\n\n### 6 - Using Elements:\nSymphony Elements allow developers to include native, interactive UI components as part of an inbound message. When a form Element is submitted, an event of type \"SYMPHONYELEMENTSACTION\" is sent across the datafeed. \n\nIn order to handle Elements events, implement an ElementsActionListener and parse the JSON payload using the [SymElementsParser](https://github.com/SymphonyPlatformSolutions/symphony-api-client-python/blob/staging_elements/sym_api_client_python/processors/sym_elements_parser.py)\n\n from sym_api_client_python.listeners.elements_listener import ElementsActionListener\n from sym_api_client_python.processors.sym_elements_parser import SymElementsParser\n from .processors.action_processor import ActionProcessor\n\n class ElementsListenerTestImp(ElementsActionListener):\n\n def __init__(self, sym_bot_client):\n self.bot_client = sym_bot_client\n self.action_processor = ActionProcessor(self.bot_client)\n\n def on_elements_action(self, action):\n stream_type = self.bot_client.get_stream_client().stream_info_v2(SymElementsParser().get_stream_id(action))\n if stream_type['streamType']['type'] == 'ROOM':\n self.action_processor.process_room_action(action)\n elif stream_type['streamType']['type'] == 'IM':\n self.action_processor.process_im_action(action)\n\nUse SymElementsParser class inside ActionProcessor:\n\n from sym_api_client_python.processors.message_formatter import MessageFormatter\n from sym_api_client_python.processors.sym_elements_parser import SymElementsParser\n\n class ActionProcessor:\n\n def __init__(self, bot_client):\n self.bot_client = bot_client\n\n def process_room_action(self, action):\n try:\n action_clicked = SymElementsParser().get_action(action)\n if action_clicked == 'submit':\n #do something\n except:\n raise\n\nNote: to send Elements forms as messages, please refer to [this documentation](https://developers.symphony.com/symphony-developer/docs/available-components) for valid messageML samples. \n\nSymphony REST API offer a range of capabilities for application to integrate, visit the [official documentation](https://rest-api.symphony.com/reference) for more information.\n\n# Release Notes\n\n## 0.1.20\n- Updated examples\n\n## 0.1.19\n- Updated examples\n\n## 0.1.18\n- Added support for Elements actions coming across datafeed\n- Added ElementsActionListener\n- Added Processors, containing MessageFormatter, SymElementsParser, SymMessageParser. Provides helpers for accessing message and action payload information\n- Added Templates folder, containing example templates for sending in Elements\n- Added FormBuilder to programaticaly generate Elements forms\n- Added examples for ExpenseBot using Elements\n- Cleaned up typos and formatting\n\n\n## 0.1.17\n- Added AdminClient, SignalsClient, and ConnectionsClient\n- Added docstrings to new methods\n- Added clarification to README\n\n## 0.1.16\n- Re-released 0.1.15 due to merge issues\n\n## 0.1.15\n- Added podProxyURL, agentProxyURL, and keyManagerProxyURL as supported parameters in the config.json and config loader. If proxyURL is set, all of these proxies will be set to that URL. Otherwise, it will use the proxy address provided.\n- merge to using the same method in configure.py to load RSA and Cert\n\n\n## 0.1.13\n- Rewrite clients to use python sessions.\n- Moved over requests to sessions for consistent headers, proxies and truststore\n- Fixed auth using sessionAuth for both sessionAuth and keyAuth\n- Fixed functions that pre-populated payload to accept params\n- Datafeed now utilizes session user to determine userId\n- Update to ProxyURL. No longer prepend http://\n- Changed config.json for Proxy to mirror Java SDK\n\n\n## 0.1.12\n- The updates in this release may break your existing bot implementation. Please ensure you review and test against this client prior to deployment in Production.\n- Extensively renamed client libraries to follow PEP8 Python standard. Naming now follows \"snake_case\" convention.\n- Bug fixes.\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/SymphonyPlatformSolutions/symphony-api-client-python", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "sym-api-client-python", "package_url": "https://pypi.org/project/sym-api-client-python/", "platform": "", "project_url": "https://pypi.org/project/sym-api-client-python/", "project_urls": { "Homepage": "https://github.com/SymphonyPlatformSolutions/symphony-api-client-python" }, "release_url": "https://pypi.org/project/sym-api-client-python/0.1.20/", "requires_dist": [ "pyOpenSSL", "rsa", "requests", "python-jose", "urllib3" ], "requires_python": "", "summary": "Symphony REST API - Python Client", "version": "0.1.20" }, "last_serial": 5857477, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f85ab80e5333031b8f0c95880d85cfd9", "sha256": "652cfdce354e37d28c1f0c07c1f5b1606e5b6fd8f8ef77c9302855bc7d20bfdc" }, "downloads": -1, "filename": "sym_api_client_python-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f85ab80e5333031b8f0c95880d85cfd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24066, "upload_time": "2018-07-24T19:16:56", "url": "https://files.pythonhosted.org/packages/09/a0/889daa34f4f71a4de2b021aa70209f2c422ebbaca37505a47b324f16d838/sym_api_client_python-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6208fbdd7ed8ccdfebd3372fa782a4e8", "sha256": "b0ff395e29794a9e8a3312fb9f2e192dd5ad60b07c0457bb9746640cebaaaf32" }, "downloads": -1, "filename": "sym_api_client_python-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6208fbdd7ed8ccdfebd3372fa782a4e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13980, "upload_time": "2018-07-24T19:16:57", "url": "https://files.pythonhosted.org/packages/55/da/74f6095e5e88c68b49fc21a23d07103f39dff7427345b3e65098bf152e94/sym_api_client_python-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f315cd5dc71e5c4fb1f112f3f93d339f", "sha256": "4ee5e2b92cee7403ffda707f914c4ffb60124a88d011a41f1a4b5866f33d7440" }, "downloads": -1, "filename": "sym_api_client_python-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f315cd5dc71e5c4fb1f112f3f93d339f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24711, "upload_time": "2018-07-24T21:51:36", "url": "https://files.pythonhosted.org/packages/36/4a/f3de9a19318bd765d5e75833aec2944979993f0d75a2dee997ca3bd046ef/sym_api_client_python-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83e4db90ea8783344fce0843890eb68b", "sha256": "42416c654af77ce8211fb0f41877a69d112a61a406ac998c40b82ff62dae639b" }, "downloads": -1, "filename": "sym_api_client_python-0.0.2.tar.gz", "has_sig": false, "md5_digest": "83e4db90ea8783344fce0843890eb68b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13953, "upload_time": "2018-07-24T21:51:37", "url": "https://files.pythonhosted.org/packages/19/27/08a3de605c7235859343dd2b06a5cf54188cb7af0232af2e423b2cf340fa/sym_api_client_python-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "4c92cfee0c8448c42b293ad4331f1291", "sha256": "cce3d6fbe079cc8df9ea999e9aba2e3a5c5a784be8dba8178154f192db4c1335" }, "downloads": -1, "filename": "sym_api_client_python-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4c92cfee0c8448c42b293ad4331f1291", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24700, "upload_time": "2018-07-24T22:14:56", "url": "https://files.pythonhosted.org/packages/0e/b5/957c7c93a1e2ff4190742758db1921ea10d7a370bc00ee262ae9e4e2a013/sym_api_client_python-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "631c072da7ccd59640247d5fb31fb955", "sha256": "a08cf1ecf8271b4ad79ba77e3f7f5390b99bcb8cf69a79fdb40d4380f6cc57ad" }, "downloads": -1, "filename": "sym_api_client_python-0.0.3.tar.gz", "has_sig": false, "md5_digest": "631c072da7ccd59640247d5fb31fb955", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13720, "upload_time": "2018-07-24T22:14:57", "url": "https://files.pythonhosted.org/packages/be/17/5f96b5ca654b93e69044526ab6a2dc7b2f4936dabe2af413e72d95c99af2/sym_api_client_python-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "9c62c9dce74daefdc71f478205e262ae", "sha256": "68d1c2d16572af6841bc9266c9cb16c186721d5ce3534e27a439d5fd32134d8b" }, "downloads": -1, "filename": "sym_api_client_python-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9c62c9dce74daefdc71f478205e262ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27284, "upload_time": "2018-07-25T19:20:21", "url": "https://files.pythonhosted.org/packages/d4/e2/768801fbf610ac2be59d26a4966e2d94ee8efe4af3bf5e8c3917c7364fb9/sym_api_client_python-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e3176c4708bb6e04c8210c259d2060d", "sha256": "622fe634c8a1be84ba4cd75281bdf7ea1eb79ea9fe5fa6644bb3a44a8759c43c" }, "downloads": -1, "filename": "sym_api_client_python-0.0.4.tar.gz", "has_sig": false, "md5_digest": "4e3176c4708bb6e04c8210c259d2060d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15226, "upload_time": "2018-07-25T19:20:23", "url": "https://files.pythonhosted.org/packages/c5/3f/ec1afeec29474704b3427babbba8d9ba889a070897ea00bbd9dfa3c39c2d/sym_api_client_python-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "255a9b2597a4ca22fa4c511756e351f1", "sha256": "b6923152458fb742fabb49de4b21d6c8f00e32972b12437a0a27d481817d8623" }, "downloads": -1, "filename": "sym_api_client_python-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "255a9b2597a4ca22fa4c511756e351f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27497, "upload_time": "2018-07-26T20:36:20", "url": "https://files.pythonhosted.org/packages/27/b8/31055c095927d6ba1e3bd059bde61c8b04745b8cc6880401466fae0c6b86/sym_api_client_python-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a545112d0d54b70d42ad226f1e566b7", "sha256": "fc002fab0cbec0c46892d082285ec019832628111f14067eaf22ffefaccc7b44" }, "downloads": -1, "filename": "sym_api_client_python-0.0.5.tar.gz", "has_sig": false, "md5_digest": "8a545112d0d54b70d42ad226f1e566b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15623, "upload_time": "2018-07-26T20:36:21", "url": "https://files.pythonhosted.org/packages/c3/83/8b7cd45710e0daad72f97e495de6f8472300c8491247d915ffa05ee792a8/sym_api_client_python-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "f8fd6515cc6583ee0e862b5288d8099b", "sha256": "e2af1cf850b517193ff9fc863cae054c74b6e925b76e5bb5d29ce2a5725b389a" }, "downloads": -1, "filename": "sym_api_client_python-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f8fd6515cc6583ee0e862b5288d8099b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27514, "upload_time": "2018-07-30T17:02:46", "url": "https://files.pythonhosted.org/packages/a3/60/f1542bd93cfce728b883784dd869ba4b297967f3c155f6d58d5625030ce2/sym_api_client_python-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5139e3bff513008e59d403094a31cc42", "sha256": "fe0f9a16930379a4206da8c3c09c164f80ffc49ab3fe398e8bb15a1b1f52c19d" }, "downloads": -1, "filename": "sym_api_client_python-0.0.6.tar.gz", "has_sig": false, "md5_digest": "5139e3bff513008e59d403094a31cc42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15645, "upload_time": "2018-07-30T17:02:46", "url": "https://files.pythonhosted.org/packages/eb/3e/b6e4cd20df1af9fba5ba3ecd6e7b9ef511716e8f5bab43ba1403bf7a3ba1/sym_api_client_python-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "6277da018ed01271f540cc10e467bcf7", "sha256": "1356c095b55f8e57dc6dc866d026a6a31ae20199aa2d2ea61d48b28856c58cff" }, "downloads": -1, "filename": "sym_api_client_python-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "6277da018ed01271f540cc10e467bcf7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27514, "upload_time": "2018-07-30T21:23:19", "url": "https://files.pythonhosted.org/packages/63/7f/8798a0cc6b3389c4e7322016b02f3fc5f0e6a6a45758067d7f9f8db8cd7c/sym_api_client_python-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d92b295b0890811a98dc6f7eb6e80ac", "sha256": "d1c25c41b026c5b947ad5b772f9dfababda93bcab538d9bfb137c94f02046a79" }, "downloads": -1, "filename": "sym_api_client_python-0.0.7.tar.gz", "has_sig": false, "md5_digest": "8d92b295b0890811a98dc6f7eb6e80ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15664, "upload_time": "2018-07-30T21:23:21", "url": "https://files.pythonhosted.org/packages/d8/5d/6f483be4e754a04dd79bdec1cd02c4987c24fca36d70bf67960d5d1ef886/sym_api_client_python-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "18632d6bf52eba2a97f6080c18d92db2", "sha256": "ed129880c8aee936b3eb89087f101c71a9931b642deed2f850fb8593245d52ba" }, "downloads": -1, "filename": "sym_api_client_python-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "18632d6bf52eba2a97f6080c18d92db2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27549, "upload_time": "2018-07-30T21:42:38", "url": "https://files.pythonhosted.org/packages/6d/a1/8f2ce4ecd5a618f98c4063b2164ea4f720a3fb0bfeeef1260673e0dc8b23/sym_api_client_python-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e33cda82844d5e5f3c1fbd5f349faf69", "sha256": "b300baf1271c429ec16b2bec5aa6eda0c41a6e6c3b25836c2054647484bbdbc4" }, "downloads": -1, "filename": "sym_api_client_python-0.0.8.tar.gz", "has_sig": false, "md5_digest": "e33cda82844d5e5f3c1fbd5f349faf69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15685, "upload_time": "2018-07-30T21:42:40", "url": "https://files.pythonhosted.org/packages/3c/a8/05af1dae6c4e85ba9ea4d08e5dc38b3d85b7653629c4635bf2735c18d1d3/sym_api_client_python-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "11b75d033790267b2b8166862498a87f", "sha256": "b221850743c3f27c6160f68f242621c5a485ae7c7fcb8216cf4b53b4d79b279b" }, "downloads": -1, "filename": "sym_api_client_python-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "11b75d033790267b2b8166862498a87f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27445, "upload_time": "2018-07-31T17:26:39", "url": "https://files.pythonhosted.org/packages/d6/ff/afa5332d8917551c1418e5fb6c58a828f9bc875493d5d80b55515c1526de/sym_api_client_python-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0dfdfb5a6eccfa6313f33625600852c4", "sha256": "1e8b0bb0b388a2113b9f6539352f11fe8509e0067f9a7f8ef527bc68dbf3731d" }, "downloads": -1, "filename": "sym_api_client_python-0.0.9.tar.gz", "has_sig": false, "md5_digest": "0dfdfb5a6eccfa6313f33625600852c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15686, "upload_time": "2018-07-31T17:26:40", "url": "https://files.pythonhosted.org/packages/40/31/e6b5fad130cc5020df26c06b3602c05bcf53625689c05d152f5909f890cd/sym_api_client_python-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "f734002f6750bda6d440c5dabc8afc59", "sha256": "1534c3da07f53985572651f6491746aa21d05b059ca64d9160f606132fa1adc9" }, "downloads": -1, "filename": "sym_api_client_python-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f734002f6750bda6d440c5dabc8afc59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27546, "upload_time": "2018-07-31T21:31:59", "url": "https://files.pythonhosted.org/packages/8c/b4/817c3c5b610735f426ee19ee941a366741f977e87e1c59ac29ee2dee12ae/sym_api_client_python-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ab93f8ac1a0e95af26ea2d2a3125764", "sha256": "da833d333247d136bc22d1e3c306599acb45ae4305007c1df1ce2f17187b1fea" }, "downloads": -1, "filename": "sym_api_client_python-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5ab93f8ac1a0e95af26ea2d2a3125764", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15757, "upload_time": "2018-07-31T21:32:00", "url": "https://files.pythonhosted.org/packages/26/26/4b0fc434e75c3c889518f68fd7a66e056f08d2bdc4d928db3839d5561cca/sym_api_client_python-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0d888ae19218a9177f55259b8fca7a8d", "sha256": "3068440f84931f79aa01e457b468cf1ece44756021d377c06f6cbf1d7678188e" }, "downloads": -1, "filename": "sym_api_client_python-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0d888ae19218a9177f55259b8fca7a8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27752, "upload_time": "2018-08-01T20:48:41", "url": "https://files.pythonhosted.org/packages/42/34/7e3d8f02a75320332bf0a3f10c727a0cd42274bce7a16d41de4e37013482/sym_api_client_python-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6bde5bfacc5f5abadc04de1aab83467c", "sha256": "c10d390bbcd87858cb705b5871150d12daa1633f4c5aa16cf17544e445742f32" }, "downloads": -1, "filename": "sym_api_client_python-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6bde5bfacc5f5abadc04de1aab83467c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15806, "upload_time": "2018-08-01T20:48:42", "url": "https://files.pythonhosted.org/packages/42/eb/a895243224261e13fed339cd27c260cd3a64970d0b4ff7943b7070767db7/sym_api_client_python-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "b56ce73ce0bab2b47b660a0165344b33", "sha256": "973058189379bba8ac5d591c5eb650674eb386ba1706a67037f350b5bbba6be6" }, "downloads": -1, "filename": "sym_api_client_python-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "b56ce73ce0bab2b47b660a0165344b33", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29018, "upload_time": "2018-12-03T21:23:27", "url": "https://files.pythonhosted.org/packages/00/5c/a0ec7f07371ae6d3f38bb314dc2e671ac0102242a63d4b8c7e48eb52c36b/sym_api_client_python-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68379d557ff5c86ad88d4eda7414eac7", "sha256": "e96dde38f81da11482a7531048a4375a950932343620aa8137745086ad9088b3" }, "downloads": -1, "filename": "sym_api_client_python-0.1.10.tar.gz", "has_sig": false, "md5_digest": "68379d557ff5c86ad88d4eda7414eac7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17309, "upload_time": "2018-12-03T21:23:29", "url": "https://files.pythonhosted.org/packages/bb/e5/3995f31a1d0613e7078e71fa3070d91ea8b50274d290555f57ad1414cca0/sym_api_client_python-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "ffb47ba3f203ac201b9a7a2fe15ec749", "sha256": "421e4462a9b1dee0676d2a1867aa91f31be72daafe8f39a28e37aff80449f817" }, "downloads": -1, "filename": "sym_api_client_python-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "ffb47ba3f203ac201b9a7a2fe15ec749", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29032, "upload_time": "2019-01-08T12:04:10", "url": "https://files.pythonhosted.org/packages/e9/f4/9f96ea0a1b651d5a2c219e391bcb7ae2ee09d0b74ced51d6fa8287e311a4/sym_api_client_python-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5dda0c8c912dc8651a94a0bc786f895", "sha256": "aaf6ae4f3e643b02da2c4029b6933a2a9a4b6a80547d1234638fd8976b8d89ad" }, "downloads": -1, "filename": "sym_api_client_python-0.1.11.tar.gz", "has_sig": false, "md5_digest": "d5dda0c8c912dc8651a94a0bc786f895", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17355, "upload_time": "2019-01-08T12:04:12", "url": "https://files.pythonhosted.org/packages/15/2a/0c240541167b49956b1dade0c32fdd218b71a3c55261b32771ca1d885109/sym_api_client_python-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "728d68de5349513d5bba2696e7b03279", "sha256": "61e7fb894ca4a42375b82ebace2dbbb61e515b165e78902fb19aa23f1b9837b2" }, "downloads": -1, "filename": "sym_api_client_python-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "728d68de5349513d5bba2696e7b03279", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42563, "upload_time": "2019-03-14T15:50:53", "url": "https://files.pythonhosted.org/packages/72/38/9ecd1c03cb194919604d35a84f0fd0858a861f8473e144365199250b901b/sym_api_client_python-0.1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a6764d9d2cb7270c714d4ee362a67a5", "sha256": "1605727f8bf542f7b9e18e218d4c334fd8da3b88114253e699ed6f557c656eca" }, "downloads": -1, "filename": "sym_api_client_python-0.1.12.tar.gz", "has_sig": false, "md5_digest": "2a6764d9d2cb7270c714d4ee362a67a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19140, "upload_time": "2019-03-14T15:50:56", "url": "https://files.pythonhosted.org/packages/04/bc/1bc73575181d6c769632ea3dca78b3fbaf24bf96a4fb48478992c8df13ff/sym_api_client_python-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "ac0d8736b35f654a02853c64aa151d17", "sha256": "ab3bb631c2a094a014ca1beca1a7b03831f7c091525c16e036b3317b24d313b5" }, "downloads": -1, "filename": "sym_api_client_python-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "ac0d8736b35f654a02853c64aa151d17", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28999, "upload_time": "2019-04-12T11:18:06", "url": "https://files.pythonhosted.org/packages/84/98/719e116a1dbeb364deabb9e49f678b66a831be304d43bdcaf1de9c60cfdd/sym_api_client_python-0.1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36ac418b24ac7e5201ee09cb45bc2008", "sha256": "a04d0677f24d30d2b168e07c40c1a51602ca48399b79e2b70bc9e0b0c3a2ba1b" }, "downloads": -1, "filename": "sym_api_client_python-0.1.13.tar.gz", "has_sig": false, "md5_digest": "36ac418b24ac7e5201ee09cb45bc2008", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20123, "upload_time": "2019-04-12T11:18:08", "url": "https://files.pythonhosted.org/packages/c4/30/bde80b94faad275c3bc655b930e50550b61b10b72e44318f0568bbdc9cfd/sym_api_client_python-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "fc0de1bdb3d1bbe1ca1a93d5436bcac1", "sha256": "47f6e241f6fee3f0e984f9524f5d68ebc4b8beed830e558e4d0cb303fba44891" }, "downloads": -1, "filename": "sym_api_client_python-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "fc0de1bdb3d1bbe1ca1a93d5436bcac1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30993, "upload_time": "2019-05-16T23:19:29", "url": "https://files.pythonhosted.org/packages/b6/bd/13d551388079ceeb52adcb680105e7c3eb1a81a1a3f36b6db9ba96d2d377/sym_api_client_python-0.1.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20aa537a458f82a99cdc91f1aefabed2", "sha256": "fddfc81b5a77babca7d7f4a7616debc66f54db36e203e0bed587e597f0681d09" }, "downloads": -1, "filename": "sym_api_client_python-0.1.14.tar.gz", "has_sig": false, "md5_digest": "20aa537a458f82a99cdc91f1aefabed2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21777, "upload_time": "2019-05-16T23:19:30", "url": "https://files.pythonhosted.org/packages/99/14/5a948f6c986e70377502f2d6c276a00787325936c2ec2f381e140033c24b/sym_api_client_python-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "e0cc296172ac7193929ffe3ab0acf46e", "sha256": "3325457028d181554f0b48b9768c7a5a42c9717f13f4408e668d9ca2350ba5d2" }, "downloads": -1, "filename": "sym_api_client_python-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "e0cc296172ac7193929ffe3ab0acf46e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30380, "upload_time": "2019-05-20T16:11:06", "url": "https://files.pythonhosted.org/packages/5e/b7/01b8dc612949ac3f0e500f5dfc18cdbdc25599fae39932cbf4287dce123b/sym_api_client_python-0.1.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56cdd09e40dd7c7f32a6352d71363349", "sha256": "7b547d6f1614d5e49cef76fcb63c9aff12931e580e8d5c69b8d7bc0d7969341a" }, "downloads": -1, "filename": "sym_api_client_python-0.1.15.tar.gz", "has_sig": false, "md5_digest": "56cdd09e40dd7c7f32a6352d71363349", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21823, "upload_time": "2019-05-20T16:11:10", "url": "https://files.pythonhosted.org/packages/12/55/9f6b6ace23c8c4b5c49219dcba0b86975150d01ed79dbbbd516a7f297d92/sym_api_client_python-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "ef790de0cefb240733dbe4ba815eb553", "sha256": "9204861b8f621701d97c676b6757ac49187d4b67d11a1bb58357100952f605e8" }, "downloads": -1, "filename": "sym_api_client_python-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "ef790de0cefb240733dbe4ba815eb553", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30441, "upload_time": "2019-05-30T00:11:03", "url": "https://files.pythonhosted.org/packages/55/81/f8bbcf6025e717a3d7529e8c0c5c7bc6883422ba64e63760dde80aae6a47/sym_api_client_python-0.1.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8707041e2f6171760d701b9ea0961cd1", "sha256": "753332059e0c5d2568485b978699a8fbaad72226f4cda59cb31b33fdd4759d56" }, "downloads": -1, "filename": "sym_api_client_python-0.1.16.tar.gz", "has_sig": false, "md5_digest": "8707041e2f6171760d701b9ea0961cd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21878, "upload_time": "2019-05-30T00:11:05", "url": "https://files.pythonhosted.org/packages/17/1e/5a108a0c56f5cf3f2ba035f8f09a6ea95d9704ccad76041e3d78cbd3f22b/sym_api_client_python-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "20584bb09e7e99c9f11bce308ef34ff4", "sha256": "22220a3e6af246eb967c0d97d88b37e598221c57084b29850f5f41ff4bd3726d" }, "downloads": -1, "filename": "sym_api_client_python-0.1.17-py3-none-any.whl", "has_sig": false, "md5_digest": "20584bb09e7e99c9f11bce308ef34ff4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36589, "upload_time": "2019-07-23T18:34:55", "url": "https://files.pythonhosted.org/packages/6d/33/e295afd99e6a3bb55dac3b47282e6c86b50b6fc9383882a5d73e1326cfdc/sym_api_client_python-0.1.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efa6f9f5d56a551653860af38f5dc63c", "sha256": "3a448e4e5ae6a77d868429f25de55ff5c85fed35caa8f2073d0c6dfa63cb243e" }, "downloads": -1, "filename": "sym_api_client_python-0.1.17.tar.gz", "has_sig": false, "md5_digest": "efa6f9f5d56a551653860af38f5dc63c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26177, "upload_time": "2019-07-23T18:34:57", "url": "https://files.pythonhosted.org/packages/e8/5c/68c70cc80340f6c802fbd2f562ad724830b90b370075deef510556d5faf2/sym_api_client_python-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "69cd4259edda4555f5a26ae74203877e", "sha256": "7295b8990373cf4b4aa9029c622cf54b1c1e1213cfaaf2f3f760913fa1f35876" }, "downloads": -1, "filename": "sym_api_client_python-0.1.18-py3-none-any.whl", "has_sig": false, "md5_digest": "69cd4259edda4555f5a26ae74203877e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49668, "upload_time": "2019-09-12T01:03:29", "url": "https://files.pythonhosted.org/packages/89/11/57ff86ecf8fdc4b133d15401da52d258a249268af2fbb37551189094a0dd/sym_api_client_python-0.1.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "226c867aa1f69412d9e2b02a2ea6b8a7", "sha256": "493649985b0eea0bbeb0d9e37fe5db9ab9ed6afd7eaa10c482f88f0c04689e2a" }, "downloads": -1, "filename": "sym_api_client_python-0.1.18.tar.gz", "has_sig": false, "md5_digest": "226c867aa1f69412d9e2b02a2ea6b8a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36343, "upload_time": "2019-09-12T01:03:32", "url": "https://files.pythonhosted.org/packages/49/dd/b4da8463a5d23a9364fb4dde3ad34d4d4049f8af60ebf3b881f6a6844290/sym_api_client_python-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "35f4c83429608e2c8cf525883857c990", "sha256": "e304b6f0e019ebcf7b140f0a3bd770310c070a71e8de708733d3aa2bdbe05b8f" }, "downloads": -1, "filename": "sym_api_client_python-0.1.19-py3-none-any.whl", "has_sig": false, "md5_digest": "35f4c83429608e2c8cf525883857c990", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49679, "upload_time": "2019-09-19T15:57:16", "url": "https://files.pythonhosted.org/packages/44/0f/1aa8f1444f7d04868ec9d479b6694c9784ebcb076683db60202f224e30dc/sym_api_client_python-0.1.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "210373ce5c6e8527b00771ee5eea933c", "sha256": "a77baa7deefff0fa2566405573818c331494620e41fea8df3e5da5709800ab53" }, "downloads": -1, "filename": "sym_api_client_python-0.1.19.tar.gz", "has_sig": false, "md5_digest": "210373ce5c6e8527b00771ee5eea933c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36357, "upload_time": "2019-09-19T15:57:18", "url": "https://files.pythonhosted.org/packages/73/8d/8eaf0c37d45a0319a4e2a3672f33ae76976270e88055b9be491d606a6d93/sym_api_client_python-0.1.19.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d5040d4c67033eec7345e4c049e93df0", "sha256": "fead01b1822e2aeab4e70e74174e97a92223e30a0a410cabbc8508abde5d200d" }, "downloads": -1, "filename": "sym_api_client_python-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d5040d4c67033eec7345e4c049e93df0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27962, "upload_time": "2018-08-02T17:07:20", "url": "https://files.pythonhosted.org/packages/75/4c/f97e3d07f861d0e4601d111a7b402417d7c14b85fcf7721491d16c0b5db5/sym_api_client_python-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6b38b544d23e49224a8fb7b1a640eef", "sha256": "0ade4c1f73e276a8ccd887f65ec96877ccd7e6e9dd05c0599ca3d859cbbae343" }, "downloads": -1, "filename": "sym_api_client_python-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c6b38b544d23e49224a8fb7b1a640eef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15875, "upload_time": "2018-08-02T17:07:21", "url": "https://files.pythonhosted.org/packages/50/65/8ab435969c2ec55e64f6406c6afc26333081ad8bbdd4b94760dfecf1d320/sym_api_client_python-0.1.2.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "b9051f70b5a29a556e80c85baef93f98", "sha256": "dae0673ae900b07042e6177e2d4932348d43d021f0947d58fb7f7e1f0505cf04" }, "downloads": -1, "filename": "sym_api_client_python-0.1.20-py3-none-any.whl", "has_sig": false, "md5_digest": "b9051f70b5a29a556e80c85baef93f98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49686, "upload_time": "2019-09-19T16:24:57", "url": "https://files.pythonhosted.org/packages/63/e2/b834376c2b6197d6b2b0cb652e2d9c028ae01085d846cea21fc34bfe0660/sym_api_client_python-0.1.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b422a0e28945a8ae97d010609c9cdc32", "sha256": "0522406adb121aea552d1ecb1bc54f95445bf2811b523786b4df1fb1d5d2d0b4" }, "downloads": -1, "filename": "sym_api_client_python-0.1.20.tar.gz", "has_sig": false, "md5_digest": "b422a0e28945a8ae97d010609c9cdc32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36381, "upload_time": "2019-09-19T16:24:59", "url": "https://files.pythonhosted.org/packages/b7/00/b7dc1fbe3f8fa4944f6dd0ae2eaac6b27a12f4d27b2ccb375e0b3dbb48dd/sym_api_client_python-0.1.20.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2db80a4e4f77b3a3043917b3389b8625", "sha256": "2c41fcff3a893b619a2034f803141b4abc13fac29a8579d6fa3f1da754acf269" }, "downloads": -1, "filename": "sym_api_client_python-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2db80a4e4f77b3a3043917b3389b8625", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32759, "upload_time": "2018-08-07T17:28:16", "url": "https://files.pythonhosted.org/packages/28/6c/c95ba878e26ca83035b241aab611fd8ad359dcecc0a99526ab9e1e2b684f/sym_api_client_python-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a91d9fdb0c1f0559aba04c94e92b125c", "sha256": "122616585507f2f0f44781c56bb9fbac46b3522caf4fb9d59d3bbbe82cbd3b16" }, "downloads": -1, "filename": "sym_api_client_python-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a91d9fdb0c1f0559aba04c94e92b125c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16479, "upload_time": "2018-08-07T17:28:17", "url": "https://files.pythonhosted.org/packages/86/a7/68a22e6b19e147eb3428c2f1f0de130cae7f9c773c56ecafd6a0786e23f3/sym_api_client_python-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8a4c0f412526a33fd7ac490c52b8ce55", "sha256": "3a8705bf7a46e2a94cab666f164daa605cfedf41ba95a28ed319721e5a253226" }, "downloads": -1, "filename": "sym_api_client_python-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8a4c0f412526a33fd7ac490c52b8ce55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32777, "upload_time": "2018-08-07T21:21:51", "url": "https://files.pythonhosted.org/packages/45/9f/f31e35ee1fb83eec0ad0fec11ed09fe6180b6fb0ca96e56175f093e7c638/sym_api_client_python-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "235772a7a628ca15824c8ccc54093cfd", "sha256": "b1da57f28e35f99614707769a95096aebd61d39908f515ad42ba07dcec7f8e14" }, "downloads": -1, "filename": "sym_api_client_python-0.1.4.tar.gz", "has_sig": false, "md5_digest": "235772a7a628ca15824c8ccc54093cfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16552, "upload_time": "2018-08-07T21:21:53", "url": "https://files.pythonhosted.org/packages/44/a8/cad7b56dfa91e5e5c468b67f987b6ed3f6f592cc041feb709532be4eca4c/sym_api_client_python-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7c02d1628752eacec7ce993c23e64d5d", "sha256": "3500b6427ae10dcb76380db7cea7b12246c1f11b6e6beaa1254c710cac09ea5e" }, "downloads": -1, "filename": "sym_api_client_python-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7c02d1628752eacec7ce993c23e64d5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32722, "upload_time": "2018-08-08T19:20:57", "url": "https://files.pythonhosted.org/packages/fd/51/dd1e1be344e69e6a96689c7bd4186fecfc36758a5fb6c77726692cffb018/sym_api_client_python-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1540d725d921dfc119e0a8ace6ccd821", "sha256": "e2d6cd6c8057a1c419a919555447517654ee2e672b813ae92b7af1b8741c7caf" }, "downloads": -1, "filename": "sym_api_client_python-0.1.5.tar.gz", "has_sig": false, "md5_digest": "1540d725d921dfc119e0a8ace6ccd821", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16526, "upload_time": "2018-08-08T19:20:58", "url": "https://files.pythonhosted.org/packages/dc/ea/e59b77862316e309bd351cf8db1f85d296a94985277b06d2be8c7735976d/sym_api_client_python-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "1637545084505f7f6ada20787aaa7f1d", "sha256": "1436b94c5cd8d7eed2a8e0672a948f22d5bf0c2aaec19361ac83150126fc7241" }, "downloads": -1, "filename": "sym_api_client_python-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "1637545084505f7f6ada20787aaa7f1d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32749, "upload_time": "2018-08-09T14:08:44", "url": "https://files.pythonhosted.org/packages/ae/81/c9b089ea3ec0cc0deb24055645b3aadcd8679e280ba8ed86141b39adcc2d/sym_api_client_python-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a864fc20fd8b94b8cbe889e8953f1d74", "sha256": "f197c70843e4f3dbe48505c3cf80b7fe3c5d85ed8ac7fc64d04d4b31024c8583" }, "downloads": -1, "filename": "sym_api_client_python-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a864fc20fd8b94b8cbe889e8953f1d74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16532, "upload_time": "2018-08-09T14:08:46", "url": "https://files.pythonhosted.org/packages/6a/ab/fcc5e5cc58d6c526b6d0db4e78287b7cf1abd371e06ae840d5b47100914f/sym_api_client_python-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "7c7ddc4db45bc842814af53fe02d4d69", "sha256": "cf4302710b17406932e5980eb5267f7fc36f03d0f7c333478b7b7fd56dfaa4a0" }, "downloads": -1, "filename": "sym_api_client_python-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "7c7ddc4db45bc842814af53fe02d4d69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32852, "upload_time": "2018-08-09T17:10:20", "url": "https://files.pythonhosted.org/packages/45/16/3003104b9878cc6d6cdf68509eaa77e65e5ee391727f61d23c368cc92157/sym_api_client_python-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4b4765b6a37ed332ff852d28ae2f591", "sha256": "f340a710c073977def59264e5308315afd937b4f091f65eec14c0d2593407798" }, "downloads": -1, "filename": "sym_api_client_python-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a4b4765b6a37ed332ff852d28ae2f591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16624, "upload_time": "2018-08-09T17:10:21", "url": "https://files.pythonhosted.org/packages/f3/e1/e04c9b99abb7bf54e09a0b939ef8af5899870ed3ea7927db4212c1a03375/sym_api_client_python-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "b1191d82dfb2609a31a300816c14bedd", "sha256": "175fdfb55a05d352c64a98c81bfb3059581023d22f3c1508c17a63b641b3a4f1" }, "downloads": -1, "filename": "sym_api_client_python-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "b1191d82dfb2609a31a300816c14bedd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32888, "upload_time": "2018-08-14T17:17:56", "url": "https://files.pythonhosted.org/packages/03/b6/ce4d6320098c61fb4e1b455f11b9a086eb789c39a9ae59e718749f0cfe46/sym_api_client_python-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a9b75bf655b417c333eb4006f8a03b0", "sha256": "aefeed08d88497a23bfd88f5f3f1c9c0e16ce2e4563f457e34e2b786776b3a8f" }, "downloads": -1, "filename": "sym_api_client_python-0.1.8.tar.gz", "has_sig": false, "md5_digest": "1a9b75bf655b417c333eb4006f8a03b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16704, "upload_time": "2018-08-14T17:17:58", "url": "https://files.pythonhosted.org/packages/9d/ab/1b6bc594814d395e62b7ac45e2e356c7663a8fd07ee5819d1beac32df644/sym_api_client_python-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "1831566dfae1e62100c28f30b4a6368f", "sha256": "5b8e42817cd08c3d9450dea675cce53e4182c4fd5af2648caa036da0e3513281" }, "downloads": -1, "filename": "sym_api_client_python-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "1831566dfae1e62100c28f30b4a6368f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32885, "upload_time": "2018-08-14T17:52:04", "url": "https://files.pythonhosted.org/packages/91/1b/c39795796c2a6e6aa4f73a31fb40a1c94a60d95eb426dfcd2299a3b813ca/sym_api_client_python-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "612dd6585213fca9721b649194eaf101", "sha256": "f47214be2d67fbd80def7967c31b6296b82d7e9ab97c1ef9a7e152bb4270c732" }, "downloads": -1, "filename": "sym_api_client_python-0.1.9.tar.gz", "has_sig": false, "md5_digest": "612dd6585213fca9721b649194eaf101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16693, "upload_time": "2018-08-14T17:52:06", "url": "https://files.pythonhosted.org/packages/0a/91/8dbd1c9dd98a0a6ef091fcb7c82e3c730dc8cd81e5cc220ce60956922261/sym_api_client_python-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9051f70b5a29a556e80c85baef93f98", "sha256": "dae0673ae900b07042e6177e2d4932348d43d021f0947d58fb7f7e1f0505cf04" }, "downloads": -1, "filename": "sym_api_client_python-0.1.20-py3-none-any.whl", "has_sig": false, "md5_digest": "b9051f70b5a29a556e80c85baef93f98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49686, "upload_time": "2019-09-19T16:24:57", "url": "https://files.pythonhosted.org/packages/63/e2/b834376c2b6197d6b2b0cb652e2d9c028ae01085d846cea21fc34bfe0660/sym_api_client_python-0.1.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b422a0e28945a8ae97d010609c9cdc32", "sha256": "0522406adb121aea552d1ecb1bc54f95445bf2811b523786b4df1fb1d5d2d0b4" }, "downloads": -1, "filename": "sym_api_client_python-0.1.20.tar.gz", "has_sig": false, "md5_digest": "b422a0e28945a8ae97d010609c9cdc32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36381, "upload_time": "2019-09-19T16:24:59", "url": "https://files.pythonhosted.org/packages/b7/00/b7dc1fbe3f8fa4944f6dd0ae2eaac6b27a12f4d27b2ccb375e0b3dbb48dd/sym_api_client_python-0.1.20.tar.gz" } ] }