Skip to main content

Lens distortion correction for Python, a wrapper for lensfun

Project description

lensfunpy is an easy-to-use Python wrapper for the lensfun library.

API Documentation

Sample code

How to find cameras and lenses

import lensfunpy

cam_maker = 'NIKON CORPORATION'
cam_model = 'NIKON D3S'
lens_maker = 'Nikon'
lens_model = 'Nikkor 28mm f/2.8D AF'

db = lensfunpy.Database()
cam = db.find_cameras(cam_maker, cam_model)[0]
lens = db.find_lenses(cam, lens_maker, lens_model)[0]

print(cam)
# Camera(Maker: NIKON CORPORATION; Model: NIKON D3S; Variant: ;
#        Mount: Nikon F AF; Crop Factor: 1.0; Score: 0)

print(lens)
# Lens(Maker: Nikon; Model: Nikkor 28mm f/2.8D AF; Type: RECTILINEAR;
#      Focal: 28.0-28.0; Aperture: 2.79999995232-2.79999995232;
#      Crop factor: 1.0; Score: 110)

How to correct lens distortion

import cv2 # OpenCV library

focal_length = 28.0
aperture = 1.4
distance = 10
image_path = '/path/to/image.tiff'
undistorted_image_path = '/path/to/image_undist.tiff'

img = cv2.imread(image_path)
height, width = img.shape[0], img.shape[1]

mod = lensfunpy.Modifier(lens, cam.crop_factor, width, height)
mod.initialize(focal_length, aperture, distance, pixel_format=img.dtype)

undist_coords = mod.apply_geometry_distortion()
img_undistorted = cv2.remap(img, undist_coords, None, cv2.INTER_LANCZOS4)
cv2.imwrite(undistorted_image_path, img_undistorted)

It is also possible to apply the correction via SciPy instead of OpenCV. The lensfunpy.util module contains convenience functions for RGB images which handle both OpenCV and SciPy.

How to correct lens vignetting

Note that the assumption is that the image is in a linear state, i.e., it is not gamma corrected.

import lensfunpy
import imageio

db = lensfun.Database()
cam = db.find_cameras('NIKON CORPORATION', 'NIKON D3S')[0]
lens = db.find_lenses(cam, 'Nikon', 'Nikkor AF 20mm f/2.8D')[0]

# The image is assumed to be in a linearly state.
img = imageio.imread('/path/to/image.tiff')

focal_length = 20
aperture = 4
distance = 10
width = img.shape[1]
height = img.shape[0]

mod = lensfunpy.Modifier(lens, cam.crop_factor, width, height)
mod.initialize(focal_length, aperture, distance, pixel_format=img.dtype)

did_apply = mod.apply_color_modification(img)
if did_apply:
    imageio.imwrite('/path/to/image_corrected.tiff', img)
else:
    print('vignetting not corrected, calibration data missing?')

How to correct lens vignetting and TCA

Note that the assumption is that the image is in a linear state, i.e., it is not gamma corrected. Vignetting should always be corrected first before applying the TCA correction.

import imageio
import cv2
import lensfunpy

db = lensfunpy.Database()
cam = db.find_cameras('Canon', 'Canon EOS 5D Mark IV')[0]
lens = db.find_lenses(cam, 'Sigma', 'Sigma 8mm f/3.5 EX DG circular fisheye')[0]

# The image is assumed to be in a linearly state.
img = imageio.imread('/path/to/image.tiff')

focal_length = 8.0
aperture = 11
distance = 10
width = img.shape[1]
height = img.shape[0]

mod = lensfunpy.Modifier(lens, cam.crop_factor, width, height)
mod.initialize(focal_length, aperture, distance, pixel_format=img.dtype, flags=lensfunpy.ModifyFlags.VIGNETTING | lensfunpy.ModifyFlags.TCA)

# Vignette Correction
mod.apply_color_modification(img)

# TCA Correction
undist_coords = mod.apply_subpixel_distortion()
img[..., 0] = cv2.remap(img[..., 0], undist_coords[..., 0, :], None, cv2.INTER_LANCZOS4)
img[..., 1] = cv2.remap(img[..., 1], undist_coords[..., 1, :], None, cv2.INTER_LANCZOS4)
img[..., 2] = cv2.remap(img[..., 2], undist_coords[..., 2, :], None, cv2.INTER_LANCZOS4)

imageio.imwrite('/path/to/image_corrected.tiff', img)

Installation

Install lensfunpy by running:

pip install lensfunpy

64-bit binary wheels are provided for Linux, macOS, and Windows.

Installation from source on Linux/macOS

If you have the need to use a specific lensfun version or you can’t use the provided binary wheels then follow the steps in this section to build lensfunpy from source.

First, install the lensfun library on your system.

On Ubuntu, you can get (an outdated) version with:

sudo apt-get install liblensfun-dev

Or install the latest developer version from the Git repository:

git clone https://github.com/lensfun/lensfun
cd lensfun
cmake .
sudo make install

After that, install lensfunpy using:

