{ "info": { "author": "George Spanos", "author_email": "spanosgeorge@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.7" ], "description": "Optimo Python library\n=====================\n\nThis is a python library for `OptimoRoute`_\\ \u2019s web service.\n\n--------------\n\n**Note**:\n Although this is used internally and we continually improve it, it\n is still Beta software. Use with care.\n\n--------------\n\n|Build Status| |PyPI version|\n\nRequirements\n============\n\n- Python (has only been tested with python 2.7)\n- An access key provided to you by `OptimoRoute`_\n\nInstallation\n============\n\nInstallation using ``pip``:\n\n::\n\n pip install optimo\n\nUsage\n=====\n\n.. code:: python\n\n from datetime import datetime\n from decimal import Decimal\n from optimo import OptimoAPI, Driver, WorkShift, Order, RoutePlan\n\n\n # Instantiate the interface to optimoroute's API.\n optimo_api = OptimoAPI('https://api.optimoroute.com', 'some_access_key')\n\n # Create a workshift for the driver.\n work_shift = WorkShift(\n start_work=datetime(year=2014, month=12, day=5, hour=8, minute=0),\n end_work=datetime(year=2014, month=12, day=5, hour=14, minute=0),\n )\n\n # Create the driver and also pass the workshift we created above.\n driver = Driver(\n id='123',\n start_lat=Decimal('53.350046'),\n start_lng=Decimal('-6.274655'),\n end_lat=Decimal('53.341191'),\n end_lng=Decimal('-6.260402'),\n work_shifts=[work_shift],\n )\n\n order1 = Order(\n id='123',\n lat=Decimal('53.343204'),\n lng=Decimal('-6.269798'),\n duration=20,\n )\n\n order2 = Order(\n id='456',\n lat=Decimal('53.341820'),\n lng=Decimal('-6.264991'),\n duration=25,\n )\n\n # Create the route plan, and also pass the orders and the driver created above.\n # The 'request_id' is the one we'll use later to check the results of the\n # plan optimization.\n routeplan = RoutePlan(\n request_id='1234',\n callback_url='https://callback.com/1234',\n status_callback_url='https://status.callback.com/1234',\n drivers=[driver],\n orders=[order1, order2],\n )\n\n # Start the plan optimization. If there is no exception raised then we assume\n # success.\n optimo_api.plan(routeplan)\n\n # Get the result of the optimization. We use the 'request_id' we provided to\n # optimoroute previously.\n data = optimo_api.get('1234')\n\n # If the optimization has finished we can see the result. Otherwise the data\n # will be None.\n {\n u'creationTime': u'2014-12-04T17:01:52',\n u'requestId': u'1234',\n u'result': {\n u'routes': [\n {\n u'driverId': u'123',\n u'orders': [\n {u'id': u'123', u'scheduledAt': u'2014-12-05T08:04'},\n {u'id': u'456', u'scheduledAt': u'2014-12-05T08:27'}\n ]\n }\n ],\n u'unservedOrders': []\n },\n u'success': True\n }\n\n # We can stop an already running optimization. If stopped previously no\n # exceptions will be raised, it will return None implying it was successful.\n optimo_api.stop('1234')\n\n.. _OptimoRoute: http://optimoroute.com\n\n.. |Build Status| image:: https://travis-ci.org/fieldaware/optimoroute.svg?branch=master\n :target: https://travis-ci.org/fieldaware/optimoroute\n.. |PyPI version| image:: https://badge.fury.io/py/optimo.svg\n :target: http://badge.fury.io/py/optimo", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fieldaware/optimoroute", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "optimo", "package_url": "https://pypi.org/project/optimo/", "platform": "", "project_url": "https://pypi.org/project/optimo/", "project_urls": { "Homepage": "https://github.com/fieldaware/optimoroute" }, "release_url": "https://pypi.org/project/optimo/0.2.3/", "requires_dist": null, "requires_python": "", "summary": "A python library for OptimoRoute's web service", "version": "0.2.3" }, "last_serial": 4668280, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "abb4a39ecbf5b37a688fcaf274887e52", "sha256": "9b3940903548e63a2a9e370c683b2b1ab859a49da3ec8b4605e9f10ead8edfcd" }, "downloads": -1, "filename": "optimo-0.0.1.tar.gz", "has_sig": false, "md5_digest": "abb4a39ecbf5b37a688fcaf274887e52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15407, "upload_time": "2014-12-12T14:06:19", "url": "https://files.pythonhosted.org/packages/f4/11/461d83b94cefce72fdcd970ca9556b00f99a4adff2661d1e2d0320249b44/optimo-0.0.1.tar.gz" } ], "0.0.1a2": [ { "comment_text": "", "digests": { "md5": "a6bca562d940999a72b15b8a3c11fc29", "sha256": "073103ce448fa7a544bd399110ca4e8dbc41ff3305aac13ccf0b902da419549e" }, "downloads": -1, "filename": "optimo-0.0.1a2.tar.gz", "has_sig": false, "md5_digest": "a6bca562d940999a72b15b8a3c11fc29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11203, "upload_time": "2014-12-09T16:18:15", "url": "https://files.pythonhosted.org/packages/4e/0f/8c4b531696cf7d7266ff182d7c9e8a3c6834aa1af8a64c88d2a19daa2514/optimo-0.0.1a2.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1126410fd67d0e666a501c577f1f0995", "sha256": "2372fcdb5c9c5d45568f9501cd57c22d9e6d0512aee73bbfa23f622e9e04fcf1" }, "downloads": -1, "filename": "optimo-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1126410fd67d0e666a501c577f1f0995", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15993, "upload_time": "2014-12-16T15:15:28", "url": "https://files.pythonhosted.org/packages/fd/6d/e5d85bbcc357c5aa8082ed54fcc5bca16e857c1797765b13a890e2e82f16/optimo-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "83f86e5efb8bebb277788d9358aefb6f", "sha256": "78641de907fd50ec7a3429ff652e772112a5014c8ae37e5e4e7a966011ce5020" }, "downloads": -1, "filename": "optimo-0.0.3.tar.gz", "has_sig": false, "md5_digest": "83f86e5efb8bebb277788d9358aefb6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17970, "upload_time": "2014-12-19T18:05:58", "url": "https://files.pythonhosted.org/packages/77/ea/b58c72d0898e4dc382b2fb2b97c3b3bc4a88ddbfc54ea97e8b289973df93/optimo-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e4e154ba8c8c87f8f45c055108f68823", "sha256": "14c10e1e4b8d57895cf493784a88df8bb2c2cadd909593a1ff90fa0f0e8d349e" }, "downloads": -1, "filename": "optimo-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e4e154ba8c8c87f8f45c055108f68823", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18751, "upload_time": "2015-01-09T11:06:46", "url": "https://files.pythonhosted.org/packages/af/12/cd5f0f1af6a39f139f88c9a27463c610cef204d3699271ac29d692e88608/optimo-0.1.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9fa121ae9fdc2296f4ba0b782e17809a", "sha256": "6a540990c0badf965301af4af3e1af8c814d1d428399c7f5c687d834539b1ad9" }, "downloads": -1, "filename": "optimo-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9fa121ae9fdc2296f4ba0b782e17809a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21246, "upload_time": "2015-09-01T16:16:53", "url": "https://files.pythonhosted.org/packages/05/d2/b0b0086bdc87cf84d599fdab0a4b91ac7213b916a538a671286e528ab96d/optimo-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "95b36735169f5e2cfcefc5ee86a9aeca", "sha256": "89cfffe69e87385344cf4b88a0b2f237074cc524ddd2317c5aaef0758accfffa" }, "downloads": -1, "filename": "optimo-0.2.2.tar.gz", "has_sig": false, "md5_digest": "95b36735169f5e2cfcefc5ee86a9aeca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19835, "upload_time": "2017-10-11T15:56:25", "url": "https://files.pythonhosted.org/packages/f2/55/73c4bbe65e2ffc12c9fae3ddbe9fcbc0d64b77194e2dab4691cdffad56cf/optimo-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "1c7bfde423bd2d9655b1e07665d3b216", "sha256": "3b8ddfefeb9fe06eb1c2603ce6c56e0aa29db6c84110bcd017107d42be904c35" }, "downloads": -1, "filename": "optimo-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "1c7bfde423bd2d9655b1e07665d3b216", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23282, "upload_time": "2019-01-07T11:31:51", "url": "https://files.pythonhosted.org/packages/6a/cd/93cf858fe9ffc4149ebd6e826760c7bcc81f26038c1f311efe425fbee806/optimo-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "091f02654e8065844b5169165c335984", "sha256": "d84846a1eac4f46b054c4802abe1275fe166614149494ad70eafe0c2a4b740e6" }, "downloads": -1, "filename": "optimo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "091f02654e8065844b5169165c335984", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20090, "upload_time": "2019-01-07T11:20:40", "url": "https://files.pythonhosted.org/packages/4f/9a/3ed602ccf41826c20e7123ab880b1de9230957a20245c055f90908a68f21/optimo-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1c7bfde423bd2d9655b1e07665d3b216", "sha256": "3b8ddfefeb9fe06eb1c2603ce6c56e0aa29db6c84110bcd017107d42be904c35" }, "downloads": -1, "filename": "optimo-0.2.3-py2-none-any.whl", "has_sig": false, "md5_digest": "1c7bfde423bd2d9655b1e07665d3b216", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23282, "upload_time": "2019-01-07T11:31:51", "url": "https://files.pythonhosted.org/packages/6a/cd/93cf858fe9ffc4149ebd6e826760c7bcc81f26038c1f311efe425fbee806/optimo-0.2.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "091f02654e8065844b5169165c335984", "sha256": "d84846a1eac4f46b054c4802abe1275fe166614149494ad70eafe0c2a4b740e6" }, "downloads": -1, "filename": "optimo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "091f02654e8065844b5169165c335984", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20090, "upload_time": "2019-01-07T11:20:40", "url": "https://files.pythonhosted.org/packages/4f/9a/3ed602ccf41826c20e7123ab880b1de9230957a20245c055f90908a68f21/optimo-0.2.3.tar.gz" } ] }