{ "info": { "author": "Renato Pedigoni", "author_email": "renatopedigoni@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.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "===============================\ntrackr\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/trackr.svg\n :target: https://pypi.python.org/pypi/trackr\n\n.. image:: https://img.shields.io/travis/rpedigoni/trackr.svg\n :target: https://travis-ci.org/rpedigoni/trackr\n\n.. image:: https://readthedocs.org/projects/trackr/badge/?version=latest\n :target: https://trackr.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/rpedigoni/trackr/shield.svg\n :target: https://pyup.io/repos/github/rpedigoni/trackr/\n :alt: Updates\n\n\n\n\n* Free software: MIT license\n* Documentation: https://trackr.readthedocs.io.\n\n\n``trackr`` is a lightweight Python lib to access carriers' tracking information.\n\nInstallation\n------------\n\n``pip install trackr``\n\nWorks with Python `2.7`, `3.3`, `3.4` and `3.5`.\n\n\nUsage\n-------\n\n.. code-block:: python\n\n from trackr import Trackr\n\n package = Trackr.track('ect', 'PN871429404BR')\n\n for t in package.tracking_info:\n print t.location, t.status\n\n\nOr also using Trackr cli:\n\n.. code-block:: sh\n\n $ trackr --carrier=ect --object-id=PN871429404BR\n\n\nAvailable carriers\n------------------\n\n* ``ect`` (brazilian \"Correios\")\n* ``fake`` (for testing purposes)\n\n\nECT\n~~~\n\nData is retrieved from Correios using its SOAP webservice. For that you'll need an username and password. Get in touch with your ECT representative to gain acess.\n\nThe easiest way to provide the credentials is exporting as env variable:\n\n.. code-block:: sh\n\n export TRACKR_ECT_USERNAME=**\n export TRACKR_ECT_PASSWORD=**\n\n\nYou can also pass a function keyword args:\n\n.. code-block:: python\n\n package = Trackr.track('ect', 'PN871429404BR', ect_username='**', ect_password='**')\n\n\n.. warning::\n\n The default username and password provided by Correios for integration purposes (username `ECT`, password`SRO`) will not allow bulk tracking.\n\n\nFake\n~~~~\n\nFake carrier is meant to be used when testing and developing integrations. It will always return as package found with 4 tracking info rows. Example\n\n.. code-block:: sh\n\n $ trackr --carrier=fake --object-id=123456789\n\n.. code-block:: sh\n\n Package found!\n 2017-04-23 15:12:23.521052 - City 1 - In transit 1\n 2017-04-23 15:12:23.521075 - City 2 - In transit 2\n 2017-04-23 15:12:23.521081 - City 3 - In transit 3\n 2017-04-23 15:12:23.521086 - City 4 - In transit 4\n\n\nIntegrating a new carrier\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo add a new carrier, inherit `carriers.base.BaseCarrier` and fillout `_track_single()` and/or `_track_bulk()` methods, it must return one instance or a list of `carriers.base.Package` instance. See an example below:\n\n.. code-block:: python\n\n from datetime import datetime\n from .base import BaseCarrier\n\n\n class MyOwnCarrier(BaseCarrier):\n id = 'mycarrier'\n name = 'My Carrier'\n\n def _track_single(self, object_id):\n\n # ... fetch data from carrier's data source\n\n package = self.create_package(\n object_id=object_id,\n service_name='Express service',\n )\n\n package.add_tracking_info(\n date=datetime(2017, 1, 1, 10, 00),\n location='Last Location',\n status='In transit to another location'\n description='Get ready!',\n )\n\n package.add_tracking_info(\n date=datetime.now(),\n location='Current Location',\n status='Delivered'\n description='Finally',\n )\n\n\n return package\n\nThen update the carrier mapping on ``trackr/carriers/__init__.py`` (this should be improved with some autodiscover feature). Remember to write tests!\n\n\nCredits\n---------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rpedigoni/trackr", "keywords": "trackr", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "trackr", "package_url": "https://pypi.org/project/trackr/", "platform": "", "project_url": "https://pypi.org/project/trackr/", "project_urls": { "Homepage": "https://github.com/rpedigoni/trackr" }, "release_url": "https://pypi.org/project/trackr/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "-", "version": "1.1.0" }, "last_serial": 3026979, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "c5d70c9835d4bfd56a38cd78478e4c51", "sha256": "69108db5fe2aebdf67fafd9f96ab7d51aa3f72dbdd3b755f97da939089956f9d" }, "downloads": -1, "filename": "trackr-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5d70c9835d4bfd56a38cd78478e4c51", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6712, "upload_time": "2017-04-23T18:42:58", "url": "https://files.pythonhosted.org/packages/36/5c/103d537c4cef30012bfddbecfcecbb283840857a377c0851587803c8db7d/trackr-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90400bafebbbc86b5e296b5461968551", "sha256": "0c89c6ba7182796676a7c64a6d50612eb6f9edb5a059d1b6784018871b791376" }, "downloads": -1, "filename": "trackr-0.1.1.tar.gz", "has_sig": false, "md5_digest": "90400bafebbbc86b5e296b5461968551", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16977, "upload_time": "2017-04-23T18:42:54", "url": "https://files.pythonhosted.org/packages/dc/21/d4c4ffbcca135807c1dd5fcf526d8850475817cb2aee880cf3ef4df86235/trackr-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f9cea78e8a6df174790562119c46c220", "sha256": "5624cb2cea0daabefe9a3eeb55c747711b389c1e3c504c23ec7bd8d9a81c79c4" }, "downloads": -1, "filename": "trackr-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f9cea78e8a6df174790562119c46c220", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6710, "upload_time": "2017-04-23T18:50:53", "url": "https://files.pythonhosted.org/packages/99/16/2fdad433e42546a97dd3e9da8df275bc040f6eb6ff63ba1a0de710d08a9d/trackr-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e288d5d2a9852c14be2be6de27c06e2", "sha256": "bde600e0bd1145236d70049acf9dd65612226c472acafda426574afce086f6e3" }, "downloads": -1, "filename": "trackr-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2e288d5d2a9852c14be2be6de27c06e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16987, "upload_time": "2017-04-23T18:50:48", "url": "https://files.pythonhosted.org/packages/7d/1f/1cf7a39f2983df0c1963576014c11ab107d80e93748f967a8eb05db44778/trackr-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c67f5ef91d58a460eac15f4b4b125739", "sha256": "5681de90b3dceb6246930047f0c92628fdf19c5df1233d420a3aed1e2f2d5f00" }, "downloads": -1, "filename": "trackr-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c67f5ef91d58a460eac15f4b4b125739", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6713, "upload_time": "2017-04-23T18:55:14", "url": "https://files.pythonhosted.org/packages/04/da/6716f1deb3c3d35684ced8932862cfd16293c78ef394bc6db7fd1542f693/trackr-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bd9dc9f38b830fc10b068acb7aa62d7", "sha256": "352d6ce7e13f8065923923e58854a74353367f1e5f5854baffa0b19d95eba332" }, "downloads": -1, "filename": "trackr-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4bd9dc9f38b830fc10b068acb7aa62d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16986, "upload_time": "2017-04-23T18:55:09", "url": "https://files.pythonhosted.org/packages/0a/99/05e7b915fc82b985dd637161c9be2640673937ba63c3efa4119cdc2b5e8d/trackr-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "1b221a0cd837eeab100d6f36ed91c36d", "sha256": "0d1556f8b4b4ef7d48303743822c582ae72f326f457d9997df0742e60a58cf75" }, "downloads": -1, "filename": "trackr-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b221a0cd837eeab100d6f36ed91c36d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11308, "upload_time": "2017-04-23T19:04:26", "url": "https://files.pythonhosted.org/packages/29/aa/3a82040d12adc432ef193fba13253396129cf38b2247d3239c45ef9be33c/trackr-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ac001e3b947f66106f2845227dcf514", "sha256": "b88d4fd666d68df8b5f2e8a6a91b536eef1e160be5a51abcd9a3b174482b0f70" }, "downloads": -1, "filename": "trackr-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5ac001e3b947f66106f2845227dcf514", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19646, "upload_time": "2017-04-23T19:04:21", "url": "https://files.pythonhosted.org/packages/2c/41/b25b751d6e0598436f3ccf2c1b9940d9490ba68297a89b25d930f5d3a510/trackr-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "e7fd35e71750fa395622214c4dbbeed3", "sha256": "a5f15b60eb71a3721c40c22e001bc438e2484e4756cead115430be93544d9566" }, "downloads": -1, "filename": "trackr-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e7fd35e71750fa395622214c4dbbeed3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11306, "upload_time": "2017-04-23T19:05:42", "url": "https://files.pythonhosted.org/packages/96/83/51be857ed9d789039711931ad23e318a6940b82cde9817ee5b11a90242c9/trackr-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d8e936c7310333a97d8746a017f08cc", "sha256": "87447cd077fad025f3d73430c16d2297af38ea78c7c2f300710faf61c25dc2de" }, "downloads": -1, "filename": "trackr-0.1.5.tar.gz", "has_sig": false, "md5_digest": "1d8e936c7310333a97d8746a017f08cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19878, "upload_time": "2017-04-23T19:05:37", "url": "https://files.pythonhosted.org/packages/a7/8a/71c5a60d78684cfca413eb8026702ad53c848d833051dcab0034aff013fd/trackr-0.1.5.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "77e22b2cb7d14162188b8e90c0d846da", "sha256": "cca4cb048875344e3ad2c1afaeccb86a4535e58c6d13e85212554097007049de" }, "downloads": -1, "filename": "trackr-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77e22b2cb7d14162188b8e90c0d846da", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11603, "upload_time": "2017-07-16T12:22:19", "url": "https://files.pythonhosted.org/packages/95/fe/bc1cdf60ece5c9fa248e60e7adec1ada9c42052d63a865bfef8c606863a1/trackr-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3ed1afa654afcd751a09297a222fe44", "sha256": "d6f5441b8cfe1d4c8c841a3e43d7e35042af789c2250640a4c93da7a2fc7f4f7" }, "downloads": -1, "filename": "trackr-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f3ed1afa654afcd751a09297a222fe44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21221, "upload_time": "2017-07-16T12:22:13", "url": "https://files.pythonhosted.org/packages/e5/ea/f64ab71e7b57eedf090edebfdd6f22d1c4129510cae8b798229b3ad0a9b8/trackr-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e45434dcec7817985bf1115ad7dfcfde", "sha256": "75aec82343f816f77699c7c512da948066f6090487f34ed6e6c0efa9368f83f3" }, "downloads": -1, "filename": "trackr-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e45434dcec7817985bf1115ad7dfcfde", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11645, "upload_time": "2017-07-16T18:16:13", "url": "https://files.pythonhosted.org/packages/46/1d/4a688421052277d5d78aff00f4b6695a8a5cb1256a513b61709d5cde5a49/trackr-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "028f2c170a62a68550c1d348c69c72d3", "sha256": "d8336d1a7669c6906e5501f340f269a92d8b5dc19d72e7e0081e72910d640ea6" }, "downloads": -1, "filename": "trackr-1.1.0.tar.gz", "has_sig": false, "md5_digest": "028f2c170a62a68550c1d348c69c72d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21562, "upload_time": "2017-07-16T18:16:08", "url": "https://files.pythonhosted.org/packages/97/8f/1f2ee5b1ebc4d94637cd398a48c23902d10d6be727f96cef66130f702973/trackr-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e45434dcec7817985bf1115ad7dfcfde", "sha256": "75aec82343f816f77699c7c512da948066f6090487f34ed6e6c0efa9368f83f3" }, "downloads": -1, "filename": "trackr-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e45434dcec7817985bf1115ad7dfcfde", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11645, "upload_time": "2017-07-16T18:16:13", "url": "https://files.pythonhosted.org/packages/46/1d/4a688421052277d5d78aff00f4b6695a8a5cb1256a513b61709d5cde5a49/trackr-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "028f2c170a62a68550c1d348c69c72d3", "sha256": "d8336d1a7669c6906e5501f340f269a92d8b5dc19d72e7e0081e72910d640ea6" }, "downloads": -1, "filename": "trackr-1.1.0.tar.gz", "has_sig": false, "md5_digest": "028f2c170a62a68550c1d348c69c72d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21562, "upload_time": "2017-07-16T18:16:08", "url": "https://files.pythonhosted.org/packages/97/8f/1f2ee5b1ebc4d94637cd398a48c23902d10d6be727f96cef66130f702973/trackr-1.1.0.tar.gz" } ] }