Skip to main content

Lifted Surfacing of Generalized Sweep Volumes

This code implements the ACM SIGGRAPH ASIA 2025 paper: Lifted Surfacing of Generalized Sweep Volumes

ball-rolling

Top: A wire-like ball rolls forward while offsetting, changing its genus from 41 to 29. Bottom: The time-colored sweep boundary and sharp creases (2nd row), in transparency (3rd row, creases hidden for clarity), and a cut-away view (bottom row).

Given any sweep represented as a smooth time-varying implicit function satisfying a genericity assumption, this algorithm produces a watertight and intersection-free surface that faithfully approximates the geometric and topological features.

Build

Dependencies

All third-party libraries are open-source and automatically fetched using CMake.

C++ Build

Use the following command to build:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

The C++ library libsweep and the command line tool generalized_sweep will be generated in the build directory.

Python Bindings

We also provide a Python binding for easy integration with Python workflows:

# Install the Python package
pip install .

Usage

C++ API

The C++ API consists of two simple functions, generalized_sweep and generalized_sweep_from_config defined in include/sweep/generalized_sweep.h. For complete API documentation, please see generalized_sweep.h.

generalized_sweep

The generalized_sweep function provides the most general API. It takes the following inputs:

  • a user-provided space-time function for pointwise function and gradient evaluation,
  • (optional) a simple initial grid specification (doc), and
  • (optional) customized sweep parameters (doc)

and generates the following outputs:

  • Sweep surface (final output)
  • Sweep envelope
  • Envelope arrangement

In addition to the sweep surface, our code also provides the sweep envelope and envelope arrangement for advanced users. Please see our paper for their definitions.

Here is a simple example:

#include <sweep/generalized_sweep.h>
#include <lagrange/io/save_mesh.h> // For IO only

// Define implicit space-time function
// Sweeping a ball of radius `r` along the X axis by a distance `d`.
sweep::SpaceTimeFunc f = [](EigenRowVector4d p) {
    constexpr double r = 0.2;
    constexpr double d = 0.5;

    double x = p[0];
    double y = p[1];
    double z = p[2];
    double t = p[3];

    double val = (x + d * t) * (x + d * t) + y * y + z * z - r * r;
    Eigen::RowVector4d grad {
        2 * (x + d * t),
        2 * y,
        2 * z,
        2 * d * (x + d * t)
    };
    return {val, grad};
};

// Define an initial coarse grid
sweep::GridSpec grid;
grid.bbox_min = {-0.3, -0.3, -0.3};
grid.bbox_max = {0.8, 0.8, 0.8};

// Compute the sweep surface
auto r = sweep::generalized_sweep(f, grid);
lagrange::io::save_mesh("sweep_surface.obj", r.sweep_surface);

generalized_sweep_from_config

The generalized_sweep_from_config function loads two configuration files:

  • function_file defines the space-time function
  • config_file defines the initial grid spec and sweep parameters

It outputs the same set of meshes as generalized_sweep. Both function_file and config_file are in YAML format.

The function file is a YAML file that defines a space-time function supported by the space-time-functions library. Here is a simple function file that sweeps a ball along the X axis. Please see the spec for a complete set of supported transforms and shapes.

type: sweep
dimension: 3

# The base shape
primitive:
  type: ball
  center: [0.0, 0.0, 0.0]
  radius: 0.2
  degree: 2

# Sweeping trajectory
transform:
  type: polyline
  points:
  - [-0.5, 0.0, 0.0]
  - [0.5, 0.0, 0.0]

The config_file is used to specify the initial grid and the sweep options. Here is an example:

grid:
  resolution: [4, 4, 4]
  bbox_min: [-1, -1, -1]
  bbox_max: [1, 1, 1]

parameters:
  epsilon_env: 5e-4
  epsilon_sil: 5e-4
  with_snapping: false
  with_insideness_check: true

The parameters section will be used to construct the sweep::SweepOptions.

Here is an example:

#include <sweep/generalized_sweep.h>
#include <lagrange/io/save_mesh.h> // For IO only

auto r = sweep::generalized_sweep_from_config(
    "example/simple/sweep.yaml",
    "example/simple/config.yaml"
);
lagrange::io::save_mesh("sweep_surface.obj", r.sweep_surface);

Please see more config-files-based examples in the example folder.

Python API

import numpy as np
import sweep3d
import lagrange # For IO only

