Skip to main content

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.

Release files for potpourri3d 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for potpourri3d 1.4.0
File Size Uploaded
potpourri3d-1.4.0.tar.gz 30.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for potpourri3d 1.4.0
File
potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
potpourri3d-1.4.0-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
potpourri3d-1.4.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
potpourri3d-1.4.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
potpourri3d-1.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
potpourri3d-1.4.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
potpourri3d-1.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
potpourri3d-1.4.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
potpourri3d-1.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
potpourri3d-1.4.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
potpourri3d-1.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
potpourri3d-1.4.0-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
potpourri3d-1.4.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
potpourri3d-1.4.0-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details
potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 266.9 MB

Release files / potpourri3d-1.4.0.tar.gz

Download URL potpourri3d-1.4.0.tar.gz
Size 30.6 MB
Tags Source
SHA-256 checksum
How to use checksums
83c31ac4ee69b90cc0f3af1139f91ec952077defcc9166056cc4434712679292
BLAKE2b-256 checksum
How to use checksums
62ab1385878462411b548a909b66f8e925dbefa6faab1ca704dd43a098905ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-win_amd64.whl
Size 6.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
792bbbd67af0d251345bb94ed436946e6344fb45db508e54034061060dcf628b
BLAKE2b-256 checksum
How to use checksums
8457b6f8f5aba4d2bd80588a094f65bd5f1ec7542d1ffd81fb6f9587cff9aa57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-win32.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-win32.whl
Size 4.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
aaa02ed42a4295e9e32bdc1a043203b629337603111b9916c63e072405bc4d3b
BLAKE2b-256 checksum
How to use checksums
ed1ee895305f05d87129ce0ee3f6124f58d64270d59a4f42115a3045a47f2fe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
51c18c6faf7587119eb589d10395b7d4132ceb0ca3ded7d0b27d3df4251e5268
BLAKE2b-256 checksum
How to use checksums
09a68c379d3e47f68462d16dc4112378855f3324ab962eed9a907ad10de8b630
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
48394a731d87cab21b007146cf14df9ee1fa050185eeaf04246586f58c7526c7
BLAKE2b-256 checksum
How to use checksums
9c04669769db8de168c94b5a0b7a3b6d209c88768df4d01e885fbfc4d656e191
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5244afc1f66191c0048d4822586de007c8acb2616caf1bf71e488188a794024b
BLAKE2b-256 checksum
How to use checksums
35bb78b6c615dc6655365077e43cd30673f28dbc064bc4c32437b545a03fbed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
493b0566e19e51a16c20189a6643d55525b7da85a3a02104e3a1860ebe539b4e
BLAKE2b-256 checksum
How to use checksums
c0294ca84d40842ec1eb2a03944628cc66fb010b5f1fdc8a702377773e39062e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 3.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
040202b00acaddc474dbfbed04a7786f3366f2c94233ae31dc80381e8b23cebd
BLAKE2b-256 checksum
How to use checksums
e761f3da1db6e2a502a5577fb8cb14d32bea02d0a0ebd441a3094550b0f7c866
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL potpourri3d-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 3.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
37c416d5b903ebf9fe41c7a8b19e1051bf244faabfffeeee5e78b094e3e86ce3
BLAKE2b-256 checksum
How to use checksums
1d388c0b9233887c4b8fdd8b5a88ece711f95250532dfffe70819957c7017cea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-win_amd64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-win_amd64.whl
Size 6.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
175ac38372d857f88b64f211834de9eb19b7c7258823c82568473dd0c7e7119d
BLAKE2b-256 checksum
How to use checksums
4b127fa0b11826304bc14edd84adf4ca7d62b8225b20d0d69e53c39b37c24e17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-win32.whl

