Skip to main content

An invigorating blend of 3D geometry tools in Python.

Project description

potpourri3d

A Python library of various algorithms and utilities for 3D triangle meshes, polygon meshes, and point clouds. Managed by Nicholas Sharp, with new tools added lazily as needed. Currently, mainly bindings to C++ tools from geometry-central.

pip install potpourri3d

The blend includes:

  • Mesh and point cloud reading/writing to a few file formats
  • Use heat methods to compute unsigned and signed distances, parallel transport, logarithmic maps, and more
  • Computing geodesic polylines along surface via edge flips
  • More!

Installation

Potpourri3d is on the pypi package index with precompiled binaries for most configuations. Get it like:

pip install potpourri3d

If none of the precompiled binaries match your system, pip will attempt to compile the library from scratch. This requires cmake and a workng C++ compiler toolchain.

Note: Some bound functions invoke sparse linear solvers internally. The precompiled binaries use Eigen's solvers; using Suitesparse's solvers instead may significantly improve performance & robustness. To get them, locally compile the package on a machine with Suitesparse installed using the command below (relevant docs).

python -m pip install potpourri3d --no-binary potpourri3d

Documentation

Input / Output

Read/write meshes and point clouds from some common formats.

  • read_mesh(filename) Reads a mesh from file. Returns numpy matrices V, F, a Nx3 real numpy array of vertices and a Mx3 integer numpy array of 0-based face indices (or Mx4 for a quad mesh, etc).

  • read_polygon_mesh(filename) Reads a mesh from file. Returns numpy matrices V, F, where V is a Nx3 real numpy array of vertices, and a polygons is a nested list of integers; each sub-list represents a polygon face with 0-based face indices.

    • filename the path to read the file from. Currently supports the same file types as geometry-central. The file type is inferred automatically from the path extension.
  • write_mesh(V, F, filename, UV_coords=None, UV_type=None) Write a mesh to file, optionally with UV coords.

    • V a Nx3 real numpy array of vertices
    • F a Mx3 integer numpy array of faces, with 0-based vertex indices (or Mx4 for a quad mesh, etc).
    • filename the path to write the file to. Currently supports the same file types as geometry-central. The file type is inferred automatically from the path extension.
    • UV_coords (optional) a Ux2 numpy array of UV coords, interpreted based on UV_type. Warning: this function does not currently preserve shared UV indices when writing, each written coordinate is independent
    • UV_type (optional) string, one of 'per-vertex', 'per-face', or 'per-corner'. The size of U should be N, M, or M*3/4, respectively
  • read_point_cloud(filename) Reads a point cloud from file. Returns numpy matrix V, a Nx3 real numpy array of vertices. Really, this just reads a mesh file and ignores the face entries.

    • filename the path to read the file from. Currently supports the same file types as geometry-central's mesh reader. The file type is inferred automatically from the path extension.
  • write_point_cloud(V, filename) Write a mesh to file. Really, this just writes a mesh file with no face entries.

    • V a Nx3 real numpy array of vertices
    • filename the path to write the file to. Currently supports the same file types as geometry-central's mesh writer. The file type is inferred automatically from the path extension.

Mesh basic utilities

  • face_areas(V, F) computes a length-F real numpy array of face areas for a triangular mesh
  • vertex_areas(V, F) computes a length-V real numpy array of vertex areas for a triangular mesh (equal to 1/3 the sum of the incident face areas)
  • cotan_laplacian(V, F, denom_eps=0.) computes the cotan-Laplace matrix as a VxV real sparse csr scipy matrix. Optionally, set denom_eps to a small value like 1e-6 to get some additional stability in the presence of degenerate faces.
  • edges(V, F) returns the Ex2 integer-valued matrix representing the edges of the given surface mesh, as constructed internally. The i-th row gives the indices of the i-th edge's two endpoint vertices.
  • Barycentric points are used as input and output to some algorithms below, specified as 2-tuples of the form (element_index, barycentric_coordinates):
    • Vertices are specified as (vertex_index, )
    • Edges are specified as (edge_index, [t]) where t ∈ [0,1] is the parameter along the edge
    • Faces are specified as (face_index, [tA, tB]) where tA, tB (and optionally, tC) are barycentric coordinates in the face. If tC is not specified, then tC is inferred to be 1 - tA - tB.
  • MarchingTrianglesSolver(V, F) construct an instance of a solver class for contouring scalar functions on triangle meshes using the marching triangles algorithm.
    • MarchingTrianglesSolver.marching_triangles(u, isoval=0.) takes as input a vector u representing a scalar function defined on mesh vertices, and an isovalue; returns a list of lists of barycentric points, where each sublist represents a single connected curve component.
    • marching_triangles(V, F, u, isoval=0.) is similar to the above, but one-off instead of stateful. Returns a list of lists of barycentric points.

Mesh Distance

Use the heat method for geodesic distance to compute geodesic distance on surfaces. Repeated solves are fast after initial setup. Uses intrinsic triangulations internally for increased robustness.

import potpourri3d as pp3d

# = Stateful solves (much faster if computing distance many times)
solver = pp3d.MeshHeatMethodDistanceSolver(V,F)
dist = solver.compute_distance(7)
dist = solver.compute_distance_multisource([1,2,3])  

# = One-off versions
dist = pp3d.compute_distance(V,F,7)
dist = pp3d.compute_distance_multisource(V,F,[1,3,4])

