Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Cartomize

Cartographic assistant for Python — Assistant cartographique pour Python

Cartomize combines satellite image preparation, raster and vector processing, and cartographic layouts in a Python library with an optional desktop interface. It is developed by ONDON NKOUA Cédrick Belmich, founder of Cartomize.

The standalone library and its desktop interface work without QGIS or ArcGIS Pro. Optional native project bridges require the corresponding installed GIS software.

Installation

Python 3.11 or newer is required. Version 0.8.1a2 is an alpha release. Linux and Windows have been tested with Python 3.11 and 3.12.

python -m pip install "cartomize==0.8.1a2"

For the desktop interface and optional Dask execution:

python -m pip install "cartomize[gui,distributed]==0.8.1a2"
python -m cartomize gui

Or open the interface from Python:

import cartomize as cm
cm.launch()

Importing the library does not open a window automatically.

Jupyter notebooks on a local computer

Install the notebook extra in a Python 3.11+ kernel:

%pip install "cartomize[notebook]==0.8.1a2"

Restart the kernel after upgrading, then run:

import cartomize as cm
window = cm.launch()

Cartomize enables the Qt event loop automatically so the cell returns while its desktop window remains responsive. The window opens on the computer running the kernel; a headless or remote notebook cannot display it in the browser. The processing API works without a desktop.

Version 0.8.1a2 initializes Python's XML parser before geospatial DLLs are loaded, addressing Windows Conda startup conflicts. It also adds the notebook extra with a compatible typing_extensions requirement.

Satellite image preparation

Select spectral bands and a polygonal area of interest, then choose mosaicking, multiband assembly, clipping, RGB composition and separate band exports. Landsat Collection 2 Level 2 and Sentinel-2 Level 2A products are recognized from their original filenames and metadata. Other inputs use explicit band and scene mappings.

import cartomize as cm

result = cm.process_imagery(
    ["scene_A", "scene_B"],
    "outputs/preparation",  # a new directory
    aoi="study_area.shp",
    mosaic=True,
    multiband=True,
    separate_bands=True,
    composition=("nir", "red", "green"),
)
print(result.manifest)

Calibration and quality masking precede resampling. Scientific multiband values remain separate from stretched display values. Turning off mosaicking processes each scene independently. For an existing multiband file:

band_files = cm.split_bands("multiband.tif", "outputs/separate_bands")

Capabilities

  • Multiscene preparation, NoData masks, RGB composites and spectral indices.
  • Raster algebra, focal statistics, multiraster reductions and terrain derivatives.
  • Vector overlay, spatial joins, buffers, clipping and geometry repair.
  • Supervised and unsupervised classification with explicit training inputs where required.
  • Cartographic layouts, legends, scale bars, labels, 24 templates and PDF/PNG/SVG exports.
  • Optional desktop workflows, saved sessions and portable projects.
  • Dask execution for supported raster operators; optional CUDA for algebra, indices and reductions.

Utilisation en français

Cartomize permet de préparer les images satellitaires, traiter les couches et produire les cartes dans Python ou dans une fenêtre dédiée. Dans Prétraitement multispectral, charger les bandes, vérifier les scènes, importer la délimitation, cocher les opérations et choisir les bandes des canaux rouge, vert et bleu. Les GeoTIFF scientifiques, les compositions colorées et les bandes extraites sont enregistrés séparément.

L’interface conserve l’icône Cartomize en couleur et utilise des intitulés techniques. Les indices et la mise en page restent accessibles à partir des résultats de préparation.

Documentation and support

Validation and scope

The 0.8.1 code passed 315 tests in each Linux/Windows and Python 3.11/3.12 configuration, including 38 Qt cases. QGIS native integration was tested separately in a real QGIS runtime. CUDA hardware execution and ArcGIS Pro integration still require validation on suitable licensed/equipped machines. Tests use synthetic data; no universal performance gain is claimed.

The library uses GeoPandas, Rasterio, NumPy, SciPy, Matplotlib and scikit-learn. PySide6, Dask and CuPy are optional dependencies. This alpha does not reproduce every native GIS rendering effect and is not endorsed by QGIS, Esri or GeoPandas.

License

Source code: GNU GPL v3 only. The original layout templates are CC BY 4.0, attributed to Cartomize / ONDON NKOUA Cédrick Belmich. License notices are included in the distribution.

Release files for cartomize 0.8.1a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cartomize 0.8.1a2
File Size Uploaded
cartomize-0.8.1a2.tar.gz 365.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cartomize 0.8.1a2
File Interpreter ABI Platform
cartomize-0.8.1a2-py3-none-any.whl Python 3 none any Details

Total release size: 675.8 kB

Release files / cartomize-0.8.1a2.tar.gz

Download URL cartomize-0.8.1a2.tar.gz
Size 365.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1ee9ee6f8a078965fa8d17279101741a47d2e8fbcbbb4ca649d57f23fb887ed6
BLAKE2b-256 checksum
How to use checksums
a80e1c1d1c4004c767f20e834f3886f481e7dc596878e7e8eb72a86a7ff1e4c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / cartomize-0.8.1a2-py3-none-any.whl

Download URL cartomize-0.8.1a2-py3-none-any.whl
Size 310.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c8633c7375cda4f7c66d0e692a7174653bb17785e94ce809aa39f06324ec593
BLAKE2b-256 checksum
How to use checksums
4dd0eb69d82888bb05e53dc292845f046ac7f2005d701fe88a78953be81dd02e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page