Download URL potpourri3d-1.4.0-cp314-cp314-win32.whl
Size 4.5 MB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
eaf9feb59feac3d79f4ba78a97e64d10f1975fd9267cda29ae4ca5e6526208e9
BLAKE2b-256 checksum
How to use checksums
a1219b379ad0fa86e9fbe4c208fcd228ed01770df3b4825e942e3d56500bd476
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0c466061ac34d9b6dd1e6b26290b99a26c18d4a76b1803e34ecf7146301522e1
BLAKE2b-256 checksum
How to use checksums
6f7748b406d37d0b6810fb06903305b3f77c5983b85076173cb1b868b1ed7e0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
d6391ee9fe405e60322599df567930e8062e1a861667642f19060e1baf63586e
BLAKE2b-256 checksum
How to use checksums
1b991959528d4a48a7773adaad9e2d7557ec1c737d3ec1c276eed60406ea2e8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
79805619ca9aaf0c2faa999b6fab9809a8ec50488bd02b38d8855563d9714171
BLAKE2b-256 checksum
How to use checksums
551bb99e7c3b1289a39c9f9e8c6d659fa2ebadd5935153b6c612f64af231967d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0844aac607ac9d17b1a949392a67b0901524d01af330d201428a42e2c48ee022
BLAKE2b-256 checksum
How to use checksums
2bb9e3cdce27d3dfc43e146bd2ac984749e8ed2c41180ebb01218ee78010a599
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
44aab06ca9dc0a7c40204351ee130d00d89c200e52946caf58e32a3f517c7abd
BLAKE2b-256 checksum
How to use checksums
6babeece1e1847af56541d991ea9afa9d56a080247756bbb0e638d6f342c3b31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL potpourri3d-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 3.5 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
a812d6dac19b6759ecec86f9f50d8fb81f9235d9ab481519e0fa681cd1715c0a
BLAKE2b-256 checksum
How to use checksums
d275e482ad0cc361c6ba4cca005558ca6cc231bcfbb72127b46f090ed368773c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-win_amd64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-win_amd64.whl
Size 6.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a17ade63286b3a54f11458c504f48e97059af1a6c128afae88c87a0fa3de2d7e
BLAKE2b-256 checksum
How to use checksums
ab6e3ca6cf54f907e2b9a73efa35b29f5fb5fbc5963f958fff8642b6413cd10c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-win32.whl

Download URL potpourri3d-1.4.0-cp313-cp313-win32.whl
Size 4.5 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
99ffee489c34d77af103e895241d2a34a4fc36c03fabe7462256885b71ff29fb
BLAKE2b-256 checksum
How to use checksums
fb5698bc09f6aa3cc2637046b09f3a9f92bc0f4f89a6b60786f05959e71a8783
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a245ff2212768a8764799078664ebf2f7e5f80c7b384650d2af2996d3fabb1e2
BLAKE2b-256 checksum
How to use checksums
0deccf8cd2b32a4bf030852a4b534192233500bf31860041f64be26e39997db1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
25defb1c9d205852e061c260999f35e8d86f9fc99022cf8d86070515685cb0e0
BLAKE2b-256 checksum
How to use checksums
5d6150d601a2e7c4c9e768f2617dfbe54c6d320c3e5f9cf91fa0f5799e15abd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c09d55f65f92010ce8d745bbba7d18c034d539afb209de6f8e129f2c40424978
BLAKE2b-256 checksum
How to use checksums
28fb12afb909150af89dd199c9360fa759701cf97a682cb84c7c60a9fb7d8cf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0c24c4203a475a255d0731f8b45f530a49d9c577e865479ef4c55dbcb44f7ee4
BLAKE2b-256 checksum
How to use checksums
c16021a94518a95686bee922c5113d230be653238e9ee6985ef0eba9b251ccd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c575f50fe3b146ac4954ce7dd5793a8f28acb94561dfca62952092a982ba5949
BLAKE2b-256 checksum
How to use checksums
639062691ec8ac8ba32eafd1e003170a68bb4bb436d96a14e1cea287e4a80c86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL potpourri3d-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 3.5 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
84a2996dd78de8e9a58a572e8649fcc1b1d068989c987b721d8ce20657db5f2e
BLAKE2b-256 checksum
How to use checksums
58e6b5299cc75fc5335b1e2cb61943bdb5bdb322be86b4703f967495ce0fa052
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-win_amd64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-win_amd64.whl
Size 6.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
771c1795f2542c92789fadbd699d23d470948997cf3202846ec8a55d9a44f7a5
BLAKE2b-256 checksum
How to use checksums
01a919d538c2d58b5834086e28b9f1962fbdb9412998d1c7ff51ad9b45ccf7b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-win32.whl