The heat method works by solving a sequence of linear PDEs on the surface of your shape. On extremely coarse meshes, it may yield inaccurate results, if you observe this, consider using a finer mesh to improve accuracy. (TODO: do this internally with intrinsic Delaunay refinement.)

  • MeshHeatMethodDistanceSolver(V, F, t_coef=1., use_robust=True) construct an instance of the solver class.
    • V a Nx3 real numpy array of vertices
    • F a Mx3 integer numpy array of faces, with 0-based vertex indices (triangle meshes only, but need not be manifold).
    • t_coef set the time used for short-time heat flow. Generally don't change this. If necessary, larger values may make the solution more stable at the cost of smoothing it out.
    • use_robust use intrinsic triangulations for increased robustness. Generaly leave this enabled.
  • MeshHeatMethodDistanceSolver.compute_distance(v_ind) compute distance from a single vertex, given by zero-based index. Returns an array of distances.
  • MeshHeatMethodDistanceSolver.compute_distance_multisource(v_ind_list) compute distance from the nearest of a collection of vertices, given by a list of zero-based indices. Returns an array of distances.
  • compute_distance(V, F, v_ind) Similar to above, but one-off instead of stateful. Returns an array of distances.
  • compute_distance_multisource(V, F, v_ind_list) Similar to above, but one-off instead of stateful. Returns an array of distances.

Mesh Signed Distance

Use the signed heat method to compute signed distance on meshes, robust to holes and noise. Repeated solves are fast after initial setup.

import potpourri3d as pp3d

V, F = # your mesh
solver = pp3d.MeshSignedHeatSolver(V, F)

# Specify a curve as a sequence of barycentric points
curves = [
           [
             (61, [0.3, 0.3]), # face
             (7, []), # vertex
             (16, [0.3, 0.3, 0.4]), # face
             (11, [0.4]), # edge
             (71, []), # vertex
             (20, [0.3, 0.3, 0.4]), # face
             (13, []), # vertex
             (58, []) # vertex
             ]
         ]

# Compute a distance field combining signed distance to curve sources, and unsigned distance to point sources.
dist = solver.compute_distance(curves, [], points) 
  • MeshSignedHeatSolver.compute_distance(curves, is_signed, points, preserve_source_normals=False, level_set_constraint="ZeroSet", soft_level_set_weight=-1)
    • curves a list of lists of source points; each point is specified via barycentric coordinates.
    • is_signed a list of bools, one for each curve in curves, indicating whether one should compute signed distance (True) or unsigned distance (False) to a curve. All True by default.
    • points a list of source vertex indices
    • preserve_source_normals whether to additionally constrain the normals of the curve. Generally not necessary.
    • level_set_constraint whether to apply level set constraints, with options "ZeroSet", "None", "Multiple". Generally set to "ZeroSet" (set by default).
    • soft_level_set_weight float; if positive, gives the weight with which the given level set constraint is "softly" enforced (negative by default). Generally not necessary.

Mesh Fast Marching Distance

import potpourri3d as pp3d

V, F = # your mesh
solver = pp3d.MeshFastMarchingDistanceSolver(V, F)

# Specify each curve as a sequence of barycentric points
curves = [
           [
             (61, [0.3, 0.3]), # face
             (7, []), # vertex
             (16, [0.3, 0.3, 0.4]), # face
             (11, [0.4]), # edge
             (71, []), # vertex
             (20, [0.3, 0.3, 0.4]), # face
             (13, []), # vertex
             (58, []) # vertex
             ]
         ]

# Compute a signed distance field to a set of closed curves.
signed_dist = solver.compute_distance(curves, sign=True) 

# Compute unsigned to a set of points.
points = [
          [
            (71, []), # vertex
            (18, [0.5]) # edge
          ]
         ]
unsigned_dist = solver.compute_distance(points, sign=False) 
  • MeshFastMarchingDistanceSolver.compute_distance(curves, distances=[], sign=False)
    • curves a list of lists of source points; each point is specified via barycentric coordinates.
    • distances a list of lists of initial distances. Default initial distances are 0.
    • sign if False, compute unsigned distance; if True, compute signed distance. (When initial distances are not 0, "signed" means that the gradient of distance is continuous across the source curves.)

Mesh Vector Heat

Use the vector heat method and affine heat method to compute various interpolation & vector-based quantities on meshes. Repeated solves are fast after initial setup.

import potpourri3d as pp3d

# = Stateful solves
V, F = # a Nx3 numpy array of points and Mx3 array of triangle face indices
solver = pp3d.MeshVectorHeatSolver(V,F)

# Extend the value `0.` from vertex 12 and `1.` from vertex 17. Any vertex 
# geodesically closer to 12. will take the value 0., and vice versa 
# (plus some slight smoothing)
ext = solver.extend_scalar([12, 17], [0.,1.])

# Get the tangent frames which are used by the solver to define tangent data
# at each vertex
basisX, basisY, basisN = solver.get_tangent_frames()

# Parallel transport a vector along the surface
# (and map it to a vector in 3D)
sourceV = 22
ext = solver.transport_tangent_vector(sourceV, [6., 6.])
ext3D = ext[:,0,np.newaxis] * basisX +  ext[:,1,np.newaxis] * basisY

