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.2a1 is an alpha release. Linux and Windows have been tested with Python 3.11 and 3.12.
python -m pip install "cartomize==0.8.2a1"
For the desktop interface and optional Dask execution:
python -m pip install "cartomize[gui,distributed]==0.8.2a1"
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.2a1"
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.2a1 preserves selected spectral bands throughout automation, connects classification validation settings, and checks map quality before automated export.
See the GIS workflow audit for processing order, verified connections and remaining limitations.
The startup improvements introduced in 0.8.1a2 initialize 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.2a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cartomize-0.8.2a1.tar.gz | 374.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cartomize-0.8.2a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 687.6 kB
Release files / cartomize-0.8.2a1.tar.gz
| Download URL | cartomize-0.8.2a1.tar.gz |
|---|---|
| Size | 374.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d1fbb44d7a81f6e1dea5a9e4216875fb18954a22ee2b67b1f9be8662128be6e4
|
|
BLAKE2b-256 checksum How to use checksums |
a4ec120cfe70680c4887ad8bf45baa54d5504ce6a2907e6b9c97e61ce6713347
|
| 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 logRelease files / cartomize-0.8.2a1-py3-none-any.whl
| Download URL | cartomize-0.8.2a1-py3-none-any.whl |
|---|---|
| Size | 312.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e59bd6a5174bad81a637f390a1b067416539ae082c23c7bbd1ae95ce3064c4c7
|
|
BLAKE2b-256 checksum How to use checksums |
ea398e8c0b330f642c926443a2a508363011804d30f961f8073b9bc82d6bcc99
|
| 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