# Space-time function
def my_space_time_function(point_4d):
    """Space-time implicit function.
    
    :param point_4d: 4D point [x, y, z, t] where t ∈ [0, 1]
    :type point_4d: numpy.ndarray
    :return: Tuple of (value, gradient)
    :rtype: tuple(float, numpy.ndarray)
    """
    x, y, z, t = point_4d
    r = 0.2
    d = 0.5
    value = (x - t * d)**2 + y**2 + z**2 - r**2
    gradient = np.array([2 * (x - t * d), 2 * y, 2 * z, -2 * d * (x - t * d)])
    return (value, gradient)

# Initial grid
grid_spec = sweep3d.GridSpec()
grid_spec.bbox_min = [-0.3, -0.3, -0.3]
grid_spec.bbox_max = [0.8, 0.8, 0.8]

# Compute sweep surface
result = sweep3d.generalized_sweep(my_space_time_function, grid_spec)

# Extract mesh data
V = result.sweep_surface.vertices
F = result.sweep_surface.facets
print(f"#Vertices: {len(V)}, #Faces: {len(F)}")

# Save mesh
lagrange.io.save_mesh("out.msh", result.sweep_surface)

Please see help(sweep3d) for more details.

Grid Parameters

The GridSpec struct defines the initial spatial grid used for sweep computation. The grid represents the 3D spatial domain (the time dimension is handled separately).

Parameters

Parameter Type Default Description
resolution [int, int, int] [4, 4, 4] Number of grid cells in the x, y, z directions. Higher resolution provides better initial sampling but increases computation time.
bbox_min [float, float, float] [-0.2, -0.2, -0.2] Minimum corner of the axis-aligned bounding box that encloses the sweep volume.
bbox_max [float, float, float] [1.2, 1.2, 1.2] Maximum corner of the axis-aligned bounding box that encloses the sweep volume.

Note: The bounding box should be large enough to fully enclose the swept volume throughout the entire trajectory (t ∈ [0, 1]).

Sweep Options

The SweepOptions struct provides fine-grained control over the sweep computation. All parameters are optional and have sensible defaults.

Refinement Parameters

Parameter Type Default Description
epsilon_env double 5e-4 Tolerance for envelope approximation.
epsilon_sil double 5e-3 Tolerance for silhouette set approximation.
max_split int unlimited Maximum number of splits allowed during grid refinement.
with_adaptive_refinement bool true Enable/disable adaptive grid refinement.
initial_time_samples size_t 8 Number of initial uniform time samples per spatial grid vertex.

Quality Control Parameters

Parameter Type Default Description
min_tet_radius_ratio double 1e-5 Minimum acceptable tetrahedron in-radius to circum-radius ratio during grid refinement. Tets below this threshold will not be refined further.
min_tet_edge_length double 2e-5 Minimum acceptable tetrahedron edge length during grid refinement. Tets with longest edge below this threshold will not be refined further.

Surface Extraction Parameters

Parameter Type Default Description
with_insideness_check bool true Whether to perform insideness checks during grid refinement. If true, the algorithm will stop refinement early once it detects a cell is inside the swept volume.
with_snapping bool true Whether to enable vertex snapping during isocontouring. Improves the quality of the extracted mesh.
volume_threshold double 1e-5 Minimum volume threshold for arrangement cell filtering. Cells below this volume will be merged into adjacent cells.
face_count_threshold size_t 200 Minimum face count threshold for arrangement cell filtering. Cells below this face count will be merged into adjacent cells.

Advanced Parameters

Parameter Type Default Description
cyclic bool false Whether the trajectory is cyclic. ⚠️ This feature is experimental and not fully supported.

Configuration Examples

The following examples show how to configure both grid parameters and sweep options together:

C++ Example
#include <sweep/generalized_sweep.h>

// Configure grid
sweep::GridSpec grid;
grid.resolution = {8, 8, 8};
grid.bbox_min = {-0.5, -0.5, -0.5};
grid.bbox_max = {1.5, 1.5, 1.5};

// Configure sweep options
sweep::SweepOptions options;
options.epsilon_env = 1e-3;
options.epsilon_sil = 1e-3;
options.with_insideness_check = false;
options.max_split = 1000000;

// Compute sweep
auto result = sweep::generalized_sweep(f, grid, options);
Python Example
import sweep3d

# Configure grid
grid_spec = sweep3d.GridSpec()
grid_spec.resolution = [8, 8, 8]
grid_spec.bbox_min = [-0.5, -0.5, -0.5]
grid_spec.bbox_max = [1.5, 1.5, 1.5]

# Configure sweep options
options = sweep3d.SweepOptions()
options.epsilon_env = 1e-3
options.epsilon_sil = 1e-3
options.with_insideness_check = False
options.max_split = 1000000

# Compute sweep
result = sweep3d.generalized_sweep(my_function, grid_spec, options)
YAML Example
grid:
    resolution: [8, 8, 8]
    bbox_min: [-0.5, -0.5, -0.5]
    bbox_max: [1.5, 1.5, 1.5]