# Compute the logarithmic map
logmap = solver.compute_log_map(sourceV)
  • MeshVectorHeatSolver(V, F, t_coef=1., useIntrinsicDelaunay=True) construct an instance of the solver class.
    • V a Nx3 real numpy array of vertices
    • F a Mx3 integer numpy array of faces, with 0-based vertex indices (triangle meshes only, should be manifold).
    • t_coef set the time used for short-time heat flow. Generally don't change this. If necessary, larger values may make the solution more stable at the cost of smoothing it out.
    • useIntrinsicDelaunay if true, an intrinsic triangulation is used internally to improve robustness
  • MeshVectorHeatSolver.extend_scalar(v_inds, values) nearest-geodesic-neighbor interpolate values defined at vertices. Vertices will take the value from the closest source vertex (plus some slight smoothing)
    • v_inds a list of source vertices
    • values a list of scalar values, one for each source vertex
  • MeshVectorHeatSolver.get_tangent_frames() get the coordinate frames used to define tangent data at each vertex. Returned as a tuple of basis-X, basis-Y, and normal axes, each as an Nx3 array. May be necessary for change-of-basis into or out of tangent vector convention.
  • MeshVectorHeatSolver.get_connection_laplacian() get the connection Laplacian used internally in the vector heat method, as a VxV sparse matrix.
  • MeshVectorHeatSolver.transport_tangent_vector(v_ind, vector) parallel transports a single vector across a surface
    • v_ind index of the source vertex
    • vector a 2D tangent vector to transport
  • MeshVectorHeatSolver.transport_tangent_vectors(v_inds, vectors) parallel transports a collection of vectors across a surface, such that each vertex takes the vector from its nearest-geodesic-neighbor.
    • v_inds a list of source vertices
    • vectors a list of 2D tangent vectors, one for each source vertex
  • MeshVectorHeatSolver.compute_log_map(v_ind, strategy='AffineLocal') compute the logarithmic map centered at the given source vertex
    • v_ind index of the source vertex
    • strategy one of 'VectorHeat','AffineLocal', 'AffineAdaptive', see here for an explanation

Mesh Geodesic Paths

Use edge flips to compute geodesic paths on surfaces. These methods take an initial path, loop, or start & end points along the surface, and straighten the path out to be geodesic.

This approach is mainly useful when you want the path itself, rather than the distance. These routines use an iterative strategy which is quite fast, but note that it is not guaranteed to generate a globally-shortest geodesic (they sometimes find some other very short geodesic instead if straightening falls into different local minimum).

import potpourri3d as pp3d

V, F = # your mesh
path_solver = pp3d.EdgeFlipGeodesicSolver(V,F) # shares precomputation for repeated solves
path_pts = path_solver.find_geodesic_path(v_start=14, v_end=22)
# path_pts is a Vx3 numpy array of points forming the path
  • EdgeFlipGeodesicSolver(V, F) construct an instance of the solver class.
    • V a Nx3 real numpy array of vertices
    • F a Mx3 integer numpy array of faces, with 0-based vertex indices (must form a manifold, oriented triangle mesh).
  • EdgeFlipGeodesicSolver.find_geodesic_path(v_start, v_end, max_iterations=None, max_relative_length_decrease=None) compute a geodesic from v_start to v_end. Output is an Nx3 numpy array of positions which define the path as a polyline along the surface.
  • EdgeFlipGeodesicSolver.find_geodesic_path_poly(v_list, max_iterations=None, max_relative_length_decrease=None) like find_geodesic_path(), but takes as input a list of vertices [v_start, v_a, v_b, ..., v_end], which is shorted to find a path from v_start to v_end. Useful for finding geodesics which are not shortest paths. The input vertices do not need to be connected; the routine internally constructs a piecwise-Dijkstra path between them. However, that path must not cross itself.
  • EdgeFlipGeodesicSolver.find_geodesic_loop(v_list, max_iterations=None, max_relative_length_decrease=None) like find_geodesic_path_poly(), but connects the first to last point to find a closed geodesic loop.

In the functions above, the optional argument max_iterations is an integer, giving the the maximum number of shortening iterations to perform (default: no limit). The optional argument max_relative_length_decrease is a float limiting the maximum decrease in length for the path, e.g. 0.5 would mean the resulting path is at least 0.5 * L length, where L is the initial length.

Mesh Geodesic Tracing

Given an initial point and direction/length, these routines trace out a geodesic path along the surface of the mesh and return it as a polyline.

import potpourri3d as pp3d

V, F = # your mesh
tracer = pp3d.GeodesicTracer(V,F) # shares precomputation for repeated traces

trace_pts = tracer.trace_geodesic_from_vertex(22, np.array((0.3, 0.5, 0.4)))
# trace_pts is a Vx3 numpy array of points forming the path
  • GeodesicTracer(V, F) construct an instance of the tracer class.
    • V a Nx3 real numpy array of vertices
    • F a Mx3 integer numpy array of faces, with 0-based vertex indices (must form a manifold, oriented triangle mesh).
  • GeodesicTracer.trace_geodesic_from_vertex(start_vert, direction_xyz, max_iterations=None) trace a geodesic from start_vert. direction_xyz is a length-3 vector giving the direction to walk trace in 3D xyz coordinates, it will be projected onto the tangent space of the vertex. The magnitude of direction_xyz determines the distance walked. Output is an Nx3 numpy array of positions which define the path as a polyline along the surface.
  • GeodesicTracer.trace_geodesic_from_face(start_face, bary_coords, direction_xyz, max_iterations=None) similar to above, but from a point in a face. bary_coords is a length-3 vector of barycentric coordinates giving the location within the face to start from.

Set max_iterations to terminate early after tracing the path through some number of faces/edges (default: no limit).