git clone https://github.com/letmaik/lensfunpy
cd lensfunpy
pip install numpy cython
pip install .

On Linux, if you get the error “ImportError: liblensfun.so.0: cannot open shared object file: No such file or directory” when trying to use lensfunpy, then do the following:

echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/99local.conf
sudo ldconfig

The lensfun library is installed in /usr/local/lib when compiled from source, and apparently this folder is not searched for libraries by default in some Linux distributions. Note that on some systems the installation path may be slightly different, such as /usr/local/lib/x86_64-linux-gnu or /usr/local/lib64.

Installation from source on Windows

These instructions are experimental and support is not provided for them. Typically, there should be no need to build manually since wheels are hosted on PyPI.

You need to have Visual Studio installed to build lensfunpy.

In a PowerShell window:

$env:USE_CONDA = '1'
$env:PYTHON_VERSION = '3.10'
$env:PYTHON_ARCH = 'x86_64'
$env:NUMPY_VERSION = '2.0.*'
git clone https://github.com/letmaik/lensfunpy
cd lensfunpy
.github/scripts/build-windows.ps1

The above will download all build dependencies (including a Python installation) and is fully configured through the four environment variables. Set USE_CONDA = '0' to build within an existing Python environment.

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

lensfunpy-1.17.0-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

lensfunpy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

lensfunpy-1.17.0-cp313-cp313-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

lensfunpy-1.17.0-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

lensfunpy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

lensfunpy-1.17.0-cp312-cp312-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

lensfunpy-1.17.0-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

lensfunpy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

lensfunpy-1.17.0-cp311-cp311-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

lensfunpy-1.17.0-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

lensfunpy-1.17.0-cp310-cp310-macosx_14_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

lensfunpy-1.17.0-cp310-cp310-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

lensfunpy-1.17.0-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

lensfunpy-1.17.0-cp39-cp39-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

File details