Download URL potpourri3d-1.4.0-cp312-cp312-win32.whl
Size 4.5 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
664334a2ad80db717adb338f766ea2cbbf1ae8933b34402edc94d74a7c41b1b5
BLAKE2b-256 checksum
How to use checksums
7bf1e207cebd6ceb6cfdeee811076a6b9eeea4d10cb29025e79375196ad64982
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
948bc691012d689871056dffed52c18b100654eac3fada092c37cf457278c0f9
BLAKE2b-256 checksum
How to use checksums
60d06d896897cd8a64949c8511ef37eedc9e593e1c339a6466a330619fd43c6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
15120a5b948a23b67613658db9dcbdaef71ce002c6b82dddfea313f0bef71180
BLAKE2b-256 checksum
How to use checksums
cb64b7ac23e7a3c194df9e9eff3792fceaf9b289e2d9dfbcc691c631f25b3505
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
33310bd58527ff1e19d975d9ba53150b258a3886f32b4ab7fb250188acaba175
BLAKE2b-256 checksum
How to use checksums
2c585500f7e6a5ec66b8df50d84cf908041c8fa0344b15a1ad705e2e56c8b8fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e84d78a1758a821b42fdf54304d1d14aa2609579600c1b26a03134dbc367a4bb
BLAKE2b-256 checksum
How to use checksums
10fe46ff1b577bdb1c3b536c406256a155e5f628b5caee1f99669dd54b1ebcd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f401f0da41b075a5206af276c3c24fe03114b142aaea8608be08ecfecd806dfc
BLAKE2b-256 checksum
How to use checksums
35b3f53e111fa7fb194fe928d4dbdae97f67c301282863ca3e3fda93609e3c40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL potpourri3d-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 3.5 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
a448a72232ca43ffc392fd13408ad4f77a69b6c43578f82a4b3cef7bd012516d
BLAKE2b-256 checksum
How to use checksums
382e487d59d1be46ea9724534325c96ef172ed16aff610ace62d427758084404
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-win_amd64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-win_amd64.whl
Size 6.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
807c963db5ba38867c095e4711eeef80272f328241b4ffe6a790cf22c13e6445
BLAKE2b-256 checksum
How to use checksums
4a749cf3ee61cc39476bc6d7be0c7891434460ccca78d410ab9f03ae7217ffd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-win32.whl

Download URL potpourri3d-1.4.0-cp311-cp311-win32.whl
Size 4.5 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
ed3ea1351a5a2daf3dc000edb3e02b66c8a040c9e1fe20eddb4ce6f98e252be2
BLAKE2b-256 checksum
How to use checksums
64ab652e30714dde0ccf60ceb472b79a4a30a2d3f473badcfd1fb5595e645faf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b1a1a849b247cdffbbed134c26ec0f9ced429a5d722bcd6c67402ee603b633e4
BLAKE2b-256 checksum
How to use checksums
ab8b191e897c9ecb050d0a15f5980ecc9bd69e91a784e0c654cbc909e11147f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9d7ca029ce37ea794f768a68631977b0c9c86ec1bde978a33b32abe362cf7eb2
BLAKE2b-256 checksum
How to use checksums
8e0c86a764c174cfdeeebe88fa1535124dc7801fbdc91c2a24a9819b45be5dcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dc607d506c7f263567ff202e45403042035f3ef8ddcc0896beda607ae88db48d
BLAKE2b-256 checksum
How to use checksums
de5a5fccf69e1e8ab577d2386b187d038fc7d9688c29281e0d6b6ed753305fbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
27212912af65ffda9269605de2a94e375289035c754e97ee4ae5e190dc035991
BLAKE2b-256 checksum
How to use checksums
3dd5ef959678eeddc2e910f60f4586949b04c87f52537ba253fd0fb9b10ad99c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
170d13ce72c51c22b7406dfb81335fd9e51b99597896024077f1a4d1a2b39c46
BLAKE2b-256 checksum
How to use checksums
4766e1df34035138f8cf009552974e599aa1e13a361d8f10d867db3e9f120d59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL potpourri3d-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 3.5 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
55b090b98a92ebbb31f2efc5ec5f3e74ed52378aa6871423a9f5e539b700e7c2
BLAKE2b-256 checksum
How to use checksums
0bbef550d69d919a54de0a42cb8ea80bbc1be4f3c259770abe635cfe485be8b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-win_amd64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-win_amd64.whl
Size 6.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
4b2356672cceab2efa33c2f79fc3e707d72a3e570a3cddf4c079eb09a670e4bd
BLAKE2b-256 checksum
How to use checksums
6ac369827d1bd6c642b0c028ff478798056deda2d20486103a755b7efd4259bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-win32.whl