Polygon Mesh Distance & Transport

Use the heat method for unsigned geodesic distance, the signed heat method to compute signed distance, and the vector heat method to compute various interpolation & vector-based quantities on general polygon meshes (including mixed-degree meshes, such as tri-quad meshes). Repeated solves are fast after initial setup.

import potpourri3d as pp3d

V, polygons = # your polygon mesh
solver = pp3d.PolygonMeshHeatSolver(V, F)

# Compute unsigned geodesic distance to vertices 12 and 17
dist = solver.compute_distance([12, 17])

# Extend the value `0.` from vertex 12 and `1.` from vertex 17. Any vertex 
# geodesically closer to 12. will take the value 0., and vice versa 
# (plus some slight smoothing)
ext = solver.extend_scalar([12, 17], [0.,1.])

# Get the tangent frames which are used by the solver to define tangent data
# at each vertex
basisX, basisY, basisN = solver.get_tangent_frames()

# Parallel transport a vector along the surface
# (and map it to a vector in 3D)
sourceV = 22
ext = solver.transport_tangent_vector(sourceV, [6., 6.])
ext3D = ext[:,0,np.newaxis] * basisX +  ext[:,1,np.newaxis] * basisY

# Compute signed distance to the oriented curve(s) denoted by a vertex sequence.
curves = [
           [9, 10, 12, 13, 51, 48], 
           [79, 93, 12, 30, 78, 18, 92], 
           [90, 84, 19, 91, 82, 81, 83]
         ]
signed_dist = solver.compute_signed_distance(curves)
  • PolygonMeshHeatSolver(V, polygons, t_coef=1.) construct an instance of the solver class.
    • V a Nx3 real numpy array of vertices
    • polygons a list of lists; each sub-list represents a polygon face with 0-based face indices (integers).
    • t_coef set the time used for short-time heat flow. Generally don't change this. If necessary, larger values may make the solution more stable at the cost of smoothing it out.
  • PolygonMeshHeatSolver.extend_scalar(v_inds, values) nearest-geodesic-neighbor interpolate values defined at vertices. Vertices will take the value from the closest source vertex (plus some slight smoothing)
    • v_inds a list of source vertices
    • values a list of scalar values, one for each source vertex
  • PolygonMeshHeatSolver.get_tangent_frames() get the coordinate frames used to define tangent data at each vertex. Returned as a tuple of basis-X, basis-Y, and normal axes, each as an Nx3 array. May be necessary for change-of-basis into or out of tangent vector convention.
  • PolygonMeshHeatSolver.transport_tangent_vectors(v_inds, vectors) parallel transports a collection of vectors across a surface, such that each vertex takes the vector from its nearest-geodesic-neighbor.
    • v_inds a list of source vertices
    • vectors a list of 2D tangent vectors, one for each source vertex
  • PolygonMeshHeatSolver.compute_distance(v_inds)
    • v_inds a list of source vertices
  • PolygonMeshHeatSolver.compute_signed_distance(curves, level_set_constraint="ZeroSet")
    • curves a list of lists of source vertices
    • level_set_constraint whether to apply level set constraints, with options "ZeroSet", "None", "Multiple". Generally set to "ZeroSet" (set by default).

Point Cloud Distance & Vector Heat

Use the heat method for unsigned geodesic distance, the signed heat method to compute signed distance, and the vector heat method to compute various interpolation & vector-based quantities on point clouds. Repeated solves are fast after initial setup.

point cloud vector heat examples

import potpourri3d as pp3d

# = Stateful solves
P = # a Nx3 numpy array of points
solver = pp3d.PointCloudHeatSolver(P)

# Compute the geodesic distance to point 4
dists = solver.compute_distance(4)

# Extend the value `0.` from point 12 and `1.` from point 17. Any point 
# geodesically closer to 12. will take the value 0., and vice versa 
# (plus some slight smoothing)
ext = solver.extend_scalar([12, 17], [0.,1.])

# Get the tangent frames which are used by the solver to define tangent data
# at each point
basisX, basisY, basisN = solver.get_tangent_frames()

# Parallel transport a vector along the surface
# (and map it to a vector in 3D)
sourceP = 22
ext = solver.transport_tangent_vector(sourceP, [6., 6.])
ext3D = ext[:,0,np.newaxis] * basisX +  ext[:,1,np.newaxis] * basisY

# Compute the logarithmic map
logmap = solver.compute_log_map(sourceP)

# Signed distance to the oriented curve(s) denoted by a point sequence.
curves = [
           [9, 10, 12, 13, 51, 48], 
           [79, 93, 12, 30, 78, 18, 92], 
           [90, 84, 19, 91, 82, 81, 83]
         ]
