Skip to main content

Django model to store and serve mapbox base layer config

Project description

codecov CI

Django Mapbox Baselayer

Django application to store, manage and serve map base layers and overlay configurations for MapLibre GL JS and Mapbox GL JS.

This package provides:

  • Django models to store base layers and overlay layers configuration
  • Admin interface to manage layers
  • API endpoints to serve layer configurations as TileJSON
  • Support for raster tiles, vector tiles, and Mapbox styles

Map Example

Getting started

Installation

Install it in your project like any dependency

pip install django-mapbox-baselayer

Usage

Declare django-mapbox-baselayer in the INSTALLED_APPS

# settings.py

INSTALLED_APPS  = [
    # ... other django apps
    "mapbox_baselayer",
]

For Mapbox base layers, you do not need to describe the tiles with the BaseLayerTile object, but an url is mandatory.

For Raster base layers, is it necessary to create a BaseLayerTile for each url (a.tiles.xxx, b.tiles.xxx, etc ...)

Tile size should be 256 for raster and 512 for vector.

Commands

OSM base layer

./manage.py install_osm_baselayer

OpenTopoMap base layer

./manage.py install_opentopomap_baselayer

Mapbox base layer

./manage.py install_mapbox_baselayer (use mapbox://styles/mapbox/streets-v11 as default)
./manage.py install_mapbox_baselayer --mapbox-url=mapbox://styles/mapbox/satellite-streets-v11

IGN base layer

./manage.py install_ign_baselayer --layers ortho plan maps scan_25 cadastre plan_vt

CHANGELOG

1.1.1 (2026-02-07)

Improvements

  • mapbox url is now labeled as "Style URL".
  • IGN Plan Vector tile layer is available

Bugfixes

  • IGN layers are updated to use the new style url instead of the old tile url.

Development

  • Use ruff instead of flake / black / isort

1.1.0 (2026-02-06)

New features

  • Add overlays concept to allow adding layers on top of baselayers. This is useful for example to add a layer with markers on top of a baselayer.
  • Add JSON endpoint to get baselayer data. This is useful for example to get the real url of a mapbox style.

Improvements

  • Add example view

Maintenance

  • Drop official support for python <= 3.9
  • Add official support for python 3.13
  • Add official support for python 5.2 and 6.0

1.0.0 (2023-07-11)

  • Increase attribution size to 1024 chars.
  • Support django 4.2, drop django 2.2
  • Support python 3.11

0.0.9 (2022-11-09)

  • Improve install_ign_baselayer command. Add Plan IGN V2 and fix multi layer import.
  • Support django 3.2, 4.0 and 4.1
  • Support python 3.10

0.0.8 (2020-11-03)

  • Add command to create Mapbox layer
  • Add command to create different IGN layers

0.0.7 (2020-10-30)

  • Admin is now registered by default. Delete enabling code in your project.
  • Set default mapbox glyphs to avoid map style problems on raster based layer
  • Add commands to create OSM and OpenTopoMap base layers

0.0.6 (2020-09-09)

  • Support django 3.1

0.0.5 (2020-06-03)

  • Fix translations

0.0.4 (2019-12-04)

  • Allow using map_box_url to store vector external json

0.0.3 (2019-12-03)

  • add tile Size option for raster layers
  • add attribution option for all layers
  • Add real_url property to model MapBaseLayer, to get real url for mapbox styles
  • fix MapBaseLayer deletion
  • Enable fr translation

0.0.2 (2019-11-29)

  • Increase tile url max size

0.0.1 (2019-11-25)

  • First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_mapbox_baselayer-1.1.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_mapbox_baselayer-1.1.1-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file django_mapbox_baselayer-1.1.1.tar.gz.

File metadata

  • Download URL: django_mapbox_baselayer-1.1.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_mapbox_baselayer-1.1.1.tar.gz
Algorithm Hash digest
SHA256 72c830f3f73197c0c67801bba31aed72259cbaf1cfc968ea6c8133206cc7eb2f
MD5 be1ba85f87b4797ce41a4abef0589115
BLAKE2b-256 3800f0fa787bc450985433e2b955327570347ad767db34f6afd7768639a8ddbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_mapbox_baselayer-1.1.1.tar.gz:

Publisher: python-ci.yml on makinacorpus/django-mapbox-baselayer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_mapbox_baselayer-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_mapbox_baselayer-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 75e55d09ce2aafcfcde3424b82e8281f10612bfa3ba281fb8fdc4c6f327f5168
MD5 860ba86db1d50e6c8aa1b7a4a0aa3fa7
BLAKE2b-256 a22d23a9e889a09701d7caeb58176241567bc427c8af55c9528b5c930737e304

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_mapbox_baselayer-1.1.1-py3-none-any.whl:

Publisher: python-ci.yml on makinacorpus/django-mapbox-baselayer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page