Details for the file lensfunpy-1.17.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: lensfunpy-1.17.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lensfunpy-1.17.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cef9bf5e0397b568741c66b9d1efaf925609cd8f578955a29384b89b0aa39dc3
MD5 7f0d7bba180f55a5cf5e6374025c7bdc
BLAKE2b-256 e3467ccd6623b9b1d4d80fd35efcf1b4964ebbcd1098835ac917dc98d0ba3791

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp313-cp313-win_amd64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3785d8f7f9e67df70fd06260bf862d37a933cdb704f80fe693dd2ca5426d5231
MD5 6677c08ea8d6eeb1d8b5907c0df71e78
BLAKE2b-256 04e7dba5300f4b13c95e88da3db3c8f45d1f81c8c069a9b114ff9b1b91a2c1cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 369874d2a529a1c4936ee9a407b34530186e76ef1f43549f63385558e80b725d
MD5 c3c2c7a2a60ba66917337b6c2940a2e8
BLAKE2b-256 6990ff336e88a095a84eeedce49e70a1c7bb6484eafd8f97533d866432020bb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4b98bb3b7c0aeca04b2d6e5fb333efdbfa4a966c0bd6055a8c9b35959e0c561c
MD5 2a1fd9a1d414c55aa84b240c25ef5508
BLAKE2b-256 8c69fd65ec94a52da7311a7c91c2f49ba376971ad3cef4181d4fd1e435d30fcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 aadcbf933b48a652f65437ab7f1501c6589647562d8185795508d5de603bea6b
MD5 89782f57f01cf1ca00c160e3e96f98ff
BLAKE2b-256 c20dc1d930cc6610e824b2364dcdfee2518ec4ad91b1d043cc4b93eed2c6f79c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lensfunpy-1.17.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lensfunpy-1.17.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a9a98f530c1d7294ade5e77ebcbb70e468b8f9bdfe240e6e0b544c57bcff8bc0
MD5 9c4613c8bb982e7149ac71a9d6d6582c
BLAKE2b-256 ac1ec382939a1c6c6273b8ae0730b43b207be79708922e47d6f88e27daa03fce

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp312-cp312-win_amd64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91bd7282b1faa0c7be9dfe63abd7cff25de8f7ee7b092824eb584de02b6eee63
MD5 0c6f1d7205339ba8eb46214da5925c9b
BLAKE2b-256 ea76c5466cabcd91496533f23b5ae3e58030e6577ddb56d0b1e86092bf5b20ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b533ecbe14688e73a37fb51920dcea06ad984f806e8bd5a639d4cba7925507e2
MD5 6383c2f02bd28344d5f8dd22d177db7b
BLAKE2b-256 e0af4bd70d5565251e97c24012788f1c7b5972674f472c928fcfcdd8a0f6e373

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 23a2b80aff4bec921fc25231d2bf1063d7842fdd36c47ddffe377358eb299f2f
MD5 5045d24f0491e7510f7a391bc6aa98d8
BLAKE2b-256 3cbe957f71cd05249b73bf4c405a10852c63a215ff5e26fbcccb2096df10bfbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 294d44afddcb9a1eac9d13ab59ae7ff6416e0eb3e688ed022286e1ce48dcf3ed
MD5 f143a89af7eebcdda3e26464afa38bfe
BLAKE2b-256 2fd40127a6baa3f6fca8da462942617b214d83ed30bf7b20f39b1c0d466d21c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: lensfunpy-1.17.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lensfunpy-1.17.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b0ea9ec20a21ba30d1803bd06716d801e88a43f3d6a02c0df9fbcc6d4b127b54
MD5 ed6e2758368a43966ecfb1883333d16a
BLAKE2b-256 c0778e8a604339bcf9c2cfe78a75bb6658f69687ea3ac669237ca552710b2fd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp311-cp311-win_amd64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 872ff9da949cc04579a006c65893eb337af4d97a28cbfa0e5fe679c33a7b5119
MD5 290a77e0787bd0d6d24f8ff9749eb59f
BLAKE2b-256 b1e5553b347912bfc28f13e0830ee5b9d73521e2a55c1b76398c373a37cc5421

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a5cef7ee4aa3477074b38c0fb8bda5df8bb06522173b2bb96cff6c33a06b9976
MD5 d636b92723d121ee18ab6b1788174d92
BLAKE2b-256 ef501899beaf013eac9813ea948661dad76d0a225e80e02bd35c09dfbc50bc02

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 91baa653519c1f7b8d8665c9f023f9696237d4557402ada170d6bfa54b0dc3d6
MD5 a3579a023b4e2e794ce1e8d82c49553c
BLAKE2b-256 863768f4068ff53733dec9584db09971e7d44dca3b218b4e8cd19f1a9085e561

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 675bcb2472214f6ad18f135a9b40097f7e10adbcd292ebae08e4fb429b35d970
MD5 15492d13969bc3ecd7fb0d70ac3e6804
BLAKE2b-256 60b2fc9850bfc0c3d05c2868fcb2508760d8a95a04bfac787f1deb4bb3e4ecc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: lensfunpy-1.17.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lensfunpy-1.17.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8e17958d4ab4eaa07a2517ffac9cdd0551817843d26e06828a098376c56dd9ed
MD5 3228188dabf734aa47b5852d98a7947c
BLAKE2b-256 2b2f59ded80034b0982d9916a693dbc17b1c260762f8a0b26578419d8b73b96b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp310-cp310-win_amd64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de02f279f8a8c0aa5af80547d33d883a2000d520f989aec372886c83200aba66
MD5 b1bf936a284b00705ef3201b819b8d1a
BLAKE2b-256 131d8665d441adba9f061ae304c25252f16721ec925eaa860c29e37e4f85e88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3a8e0a9d4f0bd1efa1e39ad8e0fc5de2cf2128ee7e9ca465d5b9923dd0357c75
MD5 554eb91088de8b9d610f6525c4e97512
BLAKE2b-256 2e9b96e27762ca009bc5d16e6800b4e202d888ae62f6030e99bb94234031f702

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 932982d588060b6b838efd3bd4fe308ce138399366af6569e16fa082a39dc865
MD5 d9a8911c38805ef331f1fdd0cda61c06
BLAKE2b-256 2fd78079d9eb25bee2409ae6f99360b3e90b844729e9f6296d234f025a86e3e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9c9b976af545ab164a069d6bbb6cf6d0413ae73c2347e0302fb62c9f4f54cc86
MD5 e99e1775ff7101e8dd406739a0adbd73
BLAKE2b-256 7fd3b5ade4fa914f0887690e586c9abb342eaee0cc91f81c13c1e58586fbc896

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: lensfunpy-1.17.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lensfunpy-1.17.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6aca73dddac940f47e9948caa0a30c3fcf48e435aeee58bad6e2b750ee7641db
MD5 c9dcd4f0452275959977309467c8cc55
BLAKE2b-256 f5bc4ee67a7c6cab0e98ce06abab91955eaa576f6859b38438ca4296301bc07b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp39-cp39-win_amd64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eafcfcb04a62ba9af2f4e80a815eb27f98d141ff5544dd55e253d862f1f0b432
MD5 3d141118c4ab44d2a69eb98e18395fb4
BLAKE2b-256 1a45097b7ac61bc3a21656d34ff3f044f925a4c36d14e12b649a701ac18d0136

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dbc49727364dc0cc067296fac9a8187ce7475139d172306790ae9710bda69a76
MD5 388fb42c18f4ef8d726662e053d459d5
BLAKE2b-256 cb748ce33e1d6f0dbc859f48ff7dffccf5e6a88f524f6771b75186a006e39f32

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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

File details

Details for the file lensfunpy-1.17.0-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for lensfunpy-1.17.0-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1bd75e34fe4b75e3b7ba0797921f0be2c118d7a1504cb862b4725b1cffa5efc7
MD5 c0bbd5ab5339c0bb108bc2bff967a9c0
BLAKE2b-256 060b580bbbfbe12616ee36383ad7b8b331e9673f4acdc161b3ed628760c9620d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lensfunpy-1.17.0-cp39-cp39-macosx_13_0_x86_64.whl:

Publisher: ci.yml on letmaik/lensfunpy

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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page