Skip to main content

COLMAP bindings

Project description

Python Bindings for COLMAP

PyCOLMAP exposes to Python most capabilities of the COLMAP Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline.

Installation

Pre-built wheels for Linux, macOS, and Windows can be installed using pip:

pip install pycolmap

The wheels are automatically built and pushed to PyPI at each release. To benefit from GPU acceleration, wheels built for CUDA 12 (only for Linux - for now) are available under the package pycolmap-cuda12.

[Building PyCOLMAP from source - click to expand]
  1. Install COLMAP from source following the official guide.

  2. Build PyCOLMAP:

    • On Linux and macOS:
      python -m pip install .
      
    • On Windows, after installing COLMAP via VCPKG, run in powershell:
      python -m pip install . `
          --cmake.define.CMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" `
          --cmake.define.VCPKG_TARGET_TRIPLET="x64-windows"
      

Reconstruction Pipeline

PyCOLMAP provides bindings for multiple steps of the standard reconstruction pipeline:

  • Extracting and matching SIFT features
  • Importing an image folder into a COLMAP database
  • Inferring the camera parameters from the EXIF metadata of an image file
  • Running two-view geometric verification of matches on a COLMAP database
  • Triangulating points into an existing COLMAP model
  • Running incremental reconstruction from a COLMAP database
  • Dense reconstruction with multi-view stereo

Sparse & Dense Reconstruction

Sparse & Dense reconstruction from a folder of images can be performed with:

output_path: pathlib.Path
image_dir: pathlib.Path

output_path.mkdir()
mvs_path = output_path / "mvs"
database_path = output_path / "database.db"

pycolmap.extract_features(database_path, image_dir)
pycolmap.match_exhaustive(database_path)
maps = pycolmap.incremental_mapping(database_path, image_dir, output_path)
maps[0].write(output_path)

# Dense reconstruction
pycolmap.undistort_images(mvs_path, output_path, image_dir)
pycolmap.patch_match_stereo(mvs_path)  # requires compilation with CUDA
pycolmap.stereo_fusion(mvs_path / "dense.ply", mvs_path)

PyCOLMAP can leverage the GPU for feature extraction, matching, and multi-view stereo if COLMAP was compiled with CUDA support. Similarly, PyCOLMAP can run Delaunay Triangulation if COLMAP was compiled with CGAL support. This requires to build the package from source and is not available with the PyPI wheels.

Configuration Options

All of the above steps are easily configurable with python dicts which are recursively merged into their respective defaults, for example:

pycolmap.extract_features(
    database_path, image_dir,
    extraction_options={"sift": {"max_num_features": 512}}
)

# Equivalent to:
ops = pycolmap.FeatureExtractionOptions()
ops.sift.max_num_features = 512
pycolmap.extract_features(database_path, image_dir, extraction_options=ops)

To list available options and their default parameters:

help(pycolmap.SiftExtractionOptions)

For another example of usage, see example.py or hloc/reconstruction.py.

Reconstruction Object

We can load and manipulate an existing COLMAP 3D reconstruction:

import pycolmap

reconstruction = pycolmap.Reconstruction("path/to/reconstruction/dir")
print(reconstruction.summary())

for image_id, image in reconstruction.images.items():
    print(image_id, image)

for point3D_id, point3D in reconstruction.points3D.items():
    print(point3D_id, point3D)

for camera_id, camera in reconstruction.cameras.items():
    print(camera_id, camera)

reconstruction.write("path/to/reconstruction/dir/")

Common Operations

The object API mirrors the COLMAP C++ library. The bindings support many operations, for example:

Projecting a 3D point into an image with arbitrary camera model:

uv = camera.img_from_cam(image.cam_from_world * point3D.xyz)

Aligning two 3D reconstructions by their camera poses:

rec2_from_rec1 = pycolmap.align_reconstructions_via_reprojections(
    reconstruction1, reconstruction2
)
reconstruction1.transform(rec2_from_rec1)
print(rec2_from_rec1.scale, rec2_from_rec1.rotation, rec2_from_rec1.translation)

Exporting reconstructions to text, PLY, or other formats:

reconstruction.write_text("path/to/new/reconstruction/dir/")  # text format
reconstruction.export_PLY("rec.ply")  # PLY format

Estimators

