Skip to main content

A high-performance satellite imagery dataset creation tool for computer vision

Project description

mapcv logo

mapcv

A high-performance satellite imagery dataset creation tool for computer vision.

Package version Supported Python versions License Downloads Documentation Ruff


Statement of Need

Creating machine learning datasets from satellite imagery is traditionally a frustrating experience. Wrestling with heavy, notoriously complex GIS libraries like GDAL is a massive pain point for researchers who just want to train models.

Existing geospatial ecosystems are heavily analysis-first. mapcv is different. It is explicitly designed as a data creation-first tool. It provides a fast, end-to-end pipeline written in Python and Rust specifically optimized for fetching map tiles, rasterizing complex labels (KML/GeoJSON), and splitting areas into uniform, ML-ready patches. The target audience includes computer vision researchers, data scientists, and ML engineers who need an efficient and reliable way to prepare high-quality satellite datasets for training segmentation models without the traditional GIS headaches.

Installation

pip install mapcv

Requires Python 3.10 or higher. Pre-built wheels cover Linux, macOS, and Windows.

Quick start

1. Scaffold a config file

mapcv init my_dataset.yaml

Open the file and fill in your region, tile source, and (optionally) label path. Everything else has sensible defaults.

Note: mapcv supports tile sources that serve standard 256x256 pixel tiles (OpenStreetMap, Esri, Google Satellite, CartoDB, and most providers). Sources serving 512x512 tiles are not supported and will produce incorrectly scaled patches.

2. Generate the dataset

mapcv generate my_dataset.yaml

This fetches tiles, rasterizes labels, extracts patches, and writes everything to the output directory specified in your config.

3. Re-split an existing dataset (optional)

mapcv split ./output --test-ratio 0.15 --val-ratio 0.10

Re-runs the train/val/test split from the existing manifest.json without re-downloading anything.

Documentation

Full documentation including configuration reference, CLI reference, and API reference is available at tahamukhtar20.github.io/mapcv.

Contributing

Contributions are welcome. Please review the Contributing Guide and Code of Conduct before opening a pull request.

Citation

(Citation information will be added after publication.)

Author

Muhammad Taha Mukhtar · tahamukhtar20+mapcv@gmail.com

License

This project is licensed under the MIT License — see the LICENSE file for details.

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

mapcv-0.1.0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distributions

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

mapcv-0.1.0-cp313-cp313-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.13Windows x86-64

mapcv-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

mapcv-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

mapcv-0.1.0-cp312-cp312-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.12Windows x86-64

mapcv-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

mapcv-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

mapcv-0.1.0-cp311-cp311-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.11Windows x86-64

mapcv-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

mapcv-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

mapcv-0.1.0-cp310-cp310-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.10Windows x86-64

mapcv-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

mapcv-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (6.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file mapcv-0.1.0.tar.gz.

File metadata

  • Download URL: mapcv-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mapcv-0.1.0.tar.gz
Algorithm Hash digest
SHA256 447427fdb600974e79b60bd75c6af8b57ad7b18ee396e1b614044c4e832937f2
MD5 e61c84e6fa76caa8e86e3544dd42d86e
BLAKE2b-256 83d79d5c3f6cf5b9b0538c73b0549f17ea2fd35382bdd32cbc9c07ac4a7995ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0.tar.gz:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mapcv-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mapcv-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 69e973ce31570c85d508b0560c5a72cf94cc720243c14a683c2fee92275e2722
MD5 dbad1d9b4b3182a0e54e83bf7aebdc35
BLAKE2b-256 d178673f635555885015b32e3a359180c75f77b93fd160d86c403a2d87c1e8aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 494456f447cc6467c64f16f6be3642c554186b5e1e0974aa63d1f8e41ca458fb
MD5 5a089b2670c82677e35cfbbd6d609ca2
BLAKE2b-256 462ebeaf00c29b5e0cda16114e73a304c0629f583928321532c77347bb174e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 b09770395cf33db25c2630b169221418e2ba34e51842a6c381de81e635dbb999
MD5 14540b678b25bda115a8e6cd1d1d972e
BLAKE2b-256 9a1013c8b647d715a728bf970fe28b7767c909cc4b113b4290561bd8a41373b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mapcv-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mapcv-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e2d8534e6ed8868d6b45bc56aee2156e5a066b988fdabe4362264e64f374b986
MD5 f58cfbd1712ca767cd9b070a9a4966aa
BLAKE2b-256 b62c2e09cd40a44a7434dd03784aa82aa46f5c996a15f0f5f552b38721a74dab

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f4aa1a791178698fc857f17a576fb5da94a34fa60ab7566413008fb41b74cdc
MD5 c6f1b75e809938e7f9a7c1927387753e
BLAKE2b-256 642584e13b87eb097ab698bd623c36d2f1669f11b51639d0efe69a291796348e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 23708048a51e7914c8d55c693292c56cafa6263955e0d1e8eed516ec070219b0
MD5 dbf2a612cbd1a476c27bfa29e208369a
BLAKE2b-256 b2c7b7c19bdd17f958df87f9e4459d35e44bba32fb3f1393a8f109b7efdc8c39

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mapcv-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mapcv-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a671c8a75043ef0618f634ef8970a5d6511f0186e327ddbbc5c812bd0a3e0e85
MD5 adfd8c758e6e611431db0e76ac0b3f50
BLAKE2b-256 3e98e17007b8d7c9408832783ded16e3a409cac47a1aa88d5cd38a1a0b240877

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61523ce46ebbe78ff69f06fe304df5e9099fbd5073078bfea51bd748e4fbc12f
MD5 68e195f37b567a5b949dc3cc4b7e5c46
BLAKE2b-256 6a614a1167c7a6dde557404ee164d9a7dec76528f519415b4aafbd7f31cfc5ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 0030725aa53b6a6449629f82b2e10aa7e050928ccd605367f30461e9c453aa25
MD5 ee73f7f9335e958e57b7282f6dbedf95
BLAKE2b-256 6f4e247644693eabae73f13315048a67b19f36a56e02a2545de5cccc809b4fdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mapcv-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mapcv-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 41788b5f395cc4d400a8168a61d7576f05b0754af9fd0b7778464200c8fad759
MD5 5b223e53e9240a14224a102d909be992
BLAKE2b-256 99512cd428cbc78cb1a69f4831c4dd5d3c5c69e45b8a1464b33ff777c617c25c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42c8b1fbab7d49eec1ff2ccd4b956865d32f29bf8305b60e5fae04b66125c80e
MD5 66ade7462da231b973c33666221d4faf
BLAKE2b-256 09132ee4cdf2048be2e970b3ddb2d9d1ea344769efe12faee36b578c67a6f773

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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

File details

Details for the file mapcv-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for mapcv-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3610c6126f2fa24dca9119e8d344648ed455f3def19f2280883c2610985e58b5
MD5 84b924351f1e3c4119ced4bd28d6087b
BLAKE2b-256 5afd645b0305a289736f5f51765c739a80de69a69007a74b6d09a9f8dfff6939

See more details on using hashes here.

Provenance

The following attestation bundles were made for mapcv-0.1.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on tahamukhtar20/mapcv

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