{ "info": { "author": "Lukas Cerny", "author_email": "lukas.cerny@exponea.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Exponea Python SDK\n\nAn official Python client for Exponea Data API\n\n## Installation\n```\npip install exponea-python-sdk\n```\n\n## Usage\n```python\nfrom exponea_python_sdk import Exponea\nexponea = Exponea(\"project_token\", username=\"basic_auth_username\", password=\"basic_auth_password\")\n```\nYou can now fully utilize all four API, which are Analyses, Catalog, Customer and Tracking API described bellow.\n\n## Tests\nTo run tests, run the following command\n```python\npython -m pytest\n```\n\n## Logging\nTo configure logging, use the attribute `exponea.logger` where a standard logger from Python `logging` module is initalized. For example, to enable `DEBUG` messages, you can configure\n```python\nexponea.logger.setLevel(\"DEBUG\")\n```\n\n## Official documenation\nFor official Exponea documenation of Data API please see \n\n## Table of Contents\n* [Customer API](#customer-api)\n * [get_customer](#get_customer)\n * [get_customer_consents](#get_customer_consents)\n * [get_customer_attributes](#get_customer_attributes)\n * [get_customers](#get_customers)\n * [get_events](#get_events)\n * [anonymize_customer](#anonymize_customer)\n* [Analyses API](#analyses-api)\n * [get_report](#get_report)\n * [get_funnel](#get_funnel)\n * [get_segmentation](#get_segmentation)\n* [Catalog API](#catalog-api)\n * [create_catalog](#create_catalog)\n * [get_catalog_name](#get_catalog_name)\n * [get_catalog_items](#get_catalog_items)\n * [update_catalog_item](#update_catalog_item)\n * [update_catalog_name](#update_catalog_name)\n * [create_catalog_item](#create_catalog_item)\n * [delete_catalog_item](#delete_catalog_item)\n * [delete_catalog_items](#delete_catalog_items)\n * [delete_catalog](#delete_catalog)\n* [Tracking API](#tracking-api)\n * [get_system_time](#get_system_time)\n * [update_customer_properties](#update_customer_properties)\n * [add_event](#add_event)\n * [batch_commands](#batch_commands)\n\n## Catalog API\n\n## create_catalog\n```python\nexponea.catalog.create_catalog(\"catalog_name\", [\"field_one\", \"field_two\"])\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_name | `String` | Yes |\n| fields | `Array` | Yes |\n\nIt returns ID of the catalog as a String.\n\n```python\nd2b69e7s987b0asa0137455f2\n```\n\n## get_catalog_name\n```python\nexponea.catalog.get_catalog_name(\"catalog_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n\nIt returns name of the catalog as a String.\n\n```python\ntest_catalog\n```\n\n## get_catalog_items\n```python\nexponea.catalog.get_catalog_items(\"catalog_id\", params={})\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n| params | `Dictionary` | No |\n\n_Note: `params` is a kwargs argument._\n\nIt returns items of the catalog that match the query and filters specified in params Dictionary. See [official documentation](https://developers.exponea.com/v2/reference#get-catalog-items) for what kind of options you can give to params Dictionary.\n\n```python\n{\n \"matched\": 2,\n \"limit\": 20,\n \"skip\": 0,\n \"data\": [{\"item_id\": \"1\", \"properties\": {\"field_one\": \"foo\", \"field_two\": \"baz\"}}],\n \"matched_limited\": False,\n \"total\": 2\n}\n```\n\n## update_catalog_item\n```python\nexponea.catalog.update_catalog_item(\"catalog_id\", \"1\", {\"field_one\": \"new_value\"})\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n| item_id | `String` | Yes |\n| properties | `String` | Yes |\n\nIt returns Boolean of whether the operation was successful.\n\n```python\nTrue\n```\n\n## update_catalog_name\n```python\nexponea.catalog.update_catalog_name(\"catalog_id\", \"new_name\", [\"fiel_one\", \"field_two\", \"field_three\"])\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n| new_name | `String` | Yes |\n| fields | `Array` | Yes |\n\n_Note: `fields` must contain those fields that already exist._\n\nIt returns Boolean of whether the operation was successful.\n\n```python\nTrue\n```\n\n## create_catalog_item\n```python\nexponea.catalog.create_catalog_item(\"catalog_id\", \"item_id\", { \"field_one\": \"value_one\" })\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n| item_id | `String` | Yes |\n| properties | `Dictionary` | Yes |\n\n_Note: This operation replaces an already existing item if the IDs match._\n\nIt returns Boolean of whether the operation was successful.\n```python\nTrue\n```\n\n## update_catalog_item\n```python\nexponea.catalog.update_catalog_item(\"catalog_id\", \"item_id\", { \"field_one\": \"value_one\" })\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n| item_id | `String` | Yes |\n| properties | `Dictionary` | Yes |\n\n_Note: Updates only those fields that are specified in properties Dictionary._\n\nIt returns Boolean of whether the operation was successful.\n```python\nTrue\n```\n\n\n## delete_catalog_item\n```python\nexponea.catalog.delete_catalog_item(\"catalog_id\", \"item_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n| item_id | `String` | Yes |\n\nIt returns Boolean of whether the operation was successful.\n\n```python\nTrue\n```\n\n## delete_catalog_items\n```python\nexponea.catalog.delete_catalog_items(\"catalog_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n\nIt returns Boolean of whether the operation was successful.\n\n```python\nTrue\n```\n\n## delete_catalog\n```python\nexponea.catalog.delete_catalog(\"catalog_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| catalog_id | `String` | Yes |\n\nIt returns Boolean of whether the operation was successful.\n\n```python\nTrue\n```\n\n## Tracking API\n\n### get_system_time\n```python\nexponea.tracking.get_system_time(batch=False)\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| batch | `Boolean` | No |\n\n_Note: The `batch` kwarg specifies whether command is used in the batch mode. See [batch_commands method](#batch_commands) for details._\n\nIt returns a Float.\n```python\n1533663283.8943756\n```\n\n### update_customer_properties\n```python\nexponea.tracking.update_customer_properties({ \"registered\": \"test\" }, { \"first_name\": \"Lukas\" }, batch=False)\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n| properties | `Dictionary` | Yes |\n| batch | `Boolean` | No |\n\n_Note: The Customer's properties will get updated with the values of the properties Dictionary._\n\n_Note: The `batch` kwarg specifies whether command is used in the batch mode. See [batch_commands method](#batch_commands) for details._\n\nIt returns Boolean describing whether operation was successful or not.\n```python\nTrue\n```\n\n### add_event\n```python\nexponea.tracking.add_event({ \"registered\": \"test\" }, \"event_type\", properties={ \"property\": \"sample_property\" }, timestamp=1533663283, batch=False)\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n| event_type | `String` | Yes |\n| properties | `Dictionary` | No |\n| timestamp | `Float` | No |\n| batch | `Boolean` | No |\n\n_Note: `properties`, `timestamp` and `batch` parameters are kwargs._\n\n_Note: The `batch` kwarg specifies whether command is used in the batch mode. See [batch_commands method](#batch_commands) for details._\n\nIt returns Boolean describing whether operation was successful or not.\n```python\nTrue\n```\n\n### batch_commands\n```python\nexponea.tracking.batch_commands([\n exponea.tracking.add_event({ \"registered\": \"test\" }, \"event_type\", properties={ \"property\": \"test\" }, batch=True),\n exponea.tracking.update_customer_properties({ \"registered\": \"test\" }, { \"first_name\": \"Lukas\" }, batch=True),\n exponea.tracking.get_system_time(batch=True)\n])\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| commands | `Array` | Yes |\n\nSee [official documentation](https://developers.exponea.com/v2/reference#section-how-to-build-a-command-body) for the available formats of different types of commands.\nIt returns an Array of Booleans describing whether each operation was successful or not.\n\n```python\n[True, True, 1533833512.6860783]\n```\n\n## Customer API\n\n### get_customer\n```python\nexponea.customer.get_customer({ \"registered\": \"test\", \"cookie\": \"123\" })\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n\n_Note: The keys of the Dictionary are the names of the ID type, and value is the value for a given customer._\n\nIt returns a Dictionary.\n```python\n{\n \"events\": [{\n \"type\": \"test\",\n \"timestamp\": 1533495544.343536,\n \"properties\": {}\n }],\n \"properties\": {\n \"first_name\": \"Lukas\",\n \"last_nam\": \"Cerny\"\n },\n \"ids\": {\n \"registered\": \"test\",\n \"cookie\": \"123\"\n }\n}\n```\n\n### get_customer_consents\n```python\nexponea.customer.get_customer_consents({\"registered\": \"test\"}, [ \"newsletter\", \"other\" ])\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n| consent_types | `Array` | Yes |\n\nIt returns a Dictionary.\n\n```python\n{\n \"newsletter\": True,\n \"other\": False\n}\n```\n\n### get_customer_attributes\n```python\nexponea.customer.get_customer_attributes({\"registered\": \"test\"}, ids=[\"cookie\", \"ga\"], properties=[\"first_name\"], aggregations=[\"agg_id\"], segmentations=[\"segm_id\"], predictions=[\"pred_id\"], expressions=[\"expr_id\"])\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n| ids | `Array` | No |\n| properties | `Array` | No |\n| aggregations | `Array` | No |\n| expressions | `Array` | No |\n| segmentations | `Array` | No |\n| predictions | `Array` | No |\n| expressions | `Array` | No |\n\n_Note: All the arguments are kwargs and specify the attributes you want to recieve._\n\nIt returns a Dictionary.\n```python\n{\n \"ids\": {\n \"cookie\": [],\n \"ga\": \"sample_id\"\n },\n \"properties\": {\n \"first_name\": \"Lukas\"\n },\n \"aggregations\": {\n \"agg_id\": \"sample_aggregate\"\n },\n \"segmentations\": {\n \"segm_id\": \"sample_segment\"\n },\n \"predictions\": {\n \"pred_id\": \"sample_prediction\"\n },\n \"expressions\": {\n \"expr_id\": \"sample_expression\"\n }\n}\n```\n_Note: If you do not specify one of the attribute types, it will not have a key in the resulting Dictionary._\n\n### get_customers\n```python\nexponea.customer.get_customers()\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n\nIt returns an Array.\n```python\n[\n {\n \"ids\": {\n \"cookie\": [],\n \"registered\": \"test\"\n },\n \"properties\": {\n \"first_name\": \"Lukas\",\n \"last_name\": \"Cerny\"\n }\n }\n]\n```\n\n### get_events\n```python\nexponea.customer.get_events({ \"registered\": \"test\" }, [ \"event_type\" ])\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n| event_types | `Array` | Yes |\n\n_Note: Elements of `event_types` Array are names of Events._\n\nIt returns an Array.\n```python\n[\n {\n \"properties\":{\n \"foo\": \"baz\"\n },\n \"timestamp\":1533495529.9268496,\n \"type\": \"event_type\"\n }\n]\n```\n\n### anonymize_customer\n```python\nexponea.customer.anonymize_customer({ \"registered\": \"test\" })\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| customer_ids | `Dictionary` | Yes |\n\nIt returns a Boolean if operation was successful or not.\n\n```python\nTrue\n```\n\n## Analyses API\n\n### get_report\n```python\nexponea.analyses.get_report(\"report_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| report_id | `String` | Yes |\n\nIt returns a Dictionary. The elements in `data` represent individual rows.\n\n```python\n{\n \"name\": \"report_name\",\n \"data\": [\n {\n \"column_name_1\": \"value_1\",\n \"column_name_2\": 1\n }\n ]\n}\n```\n\n### get_funnel\n```python\nexponea.analyses.get_funnel(\"funnel_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| funnel_id | `String` | Yes |\n\nIt returns a Dictionary. The elements in `data` represent individual drill downs.\n\n```python\n{\n \"name\": \"funnel_name\",\n \"data\": [\n {\n \"serie\": \"serie_name\",\n \"step 1 step_one_name count\": 2,\n \"step 2 step_two_name count\": 1,\n \"step 2 event_name duration from previous\": 435764.1615576744\n }\n ]\n}\n```\n\n### get_segmentation\n```python\nexponea.analyses.get_segmentation(\"segmentation_id\")\n```\n| Parameter | Type | Required |\n| ------------- | ------------- | -------- |\n| segmentation_id | `String` | Yes |\n\nIt returns a Dictionary. The elements in `data` represent individual segments.\n\n```python\n{\n \"name\": \"segmentation_name\",\n \"data\": [\n {\n \"segment\": \"segment_name_1\",\n \"#\": 0\n }\n ]\n}\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/exponea/exponea-python-sdk", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "exponea-python-sdk", "package_url": "https://pypi.org/project/exponea-python-sdk/", "platform": "", "project_url": "https://pypi.org/project/exponea-python-sdk/", "project_urls": { "Homepage": "https://github.com/exponea/exponea-python-sdk" }, "release_url": "https://pypi.org/project/exponea-python-sdk/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "A Python client for Exponea Data API", "version": "0.1.8" }, "last_serial": 4434948, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "571f250458a1d10064295a5fb45d8e79", "sha256": "aff78206f99d307c8676c0ffacc8baadaae375bd0ca623d027d4b0af959065c4" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "571f250458a1d10064295a5fb45d8e79", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8634, "upload_time": "2018-08-13T11:45:06", "url": "https://files.pythonhosted.org/packages/be/c5/049ab92067b1db8bdcc0c94dbbc82c5d7df199806b27fc147435686fe735/exponea_python_sdk-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc70251f4f3573757344bc6ab473b718", "sha256": "c805aa475cee741e929901576cbb3a89e340e529ddfd030052b01f751ee179bf" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.0.tar.gz", "has_sig": false, "md5_digest": "cc70251f4f3573757344bc6ab473b718", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10094, "upload_time": "2018-08-13T11:45:11", "url": "https://files.pythonhosted.org/packages/3a/eb/d1978a8116b5dadfd3ae89bb95c05ede08d90c90b9da3f1db96062592e75/exponea_python_sdk-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6f216c94d2ad2c2bed2012cdf68083f4", "sha256": "59dabb8504011219e4903ac3947743da33a3b734353e1d6b37946ae4b862265d" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6f216c94d2ad2c2bed2012cdf68083f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8634, "upload_time": "2018-08-13T11:45:08", "url": "https://files.pythonhosted.org/packages/fa/2b/7386adb2129554c52f90a31ccb1d54f439b57c92473baedc1eb51f17641d/exponea_python_sdk-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f50d15733510bc83892f3ab4398c4deb", "sha256": "729c3649f344a1f90f736b88ddd150ead8663fb0149f1e2c3625384fc9281672" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f50d15733510bc83892f3ab4398c4deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10089, "upload_time": "2018-08-13T11:45:10", "url": "https://files.pythonhosted.org/packages/ae/67/8fe618651b8b7e5edf3066a2d8bac943d651ec6581adc57387ffb2fe960d/exponea-python-sdk-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "cd92a4c3a68a6488e87afcba29537506", "sha256": "c4b674576818219642a5f429097b2801402950ec73f63122fccebf07abf6b6d5" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cd92a4c3a68a6488e87afcba29537506", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8607, "upload_time": "2018-08-14T10:10:42", "url": "https://files.pythonhosted.org/packages/b7/b5/3c1177e4ad6c30d51c0b9de4eb0061be80bf574e3ec4def03b870535486b/exponea_python_sdk-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4703e57621ec1512adb5f7cefd6cf5e5", "sha256": "d874da9eeaa9e658eceaf64ad4f54c09c6add86def76cf44e5947d3ba0dae49f" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4703e57621ec1512adb5f7cefd6cf5e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10043, "upload_time": "2018-08-14T10:10:44", "url": "https://files.pythonhosted.org/packages/c2/0a/10a9089a9f3ce3ea43a4dfe442469f20857390eb2ecc3f17fb579f07dfe3/exponea-python-sdk-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ba387504fd7366b716a5a6c7cf5d89b7", "sha256": "91f0ca0f648ce72e029ddcae5251d1e9c6d7a08040102a3ec4637d113e10fc3d" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ba387504fd7366b716a5a6c7cf5d89b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8657, "upload_time": "2018-08-14T13:41:09", "url": "https://files.pythonhosted.org/packages/5e/e5/1b2206ab075324ac1d801d470178f1f282e4d82e95be98449129af7d37bf/exponea_python_sdk-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d81ca519c3749092a60e78e0987b10cc", "sha256": "29732d7fda77327e7d02ff7b0e68adf2e70b0d22b8622c221def14077b29ef16" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d81ca519c3749092a60e78e0987b10cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10095, "upload_time": "2018-08-14T13:41:12", "url": "https://files.pythonhosted.org/packages/a0/d0/d644ee43bfb5a4c77f7ee68aff82bd3bf1e9ccb9a45c913e66ca26bbdf80/exponea-python-sdk-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "1af5f52fbed80ab6d53209b2839a284b", "sha256": "bd8d27e2c0b71b1207552115958c39abe50bd6bd8df6199f8920153b77aa9b40" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1af5f52fbed80ab6d53209b2839a284b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8667, "upload_time": "2018-08-16T11:57:20", "url": "https://files.pythonhosted.org/packages/5c/a1/7a017716620a17412505d9c13b45e4cd43022d6f4c703ebcd4a6ff942ec0/exponea_python_sdk-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e360eb3ecb9cf49cef59c61b745afaa", "sha256": "068e33e83bba7d2f67f9261d014f21f9b25fee548dc9270549df8abe4bbb85cc" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5e360eb3ecb9cf49cef59c61b745afaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10105, "upload_time": "2018-08-16T11:57:23", "url": "https://files.pythonhosted.org/packages/85/0b/a8a401893ee4e5c38ea6a4d85d78fddcddfba8a3edef41b50ff8c848a824/exponea-python-sdk-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "b6f937c0329bf411aeff8f6e05b27e0e", "sha256": "91cf1eb44a32e7b8a1f63ecc2932f1868d099ce3f76acddf4c0d7ef39bf46027" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "b6f937c0329bf411aeff8f6e05b27e0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8841, "upload_time": "2018-08-17T07:58:13", "url": "https://files.pythonhosted.org/packages/58/b0/b69e4bdeceecef2a22882975ce720b397b0ec51efd6e2b58f265cacbd47e/exponea_python_sdk-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "27a744fdbbfdc247d1289f80feabc335", "sha256": "f691bcc684dfc25c4b8edb829b9a0f092c4238356f666cb9613c3e311b5fc023" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.5.tar.gz", "has_sig": false, "md5_digest": "27a744fdbbfdc247d1289f80feabc335", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10395, "upload_time": "2018-08-17T07:58:17", "url": "https://files.pythonhosted.org/packages/4e/e5/48175e72f37449d7db2c700c82bdb7e5601f38c60fbd7b9000020b6acff1/exponea-python-sdk-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "4d5f20fac9f45f61e348c0fa673ada66", "sha256": "08da346ba008172b948c85ed05cf10d9923a06c8513a9da9b03e0ec2cd522ed0" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "4d5f20fac9f45f61e348c0fa673ada66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9421, "upload_time": "2018-10-03T16:09:49", "url": "https://files.pythonhosted.org/packages/ea/eb/f02063ff7719c88bf6fdeafc98d26d93cc87e8e4c9be47328092bfdcd7f1/exponea_python_sdk-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e07f8fb9090aa966017c33dcbc854357", "sha256": "0fa6a2a15e579f0657eff197d4ad5c6f4f3b7edd19ff33053a020d4268fcd58a" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e07f8fb9090aa966017c33dcbc854357", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10781, "upload_time": "2018-10-03T16:09:53", "url": "https://files.pythonhosted.org/packages/b3/94/6f934b18c477477a9678d818ab350eef3ba136d4926b7cc914b589239265/exponea-python-sdk-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "1f0288b27a4d4844686a1b0626933c5b", "sha256": "ef7a60f416c3009a4890a2f420e127bcc277cc7664adb99c482145af769f8e99" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "1f0288b27a4d4844686a1b0626933c5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9453, "upload_time": "2018-10-30T11:30:25", "url": "https://files.pythonhosted.org/packages/93/c8/4f2c674af5fa17334a3350f5806c2dc1f6e7cc34508dd28153003480345c/exponea_python_sdk-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f98e0d9270cb261b94dceac4891c429", "sha256": "60aca1985a3689c126789c4a42e083ccb7cc2e10d1931a83aff63f7d7f4152da" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.7.tar.gz", "has_sig": false, "md5_digest": "2f98e0d9270cb261b94dceac4891c429", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10842, "upload_time": "2018-10-30T11:30:29", "url": "https://files.pythonhosted.org/packages/9d/2c/5afeba369b6392684cd95bf30d76af4aac0ad91a188a6f52593fa41c559d/exponea-python-sdk-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "d1d9df6597ae3e3ff848a221761eb0d5", "sha256": "1ddf176ae66465a75710bc3fcf6733757ef3452146545df560495a93468c030c" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "d1d9df6597ae3e3ff848a221761eb0d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9445, "upload_time": "2018-10-31T08:28:34", "url": "https://files.pythonhosted.org/packages/0b/15/b7883503b10efb87949d72260ab2aa98e1a31426b1f8223475b86842b888/exponea_python_sdk-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f049c9a205af5f8d3611ec0fca57d55b", "sha256": "c5ed59439a99613e8942be442a0bdd53ceffde2216c0a36376edfa736acfd77c" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f049c9a205af5f8d3611ec0fca57d55b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10828, "upload_time": "2018-10-31T08:28:41", "url": "https://files.pythonhosted.org/packages/2f/a8/4b098caab42b1a60d94c7a193e1ab77f30c40ff7353bedf23aa57173d21a/exponea-python-sdk-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d1d9df6597ae3e3ff848a221761eb0d5", "sha256": "1ddf176ae66465a75710bc3fcf6733757ef3452146545df560495a93468c030c" }, "downloads": -1, "filename": "exponea_python_sdk-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "d1d9df6597ae3e3ff848a221761eb0d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9445, "upload_time": "2018-10-31T08:28:34", "url": "https://files.pythonhosted.org/packages/0b/15/b7883503b10efb87949d72260ab2aa98e1a31426b1f8223475b86842b888/exponea_python_sdk-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f049c9a205af5f8d3611ec0fca57d55b", "sha256": "c5ed59439a99613e8942be442a0bdd53ceffde2216c0a36376edfa736acfd77c" }, "downloads": -1, "filename": "exponea-python-sdk-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f049c9a205af5f8d3611ec0fca57d55b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10828, "upload_time": "2018-10-31T08:28:41", "url": "https://files.pythonhosted.org/packages/2f/a8/4b098caab42b1a60d94c7a193e1ab77f30c40ff7353bedf23aa57173d21a/exponea-python-sdk-0.1.8.tar.gz" } ] }