We provide robust RANSAC-based estimators for:

  • Absolute camera pose (single-camera and multi-camera-rig)
  • Essential matrix
  • Fundamental matrix
  • Homography
  • Two-view relative pose for calibrated cameras

All RANSAC and estimation parameters are exposed as objects that behave similarly as Python dataclasses. The RANSAC options are described in colmap/optim/ransac.h and their default values are:

ransac_options = pycolmap.RANSACOptions(
    max_error=4.0,  # For example the reprojection error in pixels
    min_inlier_ratio=0.01,
    confidence=0.9999,
    min_num_trials=1000,
    max_num_trials=100000,
)

Absolute Pose Estimation

To estimate the absolute pose of a query camera given 2D-3D correspondences:

# Parameters:
# - points2D: Nx2 array; pixel coordinates
# - points3D: Nx3 array; world coordinates
# - camera: pycolmap.Camera
# Optional parameters:
# - estimation_options: dict or pycolmap.AbsolutePoseEstimationOptions
# - refinement_options: dict or pycolmap.AbsolutePoseRefinementOptions
answer = pycolmap.estimate_and_refine_absolute_pose(points2D, points3D, camera)
# Returns: dictionary of estimation outputs or None if failure

2D and 3D points are passed as Numpy arrays or lists. The options are defined in estimators/absolute_pose.cc and can be passed as regular (nested) Python dictionaries:

pycolmap.estimate_and_refine_absolute_pose(
    points2D, points3D, camera,
    estimation_options=dict(ransac=dict(max_error=12.0)),
    refinement_options=dict(refine_focal_length=True),
)

Absolute Pose Refinement

# Parameters:
# - cam_from_world: pycolmap.Rigid3d, initial pose
# - points2D: Nx2 array; pixel coordinates
# - points3D: Nx3 array; world coordinates
# - inlier_mask: array of N bool; inlier_mask[i] is true if correspondence i is an inlier
# - camera: pycolmap.Camera
# Optional parameters:
# - refinement_options: dict or pycolmap.AbsolutePoseRefinementOptions
answer = pycolmap.refine_absolute_pose(
    cam_from_world, points2D, points3D, inlier_mask, camera
)
# Returns: dictionary of refinement outputs or None if failure

Essential Matrix Estimation

# Parameters:
# - points1: Nx2 array; 2D pixel coordinates in image 1
# - points2: Nx2 array; 2D pixel coordinates in image 2
# - camera1: pycolmap.Camera of image 1
# - camera2: pycolmap.Camera of image 2
# Optional parameters:
# - options: dict or pycolmap.RANSACOptions (default inlier threshold is 4px)
answer = pycolmap.estimate_essential_matrix(points1, points2, camera1, camera2)
# Returns: dictionary of estimation outputs or None if failure

Fundamental Matrix Estimation

answer = pycolmap.estimate_fundamental_matrix(
    points1,
    points2,
    [options],  # optional dict or pycolmap.RANSACOptions
)

Homography Estimation

answer = pycolmap.estimate_homography_matrix(
    points1,
    points2,
    [options],  # optional dict or pycolmap.RANSACOptions
)

Two-View Geometry Estimation

COLMAP can also estimate a relative pose between two calibrated cameras by estimating both E and H and accounting for the degeneracies of each model.

# Parameters:
# - camera1: pycolmap.Camera of image 1
# - points1: Nx2 array; 2D pixel coordinates in image 1
# - camera2: pycolmap.Camera of image 2
# - points2: Nx2 array; 2D pixel coordinates in image 2
# Optional parameters:
# - matches: Nx2 integer array; correspondences across images
# - options: dict or pycolmap.TwoViewGeometryOptions
answer = pycolmap.estimate_calibrated_two_view_geometry(
    camera1, points1, camera2, points2
)
# Returns: pycolmap.TwoViewGeometry

The TwoViewGeometryOptions control how each model is selected. The output structure contains the geometric model, inlier matches, the relative pose (if options.compute_relative_pose=True), and the type of camera configuration, which is an instance of the enum pycolmap.TwoViewGeometryConfiguration.

Camera Argument

Some estimators expect a COLMAP camera object, which can be created as follows:

camera = pycolmap.Camera(
    model=camera_model_name_or_id,
    width=width,
    height=height,
    params=params,
)

