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.1-cp314-cp314-win_amd64.whl (24.1 MB view details)

Uploaded CPython 3.14Windows x86-64

pycolmap-4.0.1-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.1-cp314-cp314-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

pycolmap-4.0.1-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.1-cp313-cp313-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

pycolmap-4.0.1-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.1-cp312-cp312-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

pycolmap-4.0.1-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.1-cp311-cp311-macosx_14_0_arm64.whl (19.9 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

pycolmap-4.0.1-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.1-cp310-cp310-macosx_14_0_arm64.whl (19.8 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: pycolmap-4.0.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 769bcee5ff481483e13da133824b697c4ccd888b17e88e44571f379602fc954b
MD5 37ffb7000fe4643cfcc9f413c0fe70e6
BLAKE2b-256 f15e6d36162fb4b87130ae5d417de8eae90e1f1e5272d5ed9fc9d957b22135e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c7ce589fb18c8ce0f8268be526b12e7b39e9fd37864fd20c6451ab8d626685da
MD5 f29893a5b295105bdefbb4ec834c8420
BLAKE2b-256 9e7b1ef215398574fb71b1158dec34bedcd1e8999d326f341ce393802100d8c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3128e56dda45b5b100e490c5610e51feb070531a2b0ad2505f44dc96f217a2da
MD5 9ef0f7ca1c861e7d7d03a5e41c99411f
BLAKE2b-256 a9e502460176178a7a33cbd0598e2f674a9eb07d2406a6c9f944e35d78292739

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bfcd4a6ada81eccbc060d82e2533ab5ebed5547df3113d5f7caaac1f8309b7d8
MD5 ca73140ff793249d7af92462990f6442
BLAKE2b-256 03785c7c8ef0d4c11bd9122914856bb8c2bfd5cc334fa6dac9fef7d4687e5d88

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6535830bbcb88b6fe1b31d8cc8670dec9e6b03cf17806ab096d4bf9747b81076
MD5 730fb973ecd5d633309d19803e8e8619
BLAKE2b-256 a51da946b2083a877123002e00cbde87ac362868cb8d9681e877248b0617539a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b278dcaf376531c7b36e632ebd690449e95fa508faf4e5de718e53177b120406
MD5 c1ce8c724a8abb9f9686d50709bba04e
BLAKE2b-256 09da2bc557bdba64b9a55b8c535f2aa3004e7929f570f02d413368d198f4d86b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 74713ca9bb65f572566a4ea92caf7446334599c5dc638bd3800db9b331b6fcef
MD5 a02214bfbc65e5ae50f9a47af494a8cd
BLAKE2b-256 3323108242f31689128d6be3a361b92c84502b55254d962a6a935fbb3796f91d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fae33928950bc91e02e71153cefb4fa5250970be4e18b1e044eb9c7f98c029d9
MD5 4e4fceafb0c87faaae3b50cfa476bdd2
BLAKE2b-256 5692f838d2577e6af9d79e85349f15dee1d916387a0522b5fa6549211c9878d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3fe1b23ef4c7b3ba95aa91f17f8dbaad969c81190110e4654b709033e35cd119
MD5 710c6ec85f4009d05ca78ee02282c819
BLAKE2b-256 4e705f73ab98adda3dfae77270c1e22195fd96c971c7ab64c5e602b29a4c3753

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d23c09bc737457747beaa30a0637507bd69827c2c93e0f0cfc3c6dc55a798884
MD5 fc9002688e9515200cadce6f2f8019a6
BLAKE2b-256 cd2d84d2e76c4b591efa2838d7d75232561c87c4d038eb38cb7d6638567061e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c917e5b679a84fbe68be708c8e3bf5e27919c9effb11babc06b3cf5bf8ebe8c
MD5 1596e360a14756d7fd94624e86fc2414
BLAKE2b-256 29d8b53db557cbfc900e18a047154708ccdf6473deb762a4ecc82525942afe4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ba398242433e70c5360ff046841c5a471797fb66c952aa8ff865bcae715ea972
MD5 7648abc80eb44d35ea1e75005d4e8460
BLAKE2b-256 cbef2c0104f5fa8cbf84d374a40570fc3a7c862ceeb742ac0f2fbc5cb90816a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pycolmap-4.0.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 500db746056ac5114161f6dcc37cf43e7cb742eee18dbd82915d46da929fde10
MD5 2e5e441de884645551cd2915c9634fe6
BLAKE2b-256 a014fc35391d308e2b489017be38de836bf23192face5ef29abf9d6be4a4bd72

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c9fa9ddaf893e30e0ec98da354f7c7ed95cdd4c47cc78b44bbc1c002c99fe4f0
MD5 c183c77b09ec1bf1b74e44e3e0878acf
BLAKE2b-256 0325b40c56b9363c9f74d0e5ec6b5f126cda14652ae35b54678fd80c5928526e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pycolmap-4.0.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d1af2f4b40dcc9ca44801a9c4d8c4b5c2b9bf7821a5d87383b67aa20027cb706
MD5 373d6498fdc527687413ab0e2bb779c1
BLAKE2b-256 4950013ff9584e3237db851fc5fb2608a3ef133419e3968470653598873deac4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycolmap-4.0.1-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