parameters:
    epsilon_env: 1e-3
    epsilon_sil: 1e-3
    with_insideness_check: false
    max_split: 1000000

Metadata

Release files for sweep3d 0.1.0

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

Built distributions (wheels)

Table of built distributions (wheels) for sweep3d 0.1.0
File Actions
sweep3d-0.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for sweep3d-0.1.0-cp313-cp313-win_amd64.whl
sweep3d-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for sweep3d-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
sweep3d-0.1.0-cp313-cp313-macosx_13_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 13.0+ x86-64 Details for sweep3d-0.1.0-cp313-cp313-macosx_13_0_x86_64.whl
sweep3d-0.1.0-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details for sweep3d-0.1.0-cp313-cp313-macosx_13_0_arm64.whl
sweep3d-0.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for sweep3d-0.1.0-cp312-cp312-win_amd64.whl
sweep3d-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for sweep3d-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
sweep3d-0.1.0-cp312-cp312-macosx_13_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 13.0+ x86-64 Details for sweep3d-0.1.0-cp312-cp312-macosx_13_0_x86_64.whl
sweep3d-0.1.0-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details for sweep3d-0.1.0-cp312-cp312-macosx_13_0_arm64.whl
sweep3d-0.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for sweep3d-0.1.0-cp311-cp311-win_amd64.whl
sweep3d-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for sweep3d-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
sweep3d-0.1.0-cp311-cp311-macosx_13_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 13.0+ x86-64 Details for sweep3d-0.1.0-cp311-cp311-macosx_13_0_x86_64.whl
sweep3d-0.1.0-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details for sweep3d-0.1.0-cp311-cp311-macosx_13_0_arm64.whl
sweep3d-0.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for sweep3d-0.1.0-cp310-cp310-win_amd64.whl
sweep3d-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for sweep3d-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
sweep3d-0.1.0-cp310-cp310-macosx_13_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 13.0+ x86-64 Details for sweep3d-0.1.0-cp310-cp310-macosx_13_0_x86_64.whl
sweep3d-0.1.0-cp310-cp310-macosx_13_0_arm64.whl CPython 3.10 CPython 3.10 macOS 13.0+ ARM64 Details for sweep3d-0.1.0-cp310-cp310-macosx_13_0_arm64.whl

Total release size: 27.1 MB

Release files / sweep3d-0.1.0-cp313-cp313-win_amd64.whl

Download URL sweep3d-0.1.0-cp313-cp313-win_amd64.whl
Size 989.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f255d659726b61d731aecc6bbd1bb0d47177b8cbe37ca7b10a9be8ce4803cc92
BLAKE2b-256 checksum
How to use checksums
bf86f0414eaee215bc6f1c8d5f675264fe71f018aff0fc9ee759fbbadb43276e
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL sweep3d-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8ce6e6040e39e2c963c069376092b812b2590bc1921d5a07c3eb8bea5e677fb1
BLAKE2b-256 checksum
How to use checksums
a02fbc466c31e7fe432893d7bf5c116f19af3efc9ab0241dea861f3dd6031fca
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp313-cp313-macosx_13_0_x86_64.whl

Download URL sweep3d-0.1.0-cp313-cp313-macosx_13_0_x86_64.whl
Size 1.8 MB
Tags CPython 3.13 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
c170da7956499ff96cebc937460d747adc7ca264d55ca0d439177cf7dadef2b9
BLAKE2b-256 checksum
How to use checksums
ea727b4f6c5892d6b7e06e5dbf68941773dbdcf6b8d7f94314dc255f39cba482
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp313-cp313-macosx_13_0_arm64.whl

Download URL sweep3d-0.1.0-cp313-cp313-macosx_13_0_arm64.whl
Size 1.5 MB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
eb12314cc36d3c5b6cd74f6936dc13f0de19dd7ed0785039ba4af310a05863c3
BLAKE2b-256 checksum
How to use checksums
2c4550d000a4a60e9227be426ec82cc29d4bf224abb063c9d17e42d91d6fc960
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp312-cp312-win_amd64.whl

Download URL sweep3d-0.1.0-cp312-cp312-win_amd64.whl
Size 989.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
020d0d5438ef365f665821b2a366fe8eae723959989242185653e5e0818d2cbf
BLAKE2b-256 checksum
How to use checksums
a908ed2c64a49b61caf7ff048d4afc6dc839c29b1843fe63dc72521661a9453f
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL sweep3d-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
87fbd5cdef29c5cabfd9e96ca5b0ce2f76dc15951f02d7740f7b9230de8aa39f
BLAKE2b-256 checksum
How to use checksums
54fd06e2b1425ff77057bbc12f02a293d350382e94ac895b6fdf8309166b968b
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp312-cp312-macosx_13_0_x86_64.whl