The different camera models and their extra parameters are defined in colmap/src/colmap/sensor/models.h. For example for a pinhole camera:

camera = pycolmap.Camera(
    model='SIMPLE_PINHOLE',
    width=width,
    height=height,
    params=[focal_length, cx, cy],
)

Alternatively, we can also pass a camera dictionary:

camera_dict = {
    'model': COLMAP_CAMERA_MODEL_NAME_OR_ID,
    'width': IMAGE_WIDTH,
    'height': IMAGE_HEIGHT,
    'params': EXTRA_CAMERA_PARAMETERS_LIST
}

SIFT Feature Extraction

import numpy as np
import pycolmap
from PIL import Image, ImageOps

# Input should be grayscale image with range [0, 1].
img = Image.open('image.jpg').convert('RGB')
img = ImageOps.grayscale(img)
img = np.array(img).astype(np.float) / 255.

# Optional parameters:
# - options: dict or pycolmap.SiftExtractionOptions
# - device: default pycolmap.Device.auto uses the GPU if available
sift = pycolmap.Sift()

# Parameters:
# - image: HxW float array
keypoints, descriptors = sift.extract(img)
# Returns:
# - keypoints: Nx4 array; format: x (j), y (i), scale, orientation
# - descriptors: Nx128 array; L2-normalized descriptors

Bitmap

PyCOLMAP provides bindings for the Bitmap class to work with images and convert them to/from NumPy arrays:

import numpy as np
import pycolmap

# Read a bitmap from file
bitmap = pycolmap.Bitmap.read("image.jpg", as_rgb=True)
print(f"Size: {bitmap.width}x{bitmap.height}, Channels: {bitmap.channels}")

# Convert to NumPy array
array = bitmap.to_array()  # Shape: (H, W, 3) for RGB or (H, W) for grayscale

# Create bitmap from NumPy array
array = np.random.randint(0, 255, (480, 640, 3), dtype=np.uint8)
bitmap = pycolmap.Bitmap.from_array(array)

# Write bitmap to file
bitmap.write("output.jpg")

# Rescale bitmap
bitmap.rescale(new_width=320, new_height=240)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pycolmap-4.0.4-cp314-cp314-win_amd64.whl (24.1 MB view details)

Uploaded CPython 3.14Windows x86-64