Download URL potpourri3d-1.4.0-cp310-cp310-win32.whl
Size 4.5 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
95ab7cc590e7785b46590f64c7441dab0acb0ad519ff67db6acb56125a824aa4
BLAKE2b-256 checksum
How to use checksums
edd2717a960acb7d11193d8f6a85640afb55370f17f8a47208ff4742fe1be455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5ae4e384215e26b716437f4fc14fab429d79ee3d12e984d8d38f7275fa7b315e
BLAKE2b-256 checksum
How to use checksums
4a309fc311f19fc196e31f98d82ab13c21b5bf286389d038cbfcb69ecc4ed919
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c6a7197f9c78780804f1b4abdfe26dc95ee1a374bffe3d3836698aaa8738f999
BLAKE2b-256 checksum
How to use checksums
dd722686c888be2ebe82c167faeb2b96b5e25b6671df281d9078822d75423c33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8ad10714ed99a76800c869124cd4b7da30253f7e1344de139f1d9bc68fde35d6
BLAKE2b-256 checksum
How to use checksums
21de355c9a42060ed0735f4cda067a32be3e233b3e391c95c27ced695174d878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
52614655f17d198ac2f4dd4819451079b8e6d081570a8064f610d9c203538a2d
BLAKE2b-256 checksum
How to use checksums
5f00d7f3444f4edacca8ae2682d2714b4ee8cc1158f38cb1f1733aa06666cdbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
86edcdbd8b8d189fe5b2e90571a5d0433d8784e484ccac6717d1964064acfd5f
BLAKE2b-256 checksum
How to use checksums
5472c96a8bb9ffd9b89721afa7840180b8eb89008d9b6bd0d9880b6dea3c3d3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL potpourri3d-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 3.5 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
936cf74f549c544fd6ed2a36cae0afcf694f5394a62c21263f457073bf68a006
BLAKE2b-256 checksum
How to use checksums
0ef883a08f006af30c5810844c1c5123d5f14e914431ad5dc0142e294e8bf09a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-win_amd64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-win_amd64.whl
Size 6.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
1a898dd312caf4fbbe3aca0873d985062a6bb1a07c3f0f90a664311c9076b93c
BLAKE2b-256 checksum
How to use checksums
d3e6ecdda3d30f50cc3a2614f2d1e6b3518e54308f3f76dc5f4ab53ff1feb6b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-win32.whl

Download URL potpourri3d-1.4.0-cp39-cp39-win32.whl
Size 4.5 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
85e026100d58dd100ef7e31ee7cac075cbd3a86744b3be98935fcdd7fea6080b
BLAKE2b-256 checksum
How to use checksums
6bf21c02ec0c663750ff2979ad2b0ee15a27f8cd25a1318ad95c078db87d1f52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 4.8 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
931eb02f74cf13f54650c9d469c6de8b903fcf87c268571eeffa2f48edc517cd
BLAKE2b-256 checksum
How to use checksums
8d52f6f210daf45dfc13da66ca0859e254b545f4317463c5c2670f99557cf737
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-musllinux_1_2_aarch64.whl
Size 4.6 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8d308701d6fd5ffba0b0cecb54cff182bd74f1a7068f59f5cf56b2cdbe32164e
BLAKE2b-256 checksum
How to use checksums
58b71a867029fda36b112a577f57a7d5c396e8e5307b41bb604295439f212f61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.6 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
50dd9e3ff845901374304b2cc3ee875e77310c39b923c0144273d64ba4ceea0f
BLAKE2b-256 checksum
How to use checksums
3e79a886fb8bad2bf0322c29361566bf02812e58ec82c21a25e5b3fabaa67129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags CPython 3.9 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
15d2b9dc263b14a88138646bcfe32414081d21c79b1fa1f44b0f1ba6cace268f
BLAKE2b-256 checksum
How to use checksums
458a5c026018e7c38c348d0723b21a64618355ce56c60af7b1733f4cd611c78e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2ba6adca12c669579caeacfdb2f57489e030093eb8d1516b2f737fa63d5bf97b
BLAKE2b-256 checksum
How to use checksums
2fab3dd2ab7352a5c8bf77cb056a377c2f9032f5eacda009d8ef7ac278c36e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release files / potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL potpourri3d-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 3.5 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
844bf6cdef5cd9a1659095b7ebb79a4e742a399da2aeba38d59deab75b4a2d45
BLAKE2b-256 checksum
How to use checksums
aab3f6feb17f890e07bbeb60db9bec47440bf539c8f60f136d396397cbd6d022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.0 This release

57 release files

1.3

75 release files

1.2.2

75 release files

1.2.1

75 release files

1.1.0

65 release files

1.0.0

51 release files

0.0.8

40 release files

0.0.7

40 release files

0.0.6

40 release files

0.0.5

32 release files

0.0.4

26 release files

0.0.2

33 release files

0.0.1

33 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page