Lifted Surfacing of Generalized Sweep Volumes
This code implements the ACM SIGGRAPH ASIA 2025 paper: Lifted Surfacing of Generalized Sweep Volumes
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_filedefines the space-time functionconfig_filedefines 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)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logSecurity 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.
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 logA 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.