pycolmap-4.0.4-cp314-cp314-manylinux_2_28_x86_64.whl (27.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pycolmap-4.0.4-cp314-cp314-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

pycolmap-4.0.4-cp313-cp313-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.13Windows x86-64

pycolmap-4.0.4-cp313-cp313-manylinux_2_28_x86_64.whl (27.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pycolmap-4.0.4-cp313-cp313-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pycolmap-4.0.4-cp312-cp312-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.12Windows x86-64

pycolmap-4.0.4-cp312-cp312-manylinux_2_28_x86_64.whl (27.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pycolmap-4.0.4-cp312-cp312-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pycolmap-4.0.4-cp311-cp311-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.11Windows x86-64

pycolmap-4.0.4-cp311-cp311-manylinux_2_28_x86_64.whl (27.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pycolmap-4.0.4-cp311-cp311-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pycolmap-4.0.4-cp310-cp310-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.10Windows x86-64

pycolmap-4.0.4-cp310-cp310-manylinux_2_28_x86_64.whl (27.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pycolmap-4.0.4-cp310-cp310-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file pycolmap-4.0.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 24.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pycolmap-4.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e117a5e30ad020d151dd501c934933c5cdfac606480edd84365435548bbeddda
MD5 b77610f05954b97879864510b660ea16
BLAKE2b-256 16a163b5b1e2af1067011b4554f141788697f8da62ca07bcc13fbffad7c4f8e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp314-cp314-win_amd64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a267b4181869f4fd3cb8ec8ab8f9b5788b5de27822975d8818625fc6b20282f
MD5 4d6d65fd996f8cccb1fe0680c82706bc
BLAKE2b-256 44f86cfbad9847b2d3503cb9f2d189b0557c72d83abb0f7aa30f5a6bcdd273f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 beb56782b75c77bdb0d9d4e8a7d8fdf38b37d169df30a72a11f2da1a5b3fe5e1
MD5 91ca32934537dc88c1192a2f020d490c
BLAKE2b-256 77f8787f4bd2811d39ae99f827136a2de16038d2a70d7656e7af542efc391bf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 23.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pycolmap-4.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9af65a0dde7487f15e0851cefe5c084e41904e2fc7c809d80cca0ef13ff2e366
MD5 67e47fe2b0c35b34f1ca6b87d6428c99
BLAKE2b-256 355a727dd1971bf14246e1b199a529e2d5f0a0fc59f64136ff23ba5833cc0154

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp313-cp313-win_amd64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 964a704a0adc1df5d7337bd15a65544a67b8a31942ad7d4cfa137dfdf3dfa119
MD5 683e1f6f79446df117e3c60d495f2d3f
BLAKE2b-256 34902fcd24a24d36ef62e712b56a9cc6d78fda0fb87d2017068a2e01b9f8938d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d20daf8dc004ce2b9b7b02eb1a6e920cb940eb9a5356842afa0dc471a06cb180
MD5 116ec2a24bb5e8c8ce256857326548fb
BLAKE2b-256 5f43f142a64d8e9a8bd9c640c5ce06891209df49baa8d442d1d8672bc457eaf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 23.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pycolmap-4.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 59059e20e76dcda0d64575ba4c9c30fa27348a4678068a4511a4fa230ec48c32
MD5 6e6a04ccc467d1af8f2fb2059fc8e548
BLAKE2b-256 f596b6649bedcec7997e00452db5f69352254630d0df2688b861f28960851428

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp312-cp312-win_amd64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d962623a3da308a44feab08a0ed2c865ff9c33de9460b94d771e2dd80af3631b
MD5 8d415790d5006e73683d6e3840811ec8
BLAKE2b-256 7dacb149a9be66f44f12c2eec8f7c345b69e4c24505d3283141217969bf03670

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 15ff6cbf306a1ea107a57bd688d051eb016c94c5d36e1b5501017417d8ff7ceb
MD5 a9f05360964c8690b0d7b6814430fe6b
BLAKE2b-256 4ebc1846a49a7ffa67b2f1426224d539bb5e916ee1c82c776bcc50264b82f057

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 23.4 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pycolmap-4.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e7ffc8eb9458a571e6987d27f0aed6c1a738bdddc58c3c51bbba02525f1a97e5
MD5 43520a8b3310f0ccdf3b806fabfe79c7
BLAKE2b-256 a004e753df67820460668376b8859b12e929176f174daca9fa982628a9cf8467

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp311-cp311-win_amd64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 32e23b906212195c56506a180239369a38770a75cca699467a9c57092ce8b8ee
MD5 7bae2e1b4c941143b47b4b9590f6b158
BLAKE2b-256 f5eb1afcc90b625e15b6a81487d978c94fb28302c0a73606a0e80562dbdda751

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4529e54ef62ad0d0b0ff24771cbe4ca59ffd1d964e105ad2545eda7594e5cf5f
MD5 dc03fbcb3041fbdd517b292dbf9c6ad5
BLAKE2b-256 bd2a84b3d17aa476f76b8d22317e0f7781719c0a4836c3f1fef03b9ae5fdbfe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 23.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pycolmap-4.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e3f0128b01bc6373901ed97e87a2584a252ea26dbcacb7497e26af3af6d8ccd9
MD5 31087185a4b1bf1193a45b9ede31365f
BLAKE2b-256 a850217789588e0b0ba0d73820dc65de06bba024f0e2f22d7dd22e6ffb4bc90d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp310-cp310-win_amd64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e6f9bf674423663b855f383581bc58960f1f66d8a7db53dd624ad12b42531919
MD5 f8640e0202475cbbdb8c7375f9002279
BLAKE2b-256 69e93ce84b1135969e04bf1203d351a82f4e56b044a666580c04891d61b5b63a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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

File details

Details for the file pycolmap-4.0.4-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.4-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3f2e34bf4c75150063c06e407d668e54a291ab5d12ae9d6b030bf255a9aada85
MD5 ae0554ac9cc1ea35872c24886115d970
BLAKE2b-256 29fa040d68cb0713d1e4e532c8dcf9cfb275d1c8ec9c975eba895875fcc44c81

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.4-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: build-pycolmap.yml on colmap/colmap

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