signed_dist = solver.compute_signed_distance(curves, basisN)
  • PointCloudHeatSolver(P, t_coef=1.) construct an instance of the solver class.
    • P a Nx3 real numpy array of points
    • t_coef set the time used for short-time heat flow. Generally don't change this. If necessary, larger values may make the solution more stable at the cost of smoothing it out.
  • PointCloudHeatSolver.extend_scalar(p_inds, values) nearest-geodesic-neighbor interpolate values defined at points. Points will take the value from the closest source point (plus some slight smoothing)
    • v_inds a list of source points
    • values a list of scalar values, one for each source points
  • PointCloudHeatSolver.get_tangent_frames() get the coordinate frames used to define tangent data at each point. Returned as a tuple of basis-X, basis-Y, and normal axes, each as an Nx3 array. May be necessary for change-of-basis into or out of tangent vector convention.
  • PointCloudHeatSolver.transport_tangent_vector(p_ind, vector) parallel transports a single vector across a surface
    • p_ind index of the source point
    • vector a 2D tangent vector to transport
  • PointCloudHeatSolver.transport_tangent_vectors(p_inds, vectors) parallel transports a collection of vectors across a surface, such that each vertex takes the vector from its nearest-geodesic-neighbor.
    • p_inds a list of source points
    • vectors a list of 2D tangent vectors, one for each source point
  • PointCloudHeatSolver.compute_log_map(p_ind) compute the logarithmic map centered at the given source point
    • p_ind index of the source point
  • PointCloudHeatSolver.compute_signed_distance(curves, cloud_normals, preserve_source_normals=False, level_set_constraint="ZeroSet", soft_level_set_weight=-1)
    • curves a list of lists of source point indices
    • cloud_normals a list of 3D normal vectors, one for each point in the point cloud
    • preserve_source_normals whether to additionally constrain the normals of the curve. Generally not necessary.
    • level_set_constraint whether to apply level set constraints, with options "ZeroSet", "None", "Multiple". Generally set to "ZeroSet" (set by default).
    • soft_level_set_weight float; if positive, gives the weight with which the given level set constraint is "softly" enforced (negative by default). Generally not necessary.

Other Point Cloud Routines

Local Triangulation

Construct a local triangulation of a point cloud, a surface-like set of triangles amongst the points in the cloud. This is not a nice connected/watertight mesh, instead it is a crazy soup, which is a union of sets of triangles computed independently around each point. These triangles are suitable for running many geometric algorithms on, such as approximating surface properties of the point cloud, evaluating physical and geometric energies, or building Laplace matrices. See "A Laplacian for Nonmanifold Triangle Meshes", Sharp & Crane 2020, Sec 5.7 for details.

  • PointCloudLocalTriangulation(P, with_degeneracy_heuristic=True)
    • PointCloudLocalTriangulation.get_local_triangulation() returns a [V,M,3] integer numpy array, holding indices of vertices which form the triangulation. Each [i,:,:] holds the local triangles about vertex i. M is the max number of neighbors in any local triangulation. For vertices with fewer neighbors, the trailing rows hold -1.

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

potpourri3d-1.4.0.tar.gz (30.6 MB view details)

Uploaded Source

Built Distributions

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

potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

potpourri3d-1.4.0-cp314-cp314t-win32.whl (4.6 MB view details)

Uploaded CPython 3.14tWindows x86

potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

potpourri3d-1.4.0-cp314-cp314-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.14Windows x86-64

potpourri3d-1.4.0-cp314-cp314-win32.whl (4.5 MB view details)

Uploaded CPython 3.14Windows x86

potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

potpourri3d-1.4.0-cp313-cp313-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.13Windows x86-64

potpourri3d-1.4.0-cp313-cp313-win32.whl (4.5 MB view details)

Uploaded CPython 3.13Windows x86

potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

potpourri3d-1.4.0-cp312-cp312-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.12Windows x86-64

potpourri3d-1.4.0-cp312-cp312-win32.whl (4.5 MB view details)

Uploaded CPython 3.12Windows x86

potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

potpourri3d-1.4.0-cp311-cp311-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.11Windows x86-64

potpourri3d-1.4.0-cp311-cp311-win32.whl (4.5 MB view details)

Uploaded CPython 3.11Windows x86

potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

potpourri3d-1.4.0-cp310-cp310-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.10Windows x86-64

potpourri3d-1.4.0-cp310-cp310-win32.whl (4.5 MB view details)

Uploaded CPython 3.10Windows x86

potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

potpourri3d-1.4.0-cp39-cp39-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.9Windows x86-64

potpourri3d-1.4.0-cp39-cp39-win32.whl (4.5 MB view details)

Uploaded CPython 3.9Windows x86

potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file potpourri3d-1.4.0.tar.gz.

File metadata

  • Download URL: potpourri3d-1.4.0.tar.gz
  • Upload date:
  • Size: 30.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0.tar.gz
