{ "info": { "author": "Mathieu Leplatre", "author_email": "mathieu.leplatre@makina-corpus.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Topic :: Utilities" ], "description": "*Landez* manipulates tiles, builds MBTiles, does tiles compositing and arrange tiles together into single images.\n\nTiles can either be obtained from a remote tile service URL, from a local Mapnik stylesheet,\na WMS server or from MBTiles files.\n\nFor building MBTiles, Landez embeds *mbutil* from Mapbox https://github.com/mapbox/mbutil at the final stage.\nThe land covered is specified using a list of bounding boxes and zoom levels.\n\n\n.. image:: https://pypip.in/v/landez/badge.png\n :target: https://pypi.python.org/pypi/landez\n\n.. image:: https://pypip.in/d/landez/badge.png\n :target: https://pypi.python.org/pypi/landez\n\n.. image:: https://travis-ci.org/makinacorpus/landez.png\n :target: https://travis-ci.org/makinacorpus/landez\n\n.. image:: https://coveralls.io/repos/makinacorpus/landez/badge.png\n :target: https://coveralls.io/r/makinacorpus/landez\n\n\n=======\nINSTALL\n=======\n\n*Landez* is pure python and has no external dependency. ::\n\n sudo easy_install landez\n\nHowever, it requires `mapnik` if the tiles are rendered locally. ::\n\n sudo aptitude install python-mapnik\n\nAnd `PIL` to blend tiles together or export arranged tiles into images. ::\n\n sudo aptitude install python-imaging\n\n=====\nUSAGE\n=====\n\nBuilding MBTiles files\n======================\n\nRemote tiles\n------------\n\nUsing a remote tile service (OpenStreetMap.org by default):\n::\n\n import logging\n from landez import MBTilesBuilder\n\n logging.basicConfig(level=logging.DEBUG)\n \n mb = MBTilesBuilder(cache=False)\n mb.add_coverage(bbox=(-180.0, -90.0, 180.0, 90.0), \n zoomlevels=[0, 1])\n mb.run()\n\nPlease respect `Tile usage policies `\n\nLocal rendering\n---------------\n\nUsing mapnik to render tiles:\n\n::\n\n import logging\n from landez import MBTilesBuilder\n \n logging.basicConfig(level=logging.DEBUG)\n \n mb = MBTilesBuilder(stylefile=\"yourstyle.xml\", filepath=\"dest.mbtiles\")\n mb.add_coverage(bbox=(-180.0, -90.0, 180.0, 90.0),\n zoomlevels=[0, 1])\n mb.run()\n\n\nAnd with UTFGrids:\n\n::\n\n import logging\n from landez import MBTilesBuilder\n \n logging.basicConfig(level=logging.DEBUG)\n \n mb = MBTilesBuilder(stylefile=\"yourstyle.xml\",\n grid_fields=[\"field1\", \"field2\", \"field3\", ...] ,\n filepath=\"dest.mbtiles\")\n mb.add_coverage(bbox=(-180, -90, 180, 90),\n zoomlevels=[0, 1, 2, 3])\n mb.run()\n\n\nFrom an other MBTiles file\n--------------------------\n::\n\n import logging\n from landez import MBTilesBuilder\n \n logging.basicConfig(level=logging.DEBUG)\n \n mb = MBTilesBuilder(mbtiles_file=\"yourfile.mbtiles\", filepath=\"dest.mbtiles\")\n mb.add_coverage(bbox=(-180.0, -90.0, 180.0, 90.0), \n zoomlevels=[0, 1])\n mb.run()\n\n\nFrom a WMS server\n-----------------\n::\n\n mb = MBTilesBuilder(wms_server=\"http://yourserver.com/geoserver/wms\", \n wms_layers=[\"ign:departements\"], \n wms_options=dict(format=\"image/png\", \n transparent=True),\n filepath=\"dest.mbtiles\")\n mb.add_coverage(bbox=([-0.9853,43.6435.1126,44.0639]))\n mb.run()\n\n\n\nBlend tiles together\n====================\n\nMerge multiple sources of tiles (URL, WMS, MBTiles, Mapnik stylesheet) together. *(requires python PIL)*\n\nFor example, build a new MBTiles by blending tiles of a MBTiles on top of OpenStreetMap tiles :\n\n::\n\n mb = MBTilesBuilder(filepath=\"merged.mbtiles\")\n overlay = TilesManager(mbtiles_file=\"carto.mbtiles\")\n mb.add_layer(overlay)\n mb.run()\n\nOr composite a WMS layer with OpenStreetMap using transparency (40%):\n\n:: \n\n mb = MBTilesBuilder(wms_server=\"http://yourserver.com/geoserver/wms\", \n wms_layers=[\"img:orthophoto\"])\n overlay = TilesManager(remote=True)\n mb.add_layer(overlay, 0.4)\n mb.run()\n\n\nExport Images\n=============\n\nAssemble and arrange tiles together into a single image. *(requires python PIL)*\n\nSpecify tiles sources in the exact same way as for building MBTiles files.\n\n::\n\n import logging\n from landez import ImageExporter\n \n logging.basicConfig(level=logging.DEBUG)\n \n ie = ImageExporter(mbtiles_file=\"yourfile.mbtiles\")\n ie.export_image(bbox=(-180.0, -90.0, 180.0, 90.0), zoomlevel=3, imagepath=\"image.png\")\n\n\nAdd post-processing filters\n===========================\n\nConvert map tiles to gray scale, more suitable for information overlay :\n\n::\n\n from landez.filters import GrayScale\n \n ie = ImageExporter()\n ie.add_filter(GrayScale())\n\nReplace a specific color by transparent pixels (i.e. color to alpha, *a-la-Gimp*) :\n\n::\n\n from landez.filters import ColorToAlpha\n \n overlay = TileManager()\n overlay.add_filter(ColorToAlpha('#ffffff')) # white will be transparent\n \n ie = ImageExporter()\n ie.add_layer(overlay)\n ...\n\n\nExtract MBTiles content\n=======================\n\n:: \n\n from landez.sources import MBTilesReader\n \n mbreader = MBTilesReader(\"yourfile.mbtiles\")\n \n # Metadata\n print mbreader.metadata()\n \n # Zoom levels\n print mbreader.zoomlevels()\n \n # Image tile\n with open('tile.png', 'wb') as out:\n out.write(mbreader.tile(z, x, y))\n \n # UTF-Grid tile\n print mbreader.grid(z, x, y, 'callback')\n\n\n\nManipulate tiles\n================\n\n::\n\n from landez import MBTilesBuilder\n \n # From a TMS tile server\n # tm = TilesManager(tiles_url=\"http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\")\n \n # From a MBTiles file\n tm = TilesManager(mbtiles_file=\"yourfile.mbtiles\")\n \n tiles = tm.tileslist(bbox=(-180.0, -90.0, 180.0, 90.0), \n zoomlevels=[0, 1])\n for tile in tiles:\n tilecontent = tm.tile(tile) # download, extract or take from cache\n ...\n\nCache tiles are stored using TMS scheme by default (with ``y`` value flipped). It can be changed to WMTS (a.k.a ``xyz``) :\n\n::\n\n tm = TilesManager(your_sources_options, cache=True, cache_scheme=\"wmts\")\n\n\nRun tests\n=========\n\nRun tests with nosetests (if you are working in a virtualenv, don't forget to install nose in it!):\n\n::\n \n cd landez\n nosetests\n\nThe Mapnik stylesheet for the test about grid content comes from \n\n\n=======\nAUTHORS\n=======\n\n * Mathieu Leplatre \n * Sergej Tatarincev\n * \u00c9ric Br\u00e9hault\n * Waldemar Osuch\n * Isabelle Vallet\n * Thanks to mbutil authors \n\n\n.. image:: http://depot.makina-corpus.org/public/logo.gif\n :target: http://www.makina-corpus.com\n\n=======\nLICENSE\n=======\n\n * Lesser GNU Public License\n\n\n=========\nCHANGELOG\n=========\n\n2.5.0 (2019-04-16)\n==================\n\n* Add support of Python 3.\n\n\n2.4.1 (2019-03-13)\n==================\n\n* Do not try to get tiles again when tiles doesn't exist.\n\n\n2.4.0 (2017-03-02)\n==================\n\n* Do not crash when overlay tile data is not a valid image\n* Correctly generate metadata for zoom levels\n* Add support for tms mbtiles\n* Correct tile box calculation for case when floating point value is an integer\n* Correctly generate metadata for zoom levels\n* Use the full path to construct the cache directory, as otherwise different\n tiles sets on the same server are considered to be the same one\n* Added a name metadata to prevent Maptiler crash\n\n\n2.3.0 (2014-11-18)\n==================\n\n* Add headers to WMS sources if specified (thanks @sempixel!)\n\n\n2.2.0 (2014-09-22)\n==================\n\n* Add delay between tiles downloads retries (by @kiorky)\n* Add option to ignore errors during MBTiles creation (e.g. download errors)\n\n\n2.1.1 (2013-08-27)\n==================\n\n* Do not hard-code ``grid();`` JSONP callback.\n\n2.1.0 (2013-08-27)\n==================\n\n* Add TMS support (ebrehault)\n* Add default subdomains argument for TileSource\n* Add ability to set HTTP headers for tiles\n* Fix file corruption on Windows (by @osuchw)\n\n2.0.3 (2013-05-03)\n==================\n\n* Fix Mapnik signature on render()\n\n2.0.2 (2012-06-21)\n==================\n\n* Prevent the whole image to be converted to grayscale\n* Explicitly check http status code at tiles download\n\n2.0.1 (2012-05-29)\n==================\n\n* Fix infinite loop on blending layers\n\n2.0.0 (2012-05-25)\n==================\n\n* Rework cache mechanism\n* Jpeg tiles support (#14)\n* Remove use of temporary files\n* Image post-processing (#11)\n\n2.0.0-alpha (2012-05-23)\n========================\n\n* Refactoring of whole stack\n\n1.8.2 (2012-03-27)\n==================\n\n* Fix Mapnik rendering\n\n1.8.1 (2012-02-24)\n==================\n\n* Fix MBTiles cache cleaning\n\n1.8 (2012-02-24)\n================\n\n* WMS support\n* Tiles compositing\n\n1.7 (2012-02-17)\n================\n\n* Catch Sqlite exceptions\n\n1.6 (2012-02-08)\n================\n\n* UTF-Grid support for MBTiles files\n\n1.5 (2011-12-07)\n================\n\n* Subdomain support for tiles servers\n* Low level tiles manipulation\n* Use i18n\n\n1.4 (2011-10-17)\n================\n\n* Remove extra logging message of mbutil\n\n1.3 (2011-09-23)\n================\n\n* Export set of tiles into single image\n\n1.2 (2011-06-21)\n================\n\n* Raise exception if no tiles in coverages\n\n1.1 (2012-04-18)\n================\n\n* Move internals to landez module\n* Split projection into separate module\n\n1.0 (2011-04-18)\n================\n\n* Initial working version", "description_content_type": "", "docs_url": null, "download_url": "http://pypi.python.org/pypi/landez/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/makinacorpus/landez/", "keywords": "MBTiles,Mapnik", "license": "LPGL, see LICENSE file.", "maintainer": "", "maintainer_email": "", "name": "landez", "package_url": "https://pypi.org/project/landez/", "platform": "", "project_url": "https://pypi.org/project/landez/", "project_urls": { "Download": "http://pypi.python.org/pypi/landez/", "Homepage": "https://github.com/makinacorpus/landez/" }, "release_url": "https://pypi.org/project/landez/2.5.0/", "requires_dist": null, "requires_python": "", "summary": "Landez is a python toolbox to manipulate map tiles.", "version": "2.5.0" }, "last_serial": 5150657, "releases": { "0.0": [], "1.0": [ { "comment_text": "", "digests": { "md5": "75de951ed8f8541a74c6592097985967", "sha256": "65c601142f38cebdd86f45ab67b412358f82196c2821871f7f44b264853ff8b0" }, "downloads": -1, "filename": "landez-1.0.tar.gz", "has_sig": false, "md5_digest": "75de951ed8f8541a74c6592097985967", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7905, "upload_time": "2011-04-18T18:01:53", "url": "https://files.pythonhosted.org/packages/df/cf/a6388e97e9394175038020e9c06abef696c56ba6386c80e5c05a9825f9a8/landez-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "6dbec9a2ca87d30049cb01432f0e4a2d", "sha256": "2ba15531eea1c94e201e67145a3eb9954c02c7fac81e8c9a49cd7e80bc28204e" }, "downloads": -1, "filename": "landez-1.1.tar.gz", "has_sig": false, "md5_digest": "6dbec9a2ca87d30049cb01432f0e4a2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8067, "upload_time": "2011-06-14T15:31:08", "url": "https://files.pythonhosted.org/packages/e4/00/cdd05337aae52ed4711bdbd84550eed24954d3c30fd0f92a71c24bcaf78e/landez-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "a9ed8abe7ed420572371976d1a1d3eea", "sha256": "aab84939f8a23d807be415780cd41b6b02106bf7a6ed5f4e2480ca11cd8f05fe" }, "downloads": -1, "filename": "landez-1.2.tar.gz", "has_sig": false, "md5_digest": "a9ed8abe7ed420572371976d1a1d3eea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8140, "upload_time": "2011-06-21T15:45:39", "url": "https://files.pythonhosted.org/packages/c7/72/fcdc5f03129b9c7aad7516d9ef67a7c318848990705e7a22c663e9a93a64/landez-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "1211ac51d36622263bd2a1d5a217a812", "sha256": "72c17a234dd662d1b5e23daab86729c3dfccc3694c153a75c78285687b8a30b5" }, "downloads": -1, "filename": "landez-1.3.tar.gz", "has_sig": false, "md5_digest": "1211ac51d36622263bd2a1d5a217a812", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10119, "upload_time": "2011-10-17T11:05:29", "url": "https://files.pythonhosted.org/packages/09/27/c993ef6eca5cde8b66fd713744daeb8aa49e54e54f67a1c08bfb762d18f2/landez-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "aa6710e6e2bd4bd0f247e5907e69d091", "sha256": "a13b8291ff2226ea4df101ec10194a39768384b9b8f20a63dec1ba47f20b5f72" }, "downloads": -1, "filename": "landez-1.4.tar.gz", "has_sig": false, "md5_digest": "aa6710e6e2bd4bd0f247e5907e69d091", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10078, "upload_time": "2011-10-17T11:45:22", "url": "https://files.pythonhosted.org/packages/b9/21/666d75c079c09771a7e622cbd1e16d09506a459c3b2aad50819328ac19af/landez-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "b478589b1818731d2c7255a205d95007", "sha256": "9eab1b3eeb77277ae16774d6301de881eadf4060954a0fbabab05bb5d3549cd5" }, "downloads": -1, "filename": "landez-1.5.tar.gz", "has_sig": false, "md5_digest": "b478589b1818731d2c7255a205d95007", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10604, "upload_time": "2011-12-07T14:52:37", "url": "https://files.pythonhosted.org/packages/bf/4c/535b02b51699129a278d9c1a047e3bbb9812088268807ead17503912bafa/landez-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "309c0d8352d7a14bdf246ff5c47ccf82", "sha256": "64057a028328a2fb6228e4180e37f28f3216bf2423342a2bd87562b4b6e39b88" }, "downloads": -1, "filename": "landez-1.6.tar.gz", "has_sig": false, "md5_digest": "309c0d8352d7a14bdf246ff5c47ccf82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11530, "upload_time": "2012-02-08T15:11:33", "url": "https://files.pythonhosted.org/packages/98/c5/fe38caaa96aaa6809470c7af97bfb380d3b35741b88634ef41d1a832168c/landez-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "8baa18f2f2d784eb6795ba4992977e39", "sha256": "fefde5ef59855a97fd86e14778b80ba794a9155e7b3469a467497397a88c8485" }, "downloads": -1, "filename": "landez-1.7.tar.gz", "has_sig": false, "md5_digest": "8baa18f2f2d784eb6795ba4992977e39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11838, "upload_time": "2012-02-17T10:28:39", "url": "https://files.pythonhosted.org/packages/e8/30/58c3f8c6cbd7b16b397c7f9b16aa136f692962910e084a0c3edf82920089/landez-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "273da89fe45439706179bf185575658d", "sha256": "a4a1f0daf1109388b152412e748cafac011103351b342f9713734e1b91718ef5" }, "downloads": -1, "filename": "landez-1.8.tar.gz", "has_sig": false, "md5_digest": "273da89fe45439706179bf185575658d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14343, "upload_time": "2012-02-24T11:05:22", "url": "https://files.pythonhosted.org/packages/91/4d/fe044fa8612a212a5fec4f2d06b7ae69831a21499773d8d967f814817b3d/landez-1.8.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "ef94f0f2c97c704acb1777f4633dea31", "sha256": "effe37699497661946f3d72346dcfcb7324fe7186b485ca054795d5367c3713f" }, "downloads": -1, "filename": "landez-1.8.1.tar.gz", "has_sig": false, "md5_digest": "ef94f0f2c97c704acb1777f4633dea31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14327, "upload_time": "2012-02-24T12:51:20", "url": "https://files.pythonhosted.org/packages/62/f6/9f135744bebc5cc3ee0bc42f096fd097461afe5c33936a8f72ba569db379/landez-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "4dc06bb0ce0e4857c6185e5443e6ea28", "sha256": "19603929425cc30d7374f7a2825f016fac3a8610377e6231a984ed231990e850" }, "downloads": -1, "filename": "landez-1.8.2.zip", "has_sig": false, "md5_digest": "4dc06bb0ce0e4857c6185e5443e6ea28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24905, "upload_time": "2012-03-27T14:42:47", "url": "https://files.pythonhosted.org/packages/25/e4/cb686176ab0148c1668b01f1f1aca4e309d69d5ae29a89cf68f2e3970fe7/landez-1.8.2.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "86acb540643e252c421cccb54c8d7cd1", "sha256": "26b56b6a473ee7551fbb5fa500205d90db24b13e963c299a869cf57dc89a819e" }, "downloads": -1, "filename": "landez-2.0.0.zip", "has_sig": false, "md5_digest": "86acb540643e252c421cccb54c8d7cd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25816, "upload_time": "2012-05-25T09:54:14", "url": "https://files.pythonhosted.org/packages/d1/bf/635bcdf2ae856926caae9ae2e773d003b9f70881c754bc7365d638144811/landez-2.0.0.zip" } ], "2.0.0-alpha": [ { "comment_text": "", "digests": { "md5": "5cdd9d23db0470dd759109f0e929ada7", "sha256": "8ec4cbc8d1b3e69a71d14e87522e7340737a2e8bb9e0ae6284d600030af9f632" }, "downloads": -1, "filename": "landez-2.0.0-alpha.zip", "has_sig": false, "md5_digest": "5cdd9d23db0470dd759109f0e929ada7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25944, "upload_time": "2012-05-23T12:05:25", "url": "https://files.pythonhosted.org/packages/e2/0e/a89f4768d23099d0b6b116bba6d282d3e85013a35aa2bd1e3233569708a7/landez-2.0.0-alpha.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "1aeb011f684c5dbb2bcfc7bf7da2ccbf", "sha256": "9408904b2903435be4eb670b4dc27bdf8c8b9f667565735a4f3edb3e864c6073" }, "downloads": -1, "filename": "landez-2.0.1.zip", "has_sig": false, "md5_digest": "1aeb011f684c5dbb2bcfc7bf7da2ccbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26386, "upload_time": "2012-05-29T10:05:19", "url": "https://files.pythonhosted.org/packages/5f/d1/ec01adb37cc74891b6d48b9855c2d725e71766370e5a334fca5402d4c7fc/landez-2.0.1.zip" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "9d17ed16b35b11726dcfb85ba1fe4da8", "sha256": "43e8b7bff4fac0d7a37032edd3d17b37d4643588ea9bb88639546818422bc5ea" }, "downloads": -1, "filename": "landez-2.0.2.zip", "has_sig": false, "md5_digest": "9d17ed16b35b11726dcfb85ba1fe4da8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26617, "upload_time": "2012-06-21T11:18:34", "url": "https://files.pythonhosted.org/packages/7d/89/789ba369f07ed0d8a04cfeeae4d4fa5537a55908c4ecf7f004572486800e/landez-2.0.2.zip" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "ee0f1cab4f1a75e810f3c2b3cab1c903", "sha256": "0d5462eff5dec53f3d0be47db28b8108072b91b586823b0edd6ff0b8c40a8b45" }, "downloads": -1, "filename": "landez-2.0.3.zip", "has_sig": false, "md5_digest": "ee0f1cab4f1a75e810f3c2b3cab1c903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26645, "upload_time": "2013-05-03T11:32:19", "url": "https://files.pythonhosted.org/packages/f7/d5/a21513f56d47ca6f207249a5cbcb482b225d144a9be30636c379ed94b327/landez-2.0.3.zip" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "b645055588b07eb80e78d1955c271cc4", "sha256": "afb0533894c1e5f52da08b74a61996569a7e8988eeb162f595792d76fe1acaae" }, "downloads": -1, "filename": "landez-2.1.0.zip", "has_sig": false, "md5_digest": "b645055588b07eb80e78d1955c271cc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27563, "upload_time": "2013-08-27T08:43:40", "url": "https://files.pythonhosted.org/packages/65/6b/8813847df4d6ecbb6935aaf0faf925eb518cdacc6528be3a6e3395424bfe/landez-2.1.0.zip" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "8ad1ee89ad4a887ca44a8dd00ab0c2e6", "sha256": "e3c1d0314d619d1b47d6efa3d2de2d4597e8255e1a40357521d644f0276ddcc9" }, "downloads": -1, "filename": "landez-2.1.1.zip", "has_sig": false, "md5_digest": "8ad1ee89ad4a887ca44a8dd00ab0c2e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27690, "upload_time": "2013-08-27T11:12:42", "url": "https://files.pythonhosted.org/packages/97/13/4818f7c86e643ad02b658fe9322df9a088de022c57b6b5583504f309ef07/landez-2.1.1.zip" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "d7f9391eae5c95e535aa30e29ff53181", "sha256": "8e6006aa6d0554bf74d1df865a086a6571a1b99279a01e315e7938a826150185" }, "downloads": -1, "filename": "landez-2.2.0.tar.gz", "has_sig": false, "md5_digest": "d7f9391eae5c95e535aa30e29ff53181", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20487, "upload_time": "2014-09-22T13:03:02", "url": "https://files.pythonhosted.org/packages/ef/3b/34315132c48b9bcef63c1158054a68d21fa2bc54c8184618da2df0285795/landez-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "b0ae5f3fbdcc81b7a7bc42283da6db2a", "sha256": "f724ee05a4b86e5ad97d4415e1b85f06a1fb5d49711ea9443da5fa3208181644" }, "downloads": -1, "filename": "landez-2.3.0.zip", "has_sig": false, "md5_digest": "b0ae5f3fbdcc81b7a7bc42283da6db2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30569, "upload_time": "2014-11-18T13:36:28", "url": "https://files.pythonhosted.org/packages/4e/e8/466607040ecd48ecdcf6e8f274dbe0ebe760c514d08fd49159e1c1039ef1/landez-2.3.0.zip" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "cada1adfbc6606bbdaf1b803aa9dce0a", "sha256": "004db95386075483df7e92bb15595de304d186f25319134fe6f1144048ad08f7" }, "downloads": -1, "filename": "landez-2.4.0.tar.gz", "has_sig": false, "md5_digest": "cada1adfbc6606bbdaf1b803aa9dce0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20877, "upload_time": "2017-03-02T17:05:55", "url": "https://files.pythonhosted.org/packages/93/ad/361cb3ade0fd8497d1c0e9bf398b8b2796827916b874d88827c0cf1509fb/landez-2.4.0.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "b695892e4da03c9d8f4eab339535a13a", "sha256": "0ab2cb97539f58c5f5dad3ff8cdc269190cf401c3133590b4c64ed623ed93bea" }, "downloads": -1, "filename": "landez-2.4.1.tar.gz", "has_sig": false, "md5_digest": "b695892e4da03c9d8f4eab339535a13a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21920, "upload_time": "2019-03-13T12:52:48", "url": "https://files.pythonhosted.org/packages/d9/0e/0f1a73337b6d4c699cd5dce9a9faa3baa0b101ed96e5a85d81e333f43e4d/landez-2.4.1.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "a1b71ed03d498508890c026259bd9be9", "sha256": "a936b43d50322761cb04e3dc45d80764b0eea0df742d18f632ed163dc8e2b0c1" }, "downloads": -1, "filename": "landez-2.5.0.tar.gz", "has_sig": false, "md5_digest": "a1b71ed03d498508890c026259bd9be9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22105, "upload_time": "2019-04-16T15:27:07", "url": "https://files.pythonhosted.org/packages/39/6b/911371692e259223e371a4f5137a4c4a445943da0ae7bed105cd25d5c575/landez-2.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1b71ed03d498508890c026259bd9be9", "sha256": "a936b43d50322761cb04e3dc45d80764b0eea0df742d18f632ed163dc8e2b0c1" }, "downloads": -1, "filename": "landez-2.5.0.tar.gz", "has_sig": false, "md5_digest": "a1b71ed03d498508890c026259bd9be9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22105, "upload_time": "2019-04-16T15:27:07", "url": "https://files.pythonhosted.org/packages/39/6b/911371692e259223e371a4f5137a4c4a445943da0ae7bed105cd25d5c575/landez-2.5.0.tar.gz" } ] }