{ "info": { "author": "Evgeni Makarov", "author_email": "evgeni.makarov@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Graphics :: Graphics Conversion", "Topic :: Scientific/Engineering :: GIS" ], "description": "# mapboxgl_notebook\n\nMapboxGL for ipython notebook with multilayer support and flexibility.\n\nIf you were looking for multilayer mapboxgl ipython module, this repository is a right place.\n\nThis project was created with taking into account:\n1. Multi layer support from the very beginning.\n2. Small amount of python, html and javascript code.\n3. Support of mapboxgl expressions.\n4. High flexibility to create new types of layers.\n\nInstallation:\ndownload code, install with pip from github or from pypi:\n\n```\npip install mapboxgl_notebook\n```\n\nExamples:\n```\nimport os\nfrom mapboxgl_notebook.map import MapboxMap\nfrom mapboxgl_notebook.sources import GeoJSONSource\nfrom mapboxgl_notebook.layers import PointCircleLayer, LineStringLineLayer, PolygonFillLayer\nfrom mapboxgl_notebook.properties import Paint\nfrom mapboxgl_notebook.interactions import ClickInteraction, HoverInteraction\naccess_token = os.environ.get('MAPBOX_ACCESS_TOKEN')\n\n# Data from dictionary\ndata = {\n 'type': 'FeatureCollection',\n 'features': [\n {\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [103.8198, 1.3521]\n },\n 'properties': {\n 'id': 1,\n 'name': 'My first point'\n }\n },\n {\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [103.8290, 1.3531]\n },\n 'properties': {\n 'id': 2,\n 'name': 'My second point'\n }\n }\n ]\n}\n# Definition of source\nsource = GeoJSONSource(data, source_id='points')\n# Layer (geojson type Point, mapboxgl type Circle)\nlayer = PointCircleLayer(source)\n# Hover interaction (popup with property name)\nhover = HoverInteraction(layer, properties=['name'])\n# Map rendering\nmapbox_map = MapboxMap(\n access_token=access_token,\n sources=[source], # can be list of sources\n layers=[layer], # can be list of layers\n interactions=[hover]\n)\nmapbox_map.show()\n```\n![map with points and hover](https://user-images.githubusercontent.com/395963/52003949-e98bed00-2500-11e9-9fa5-ee0356667fcc.png)\n```\n\n# Same as above but with Click interaction instead of hover\nlayer = PointCircleLayer(source)\nclick = ClickInteraction(layer, properties=['name'])\nmapbox_map = MapboxMap(\n access_token=access_token,\n sources=[source],\n layers=[layer],\n interactions=[click]\n)\nmapbox_map.show()\n```\n![map with points and click](https://user-images.githubusercontent.com/395963/52003955-ec86dd80-2500-11e9-96d7-938fb5e2eee7.png)\n```\n# Data-driven properties directly with mapbox gl expressions (picture can be different - real world dataset!)\ndata_url = 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson'\nsource = GeoJSONSource(data_url, source_id='earthquakes')\npaint = Paint(\n circle_color=[\n 'interpolate', [\"linear\"],\n ['get', 'mag'],\n 1.3, '#0000ff',\n 2, '#ff0000'\n ]\n)\nlayer = PointCircleLayer(source, paint=paint)\ninteraction = ClickInteraction(layer, properties=['place', 'mag', 'type'])\nmapbox_map = MapboxMap(\n style='mapbox://styles/mapbox/dark-v9', # lets use another style\n center=[0,0],\n zoom=1,\n access_token=access_token,\n sources=[source],\n layers=[layer],\n interactions=[interaction]\n)\nmapbox_map.show()\n```\n![map with data driven color](https://user-images.githubusercontent.com/395963/52004296-bd24a080-2501-11e9-8921-fa36b1c79af5.png)\n```\n\n# Polygon layer\ndata_url = 'https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_110m_admin_1_states_provinces_shp.geojson'\nsource = GeoJSONSource(data_url, source_id='states')\npaint = Paint(\n fill_color='rgba(200, 100, 240, 0.4)',\n fill_outline_color='rgba(200, 100, 240, 1)'\n)\nlayer = PolygonFillLayer(source, paint=paint)\ninteraction = ClickInteraction(layer)\nmapbox_map = MapboxMap(\n center=[0,0],\n zoom=1,\n access_token=access_token,\n sources=[source],\n layers=[layer],\n interactions=[interaction]\n)\nmapbox_map.show()\n\n```\n![map with polygons](https://user-images.githubusercontent.com/395963/52003958-ef81ce00-2500-11e9-80af-feb3eb526fdc.png)\n\n```\n# How to place one layer below another:\nimport os\nfrom mapboxgl_notebook.map import MapboxMap\nfrom mapboxgl_notebook.sources import GeoJSONSource\nfrom mapboxgl_notebook.layers import PointCircleLayer, LineStringLineLayer, PolygonFillLayer\nfrom mapboxgl_notebook.properties import Paint\nfrom mapboxgl_notebook.interactions import ClickInteraction, HoverInteraction\naccess_token = os.environ.get('MAPBOX_ACCESS_TOKEN')\n\n# Data from dictionary\ndata = {\n 'type': 'FeatureCollection',\n 'features': [\n {\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [103.8798, 1.3831]\n },\n 'properties': {\n 'id': 1,\n 'text_for_layer_1': 'Hello point 1 layer 1',\n 'text_for_layer_2': 'Hello point 1 layer 2'\n }\n },\n {\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [103.8290, 1.3531]\n },\n 'properties': {\n 'id': 2,\n 'text_for_layer_1': 'Hello point 2 layer 2',\n 'text_for_layer_2': 'Hello point 2 layer 2'\n }\n }\n ]\n}\n# Definition of source\nsource = GeoJSONSource(data, source_id='points')\n# Layer (geojson type Point, mapboxgl type Circle)\nlayer = PointCircleLayer(source, layer_id='layer_points')\nlayer2 = PointCircleLayer(\n source,\n paint=Paint(circle_radius=10, circle_color='#00ff00'),\n below_layer_id='layer_points'\n)\n# Hover interaction (popup with property name)\nhover = HoverInteraction(layer, properties=['text_for_layer_1'])\nhover2 = HoverInteraction(layer2, properties=['text_for_layer_2'])\n# Map rendering\nmapbox_map = MapboxMap(\n access_token=access_token,\n sources=[source], # can be list of sources\n layers=[layer, layer2], # can be list of layers\n interactions=[hover, hover2]\n)\nmapbox_map.show()\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/emakarov/mapboxgl_notebook", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "mapboxgl-notebook", "package_url": "https://pypi.org/project/mapboxgl-notebook/", "platform": "", "project_url": "https://pypi.org/project/mapboxgl-notebook/", "project_urls": { "Homepage": "https://github.com/emakarov/mapboxgl_notebook" }, "release_url": "https://pypi.org/project/mapboxgl-notebook/0.7/", "requires_dist": [ "mapboxgl", "IPython", "jinja2", "nssjson" ], "requires_python": "", "summary": "MapboxGL ipython renderer", "version": "0.7" }, "last_serial": 5124976, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f239329b9ef335de8926f20cd4310e9b", "sha256": "5b6799110571e50d97f43cdd576b4ecd1086c5686c949708caf83a8e81c36fdf" }, "downloads": -1, "filename": "mapboxgl_notebook-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f239329b9ef335de8926f20cd4310e9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10277, "upload_time": "2019-01-30T19:00:06", "url": "https://files.pythonhosted.org/packages/4e/c4/4f41754eb07e052cf3bfac09dbefcfcb99a9a3ec13a46cbc11ab06cb405d/mapboxgl_notebook-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1ac3e77698e7a74b4db8773cc4c5f039", "sha256": "dfe7097d0952ef6943d87ec4bc71897ae5dec4e61c3e7b8ac742742e8a0f4dc8" }, "downloads": -1, "filename": "mapboxgl_notebook-0.1.tar.gz", "has_sig": false, "md5_digest": "1ac3e77698e7a74b4db8773cc4c5f039", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7512, "upload_time": "2019-01-30T19:00:08", "url": "https://files.pythonhosted.org/packages/62/8e/751b7759dc6c31207ba775dd63c053bd053bcb361ecb44f84402a6122f1c/mapboxgl_notebook-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "4203ded824c3065be9c2d0d0e9e354f3", "sha256": "ffdaf454367e92bcaa3b8f88ef52c3e26e9e298e30ba0db15971a903624fb500" }, "downloads": -1, "filename": "mapboxgl_notebook-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4203ded824c3065be9c2d0d0e9e354f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10321, "upload_time": "2019-03-03T08:38:09", "url": "https://files.pythonhosted.org/packages/99/70/55f711434c56bdc3fa43264b28847660a266840ac7005be4dedc754ef512/mapboxgl_notebook-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9987e5e00bc8b4808b2d26158e07c3a7", "sha256": "ce68e6cbe8d38ab0afaedf5f776eea25f1b956f5d5ca58ce8354a05eb73cdcd9" }, "downloads": -1, "filename": "mapboxgl_notebook-0.2.tar.gz", "has_sig": false, "md5_digest": "9987e5e00bc8b4808b2d26158e07c3a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7604, "upload_time": "2019-03-03T08:38:10", "url": "https://files.pythonhosted.org/packages/f3/4e/89b1ca3eecdd2aaa2adc9447bbdc3b6fff119685a4ac844aece7e25da3f7/mapboxgl_notebook-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "20886d100e674fa878298e9e58e9037c", "sha256": "c20673010ab81d22906daa26cea43738c27ee5cc9d8d9b11446067e0445e353a" }, "downloads": -1, "filename": "mapboxgl_notebook-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "20886d100e674fa878298e9e58e9037c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10497, "upload_time": "2019-03-03T08:45:18", "url": "https://files.pythonhosted.org/packages/ba/29/12c272f571aa02fa3532d93e5567404e9a2035e83bba7246fe75383c6e9b/mapboxgl_notebook-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "026ea4f4179b808fc3c3d4088dd3e6e2", "sha256": "e305aab32b43ccd7bea132655d372cbee7c2022775e57d9f60cbb287926816e8" }, "downloads": -1, "filename": "mapboxgl_notebook-0.3.tar.gz", "has_sig": false, "md5_digest": "026ea4f4179b808fc3c3d4088dd3e6e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7852, "upload_time": "2019-03-03T08:45:20", "url": "https://files.pythonhosted.org/packages/9f/1b/bc4250b9c4778529eff98939bfffaa2269ee0424f47f29369809f3f284e7/mapboxgl_notebook-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "351c37e604007af776c7d93209b5dcce", "sha256": "c2219b39860f219d3cf3ac423e91f71f36068f46b64b6c872ee0c31582f26997" }, "downloads": -1, "filename": "mapboxgl_notebook-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "351c37e604007af776c7d93209b5dcce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11790, "upload_time": "2019-03-03T08:56:11", "url": "https://files.pythonhosted.org/packages/8f/b7/0b7a4111566836f16930b0f5333bc73802f445bdf62cfc6d79b4b222e98c/mapboxgl_notebook-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4cf5ceae59b64264c8ee847c5dfaf09", "sha256": "dc320dc9457014521c4e8ec2ffc617de76e3919bd09b4ba5aab9662879af4a7f" }, "downloads": -1, "filename": "mapboxgl_notebook-0.4.tar.gz", "has_sig": false, "md5_digest": "e4cf5ceae59b64264c8ee847c5dfaf09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8934, "upload_time": "2019-03-03T08:56:13", "url": "https://files.pythonhosted.org/packages/7d/cf/226a61da120e846eb8cd717a34463006a00a890ca2af3869be241319e59e/mapboxgl_notebook-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "ac3b69e163d94222fe99d4075e3911b5", "sha256": "df0c004c69b2b52911a98ce2fbb88c63f02dc6d964ce21f4aab56a4ea6da30e5" }, "downloads": -1, "filename": "mapboxgl_notebook-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ac3b69e163d94222fe99d4075e3911b5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11812, "upload_time": "2019-03-03T09:01:15", "url": "https://files.pythonhosted.org/packages/e5/b6/f066cdc6910ae43432a71ce564f7fd1ced04e6a27991f7e753c2c3765f8d/mapboxgl_notebook-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f57fc15a743dda1ec5a5e4dcc4f304e7", "sha256": "9bc028a8477b430659d144c358075edf491fe89968e9d6463aaf0be6a7d55340" }, "downloads": -1, "filename": "mapboxgl_notebook-0.5.tar.gz", "has_sig": false, "md5_digest": "f57fc15a743dda1ec5a5e4dcc4f304e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8988, "upload_time": "2019-03-03T09:01:16", "url": "https://files.pythonhosted.org/packages/7d/68/d2fcb43a59f49bd4a6b7d287784f8aa67d5c7b32d7c0b00848ff91dd905d/mapboxgl_notebook-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "f5839b21be6669f90cb4cff8dbc5547a", "sha256": "886f9bd3da57f86f41cf293f293d1fa2461eecdac4b042897d56051890d6d9c4" }, "downloads": -1, "filename": "mapboxgl_notebook-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f5839b21be6669f90cb4cff8dbc5547a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11823, "upload_time": "2019-03-03T09:30:07", "url": "https://files.pythonhosted.org/packages/31/88/4ac952e87e0d3f1962c82a208d195c03cd673ae73a21833fe633eaa294a0/mapboxgl_notebook-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8161bedcf3e1b04e8e84c9c195856ffd", "sha256": "3ed302bc8f81305609face648d4fca851d3fed180234192838632f27bf1ff34e" }, "downloads": -1, "filename": "mapboxgl_notebook-0.6.tar.gz", "has_sig": false, "md5_digest": "8161bedcf3e1b04e8e84c9c195856ffd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8993, "upload_time": "2019-03-03T09:30:08", "url": "https://files.pythonhosted.org/packages/3c/dd/9e66855e3b21244eb2751039cc6aaed100482193b538571ac930572bb54f/mapboxgl_notebook-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "32226644d80aa851afa06514f8d50812", "sha256": "a30796b189b98ec9c7923788bbbc2783952eab11a37f6a53f192b0f33f9ac9b2" }, "downloads": -1, "filename": "mapboxgl_notebook-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "32226644d80aa851afa06514f8d50812", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12087, "upload_time": "2019-04-10T16:46:18", "url": "https://files.pythonhosted.org/packages/53/86/446c153a91d2a99ebc4c0fbdf160c2143d92c2e743f61dfaaa6460411fdd/mapboxgl_notebook-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "909a546640539eb85f99173c9c860527", "sha256": "2f51595d1f169df6e705d6f84d72b435a078009ff8b1c403d8ebf40a8d01c177" }, "downloads": -1, "filename": "mapboxgl_notebook-0.7.tar.gz", "has_sig": false, "md5_digest": "909a546640539eb85f99173c9c860527", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9510, "upload_time": "2019-04-10T16:46:19", "url": "https://files.pythonhosted.org/packages/aa/fd/d5d296ff9a2827a7d5920ee1c5e3d407652f380bf946b5ab20bca1c2f804/mapboxgl_notebook-0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "32226644d80aa851afa06514f8d50812", "sha256": "a30796b189b98ec9c7923788bbbc2783952eab11a37f6a53f192b0f33f9ac9b2" }, "downloads": -1, "filename": "mapboxgl_notebook-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "32226644d80aa851afa06514f8d50812", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12087, "upload_time": "2019-04-10T16:46:18", "url": "https://files.pythonhosted.org/packages/53/86/446c153a91d2a99ebc4c0fbdf160c2143d92c2e743f61dfaaa6460411fdd/mapboxgl_notebook-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "909a546640539eb85f99173c9c860527", "sha256": "2f51595d1f169df6e705d6f84d72b435a078009ff8b1c403d8ebf40a8d01c177" }, "downloads": -1, "filename": "mapboxgl_notebook-0.7.tar.gz", "has_sig": false, "md5_digest": "909a546640539eb85f99173c9c860527", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9510, "upload_time": "2019-04-10T16:46:19", "url": "https://files.pythonhosted.org/packages/aa/fd/d5d296ff9a2827a7d5920ee1c5e3d407652f380bf946b5ab20bca1c2f804/mapboxgl_notebook-0.7.tar.gz" } ] }