Algorithm Hash digest
SHA256 83c31ac4ee69b90cc0f3af1139f91ec952077defcc9166056cc4434712679292
MD5 684f8a077e96748a8a2d686e767557d8
BLAKE2b-256 62ab1385878462411b548a909b66f8e925dbefa6faab1ca704dd43a098905ed3

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0.tar.gz:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 792bbbd67af0d251345bb94ed436946e6344fb45db508e54034061060dcf628b
MD5 3c568a7e7c00c1070e59a439ad857c48
BLAKE2b-256 8457b6f8f5aba4d2bd80588a094f65bd5f1ec7542d1ffd81fb6f9587cff9aa57

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 aaa02ed42a4295e9e32bdc1a043203b629337603111b9916c63e072405bc4d3b
MD5 3b718d5d16ed91aaa6f6d810b239bab1
BLAKE2b-256 ed1ee895305f05d87129ce0ee3f6124f58d64270d59a4f42115a3045a47f2fe8

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 51c18c6faf7587119eb589d10395b7d4132ceb0ca3ded7d0b27d3df4251e5268
MD5 e7d14aa11fc5364f728fc2b2f90b0adf
BLAKE2b-256 09a68c379d3e47f68462d16dc4112378855f3324ab962eed9a907ad10de8b630

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 48394a731d87cab21b007146cf14df9ee1fa050185eeaf04246586f58c7526c7
MD5 140db641e0aa09536b6c97ddc6fc5268
BLAKE2b-256 9c04669769db8de168c94b5a0b7a3b6d209c88768df4d01e885fbfc4d656e191

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5244afc1f66191c0048d4822586de007c8acb2616caf1bf71e488188a794024b
MD5 5b1ea070e3610d646834cfb016b0c831
BLAKE2b-256 35bb78b6c615dc6655365077e43cd30673f28dbc064bc4c32437b545a03fbed8

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 493b0566e19e51a16c20189a6643d55525b7da85a3a02104e3a1860ebe539b4e
MD5 0131f0a2025ee0a45cfefdfdd6943bb9
BLAKE2b-256 c0294ca84d40842ec1eb2a03944628cc66fb010b5f1fdc8a702377773e39062e

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 040202b00acaddc474dbfbed04a7786f3366f2c94233ae31dc80381e8b23cebd
MD5 2a28a6e05e4f7552f80c64ed906e9d8f
BLAKE2b-256 e761f3da1db6e2a502a5577fb8cb14d32bea02d0a0ebd441a3094550b0f7c866

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 37c416d5b903ebf9fe41c7a8b19e1051bf244faabfffeeee5e78b094e3e86ce3
MD5 de5f827734830bfbac62446c2a35b0c5
BLAKE2b-256 1d388c0b9233887c4b8fdd8b5a88ece711f95250532dfffe70819957c7017cea

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 175ac38372d857f88b64f211834de9eb19b7c7258823c82568473dd0c7e7119d
MD5 543671e668e05af7042beb90456c8542
BLAKE2b-256 4b127fa0b11826304bc14edd84adf4ca7d62b8225b20d0d69e53c39b37c24e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 eaf9feb59feac3d79f4ba78a97e64d10f1975fd9267cda29ae4ca5e6526208e9
MD5 3606c56c17e59229ce11ed6202e7c43f
BLAKE2b-256 a1219b379ad0fa86e9fbe4c208fcd228ed01770df3b4825e942e3d56500bd476

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0c466061ac34d9b6dd1e6b26290b99a26c18d4a76b1803e34ecf7146301522e1
MD5 9cc5f5e678f5e82f0f237c6e7c84b841
BLAKE2b-256 6f7748b406d37d0b6810fb06903305b3f77c5983b85076173cb1b868b1ed7e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d6391ee9fe405e60322599df567930e8062e1a861667642f19060e1baf63586e
MD5 3e45b02c5a9374acce5c8a43db3278bc
BLAKE2b-256 1b991959528d4a48a7773adaad9e2d7557ec1c737d3ec1c276eed60406ea2e8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79805619ca9aaf0c2faa999b6fab9809a8ec50488bd02b38d8855563d9714171
MD5 aa362288acf9a666cd6585ab67ced353
BLAKE2b-256 551bb99e7c3b1289a39c9f9e8c6d659fa2ebadd5935153b6c612f64af231967d

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0844aac607ac9d17b1a949392a67b0901524d01af330d201428a42e2c48ee022
MD5 07efc4baa244d2076627f55d8988b685
BLAKE2b-256 2bb9e3cdce27d3dfc43e146bd2ac984749e8ed2c41180ebb01218ee78010a599

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44aab06ca9dc0a7c40204351ee130d00d89c200e52946caf58e32a3f517c7abd
MD5 a41b43969b027b4f550c08798e992b21
BLAKE2b-256 6babeece1e1847af56541d991ea9afa9d56a080247756bbb0e638d6f342c3b31

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a812d6dac19b6759ecec86f9f50d8fb81f9235d9ab481519e0fa681cd1715c0a
MD5 f0af00b0681ac9916386de99fc7efa77
BLAKE2b-256 d275e482ad0cc361c6ba4cca005558ca6cc231bcfbb72127b46f090ed368773c

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a17ade63286b3a54f11458c504f48e97059af1a6c128afae88c87a0fa3de2d7e
MD5 26b408fd83fac93cd66e3078321501c9
BLAKE2b-256 ab6e3ca6cf54f907e2b9a73efa35b29f5fb5fbc5963f958fff8642b6413cd10c

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 99ffee489c34d77af103e895241d2a34a4fc36c03fabe7462256885b71ff29fb
MD5 b06218e222ad79f9bb8f1e542b61bbea
BLAKE2b-256 fb5698bc09f6aa3cc2637046b09f3a9f92bc0f4f89a6b60786f05959e71a8783

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a245ff2212768a8764799078664ebf2f7e5f80c7b384650d2af2996d3fabb1e2
MD5 6f4af0ff8936215e628e0b02322ae1cc
BLAKE2b-256 0deccf8cd2b32a4bf030852a4b534192233500bf31860041f64be26e39997db1

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 25defb1c9d205852e061c260999f35e8d86f9fc99022cf8d86070515685cb0e0
MD5 57e7ec9c233fa1b0c92a0d04149b8819
BLAKE2b-256 5d6150d601a2e7c4c9e768f2617dfbe54c6d320c3e5f9cf91fa0f5799e15abd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c09d55f65f92010ce8d745bbba7d18c034d539afb209de6f8e129f2c40424978
MD5 906ab5a4134aaf27cd07d4816810f7c3
BLAKE2b-256 28fb12afb909150af89dd199c9360fa759701cf97a682cb84c7c60a9fb7d8cf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c24c4203a475a255d0731f8b45f530a49d9c577e865479ef4c55dbcb44f7ee4
MD5 719c7bc480187b8890e101247b926c7b
BLAKE2b-256 c16021a94518a95686bee922c5113d230be653238e9ee6985ef0eba9b251ccd9

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c575f50fe3b146ac4954ce7dd5793a8f28acb94561dfca62952092a982ba5949
MD5 53803f3613734e3fef2a5b1162ffed37
BLAKE2b-256 639062691ec8ac8ba32eafd1e003170a68bb4bb436d96a14e1cea287e4a80c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 84a2996dd78de8e9a58a572e8649fcc1b1d068989c987b721d8ce20657db5f2e
MD5 15beddcdfc085d5f824636ff6b63150e
BLAKE2b-256 58e6b5299cc75fc5335b1e2cb61943bdb5bdb322be86b4703f967495ce0fa052

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 771c1795f2542c92789fadbd699d23d470948997cf3202846ec8a55d9a44f7a5
MD5 1b8ed17131a251e4f3af778d5470e58f
BLAKE2b-256 01a919d538c2d58b5834086e28b9f1962fbdb9412998d1c7ff51ad9b45ccf7b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 664334a2ad80db717adb338f766ea2cbbf1ae8933b34402edc94d74a7c41b1b5
MD5 b051df217c3f8c16417b6ac4d3fead3c
BLAKE2b-256 7bf1e207cebd6ceb6cfdeee811076a6b9eeea4d10cb29025e79375196ad64982

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 948bc691012d689871056dffed52c18b100654eac3fada092c37cf457278c0f9
MD5 ac83c2d7cfd597a3a75bafd636c318cd
BLAKE2b-256 60d06d896897cd8a64949c8511ef37eedc9e593e1c339a6466a330619fd43c6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15120a5b948a23b67613658db9dcbdaef71ce002c6b82dddfea313f0bef71180
MD5 af22f654b89bfab1e5b9b27f22ff09de
BLAKE2b-256 cb64b7ac23e7a3c194df9e9eff3792fceaf9b289e2d9dfbcc691c631f25b3505

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33310bd58527ff1e19d975d9ba53150b258a3886f32b4ab7fb250188acaba175
MD5 f8615c7cb4af462b6a04e1cc93255bf3
BLAKE2b-256 2c585500f7e6a5ec66b8df50d84cf908041c8fa0344b15a1ad705e2e56c8b8fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e84d78a1758a821b42fdf54304d1d14aa2609579600c1b26a03134dbc367a4bb
MD5 fda669a28a17960670c67e0d6ff33796
BLAKE2b-256 10fe46ff1b577bdb1c3b536c406256a155e5f628b5caee1f99669dd54b1ebcd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f401f0da41b075a5206af276c3c24fe03114b142aaea8608be08ecfecd806dfc
MD5 d347aabeec1504d0b371e777679d3c22
BLAKE2b-256 35b3f53e111fa7fb194fe928d4dbdae97f67c301282863ca3e3fda93609e3c40

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a448a72232ca43ffc392fd13408ad4f77a69b6c43578f82a4b3cef7bd012516d
MD5 1debce041f902ae33294a106df80fe12
BLAKE2b-256 382e487d59d1be46ea9724534325c96ef172ed16aff610ace62d427758084404

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 807c963db5ba38867c095e4711eeef80272f328241b4ffe6a790cf22c13e6445
MD5 27737858bab47809d2c2fa3da1903b67
BLAKE2b-256 4a749cf3ee61cc39476bc6d7be0c7891434460ccca78d410ab9f03ae7217ffd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ed3ea1351a5a2daf3dc000edb3e02b66c8a040c9e1fe20eddb4ce6f98e252be2
MD5 3874dcbc42c474e58d96afa4c51c6626
BLAKE2b-256 64ab652e30714dde0ccf60ceb472b79a4a30a2d3f473badcfd1fb5595e645faf

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b1a1a849b247cdffbbed134c26ec0f9ced429a5d722bcd6c67402ee603b633e4
MD5 513c7817c5ddce33fc920c87de2cf7d4
BLAKE2b-256 ab8b191e897c9ecb050d0a15f5980ecc9bd69e91a784e0c654cbc909e11147f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9d7ca029ce37ea794f768a68631977b0c9c86ec1bde978a33b32abe362cf7eb2
MD5 4a6e191122567caa52fffc800dfa0727
BLAKE2b-256 8e0c86a764c174cfdeeebe88fa1535124dc7801fbdc91c2a24a9819b45be5dcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc607d506c7f263567ff202e45403042035f3ef8ddcc0896beda607ae88db48d
MD5 cda874dd77a082fb9a1486ff79e09845
BLAKE2b-256 de5a5fccf69e1e8ab577d2386b187d038fc7d9688c29281e0d6b6ed753305fbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 27212912af65ffda9269605de2a94e375289035c754e97ee4ae5e190dc035991
MD5 54c75d97b6c2ba1be5cc18428fa03b0e
BLAKE2b-256 3dd5ef959678eeddc2e910f60f4586949b04c87f52537ba253fd0fb9b10ad99c

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 170d13ce72c51c22b7406dfb81335fd9e51b99597896024077f1a4d1a2b39c46
MD5 0d9bb366fbd4fff04ab187f9995fbcf9
BLAKE2b-256 4766e1df34035138f8cf009552974e599aa1e13a361d8f10d867db3e9f120d59

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 55b090b98a92ebbb31f2efc5ec5f3e74ed52378aa6871423a9f5e539b700e7c2
MD5 d22a905c1740ab676c855775a1f03a8c
BLAKE2b-256 0bbef550d69d919a54de0a42cb8ea80bbc1be4f3c259770abe635cfe485be8b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4b2356672cceab2efa33c2f79fc3e707d72a3e570a3cddf4c079eb09a670e4bd
MD5 5ef65289bcacc6a4c0244cdd59edac44
BLAKE2b-256 6ac369827d1bd6c642b0c028ff478798056deda2d20486103a755b7efd4259bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 95ab7cc590e7785b46590f64c7441dab0acb0ad519ff67db6acb56125a824aa4
MD5 ed53d4afb64fab142addb1d325652547
BLAKE2b-256 edd2717a960acb7d11193d8f6a85640afb55370f17f8a47208ff4742fe1be455

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ae4e384215e26b716437f4fc14fab429d79ee3d12e984d8d38f7275fa7b315e
MD5 29354b9a02ddf2023923586e745aad37
BLAKE2b-256 4a309fc311f19fc196e31f98d82ab13c21b5bf286389d038cbfcb69ecc4ed919

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c6a7197f9c78780804f1b4abdfe26dc95ee1a374bffe3d3836698aaa8738f999
MD5 b9b3c4c4748f15bc7812849b043817f5
BLAKE2b-256 dd722686c888be2ebe82c167faeb2b96b5e25b6671df281d9078822d75423c33

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ad10714ed99a76800c869124cd4b7da30253f7e1344de139f1d9bc68fde35d6
MD5 7c99dce99c150b65e9f2c6f553f9fee1
BLAKE2b-256 21de355c9a42060ed0735f4cda067a32be3e233b3e391c95c27ced695174d878

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 52614655f17d198ac2f4dd4819451079b8e6d081570a8064f610d9c203538a2d
MD5 b17e98d7f7923ed25cc0168890ea645e
BLAKE2b-256 5f00d7f3444f4edacca8ae2682d2714b4ee8cc1158f38cb1f1733aa06666cdbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86edcdbd8b8d189fe5b2e90571a5d0433d8784e484ccac6717d1964064acfd5f
MD5 c189ba1a4cc3af859b5c46c9ec341a32
BLAKE2b-256 5472c96a8bb9ffd9b89721afa7840180b8eb89008d9b6bd0d9880b6dea3c3d3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 936cf74f549c544fd6ed2a36cae0afcf694f5394a62c21263f457073bf68a006
MD5 4252b59b556b2c4f46788c2a3e2b0f99
BLAKE2b-256 0ef883a08f006af30c5810844c1c5123d5f14e914431ad5dc0142e294e8bf09a

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 6.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1a898dd312caf4fbbe3aca0873d985062a6bb1a07c3f0f90a664311c9076b93c
MD5 f47f8625f2c2ade6992b1957d88f9fa5
BLAKE2b-256 d3e6ecdda3d30f50cc3a2614f2d1e6b3518e54308f3f76dc5f4ab53ff1feb6b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: potpourri3d-1.4.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 85e026100d58dd100ef7e31ee7cac075cbd3a86744b3be98935fcdd7fea6080b
MD5 53874fbcd1e5df5612f158faf2826d7b
BLAKE2b-256 6bf21c02ec0c663750ff2979ad2b0ee15a27f8cd25a1318ad95c078db87d1f52

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-win32.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 931eb02f74cf13f54650c9d469c6de8b903fcf87c268571eeffa2f48edc517cd
MD5 18d1a2c787b1d828c6679521a7a97463
BLAKE2b-256 8d52f6f210daf45dfc13da66ca0859e254b545f4317463c5c2670f99557cf737

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8d308701d6fd5ffba0b0cecb54cff182bd74f1a7068f59f5cf56b2cdbe32164e
MD5 ba5b42fde61eb0406a0c928c2b7b2226
BLAKE2b-256 58b71a867029fda36b112a577f57a7d5c396e8e5307b41bb604295439f212f61

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50dd9e3ff845901374304b2cc3ee875e77310c39b923c0144273d64ba4ceea0f
MD5 1fff50e9fba3cb809182aa69d21ca68c
BLAKE2b-256 3e79a886fb8bad2bf0322c29361566bf02812e58ec82c21a25e5b3fabaa67129

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15d2b9dc263b14a88138646bcfe32414081d21c79b1fa1f44b0f1ba6cace268f
MD5 d9734fdf6a9948f48f31634198db2b5b
BLAKE2b-256 458a5c026018e7c38c348d0723b21a64618355ce56c60af7b1733f4cd611c78e

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ba6adca12c669579caeacfdb2f57489e030093eb8d1516b2f737fa63d5bf97b
MD5 15e09559c290c34256a32d2886b18d88
BLAKE2b-256 2fab3dd2ab7352a5c8bf77cb056a377c2f9032f5eacda009d8ef7ac278c36e0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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

File details

Details for the file potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 844bf6cdef5cd9a1659095b7ebb79a4e742a399da2aeba38d59deab75b4a2d45
MD5 cf11e9f73e632db405b457902f688a02
BLAKE2b-256 aab3f6feb17f890e07bbeb60db9bec47440bf539c8f60f136d396397cbd6d022

See more details on using hashes here.

Provenance

The following attestation bundles were made for potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: publish.yml on nmwsharp/potpourri3d

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