Download URL sweep3d-0.1.0-cp312-cp312-macosx_13_0_x86_64.whl
Size 1.8 MB
Tags CPython 3.12 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
fefc6ddbe7f0fe7e8362c608f8fe9e1643ffcd8a2627e08fbb7214f6594af511
BLAKE2b-256 checksum
How to use checksums
840b1ce1171ad21beb5edf5972d1121ef21609753a4f2ec2392ef111788bbf8c
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp312-cp312-macosx_13_0_arm64.whl

Download URL sweep3d-0.1.0-cp312-cp312-macosx_13_0_arm64.whl
Size 1.5 MB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
f8acd738e1fa53d435a9157888639eef1aa972972a87f822643688fca1138bd9
BLAKE2b-256 checksum
How to use checksums
53242e65d7b0f5d27e1d7893405a89111596245f8bd475e436566105163b2182
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp311-cp311-win_amd64.whl

Download URL sweep3d-0.1.0-cp311-cp311-win_amd64.whl
Size 990.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0b8970b23ea7be12d951eae10fc6bea2cf3c69ffea5f3a16800b35fe243bf42d
BLAKE2b-256 checksum
How to use checksums
f1700ed277961a43d2ff3a8a1ad51953a127b70d423515cb055bb7e70a474f9c
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL sweep3d-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a36364dd27358ca192ff92a787eceb357414f93d479fb212e933324aa100151f
BLAKE2b-256 checksum
How to use checksums
806579337ec2cf22f987551d5f81dd9f6f762285b089c3f67202841f949b0f3b
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp311-cp311-macosx_13_0_x86_64.whl

Download URL sweep3d-0.1.0-cp311-cp311-macosx_13_0_x86_64.whl
Size 1.8 MB
Tags CPython 3.11 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
478478d2e372ca8f7ea3f06761d67a06b838e3719c2e000726296ddbc35c621f
BLAKE2b-256 checksum
How to use checksums
db79cd87eef85e16f9436133854ad1ded1999ceb56fff1d5004c10f15fb0402b
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp311-cp311-macosx_13_0_arm64.whl

Download URL sweep3d-0.1.0-cp311-cp311-macosx_13_0_arm64.whl
Size 1.5 MB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
70c42c6d54423896bc26dc2423da80f6e66b924a9fbd68c2520fafe07db3668f
BLAKE2b-256 checksum
How to use checksums
d8a75a6123d46e6b7ed8eb1de2fda937170dadd25247f47933d9b199b2e989bf
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp310-cp310-win_amd64.whl

Download URL sweep3d-0.1.0-cp310-cp310-win_amd64.whl
Size 990.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
7e3770336dac75b332f25941d113b92ad3d92790bded932eba8a5542b0130c1c
BLAKE2b-256 checksum
How to use checksums
e8ed5ea34b6757e58f4a1e8316616f2e87ea3cff763e577f26b8c2cd8e906d01
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL sweep3d-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 2.4 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
12b4b13eb6cb8b7b44ce91666bb6f34de34d72632ebfb7c5161be46d37e80ca2
BLAKE2b-256 checksum
How to use checksums
1ae54a2974e9dfaf58b8952b50b9a35c426b3fe6bd7df269d3800474224de576
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp310-cp310-macosx_13_0_x86_64.whl

Download URL sweep3d-0.1.0-cp310-cp310-macosx_13_0_x86_64.whl
Size 1.8 MB
Tags CPython 3.10 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
eaddbf6e80ec76200e14b68e41c3ab11763d739fe1b8eb767112b4bc8e85430d
BLAKE2b-256 checksum
How to use checksums
5acb4db4e433cdef02be9e667fd585baf6e582d53b9f8e79795a686f5bbbcda7
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 Dec 18, 2025.

Transparency log

Release files / sweep3d-0.1.0-cp310-cp310-macosx_13_0_arm64.whl

Download URL sweep3d-0.1.0-cp310-cp310-macosx_13_0_arm64.whl
Size 1.5 MB
Tags CPython 3.10 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
5a83507324a0620240d21af1e17f6030ae85934e8e0e01ee8b62eda601630586
BLAKE2b-256 checksum
How to use checksums
1ef86501d79e8af4f14e2f42d25c60cff947dc0a1d23b53c416a63d8c2a6ef62
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 Dec 18, 2025.

Transparency log

Security for sweep3d 0.1.0

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.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for sweep3d-0.1.0-cp313-cp313-win_amd64.whl

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 Dec 18, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

16 release files Full provenance

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