Skip to main content

spline-trajectory

Python bindings for SplineTrajectory — a fast C++ library for smooth N-dimensional trajectory optimization based on MINCO-family splines (Cubic / Quintic / Septic).

[Python Docs] | C++ Library | 中文

Installation

pip install spline-trajectory                    # basic (numpy only)
pip install "spline-trajectory[optimize]"        # with scipy for optimize()

Requires Python ≥ 3.9. Pre-built wheels are provided for Linux, macOS, and Windows (x86-64 and arm64).


Spline types

Class Order Minimizes MINCO equiv
CubicSplineND 3 Acceleration S2
QuinticSplineND 5 Jerk S3
SepticSplineND 7 Snap S4

All three families are available for spatial dimensions 1–6.
Default aliases (CubicSpline, QuinticSpline, SepticSpline) point to the 3D variants.


Quick Start

import numpy as np
from spline_trajectory import CubicSpline3D, BoundaryConditions3D, Deriv

waypoints = np.array([[0, 0, 0],
                      [1, 0, 0],
                      [2, 1, 0]], dtype=float)

bc = BoundaryConditions3D(
    start_velocity=[0.5, 0, 0],
    end_velocity=[0, -0.5, 0],
)

spline = CubicSpline3D([0.0, 1.0, 2.0], waypoints, bc)

print(spline.evaluate(1.0, Deriv.Pos))   # position at t=1  → shape (3,)
print(spline.evaluate(1.0, Deriv.Vel))   # velocity at t=1

# Batch evaluation → shape (N, 3)
ts = np.linspace(0, 2, 200)
positions = spline.evaluate_batch(ts.tolist(), Deriv.Pos)

Trajectory Optimization

1. Optimize time segments, fix all waypoints

The simplest use case: waypoints are hard constraints, only the duration of each segment is optimized to minimize total time + jerk energy.

import numpy as np
from spline_trajectory import (
    QuinticOptimizer3D, BoundaryConditions3D,
    OptimizationMask, Deriv, optimize,
)

waypoints = np.array([[0, 0, 0],
                      [2, 1, 1],
                      [4, 0, 2],
                      [6, 2, 0]], dtype=float)
n_seg = len(waypoints) - 1

# Fix all waypoints, free all time segments
mask = OptimizationMask()
mask.waypoints = [0] * len(waypoints)   # 0 = fixed
mask.time      = [1] * n_seg            # 1 = optimize

opt = QuinticOptimizer3D()
opt.set_config(rho_energy=1.0)          # weight for jerk-energy regularization
ctx = opt.prepare_context(
    time_segments=[1.0] * n_seg,
    waypoints=waypoints,
    bc=BoundaryConditions3D(),
    mask=mask,
)

def time_cost(times):
    """Minimise total duration."""
    return float(np.sum(times)), np.ones_like(times)

result = optimize(opt, ctx, time_cost=time_cost, max_iter=300)
print(result.message)

spline = opt.get_working_spline(ctx)
print(f"Optimized duration: {spline.duration:.3f} s")

2. Optimize waypoints, fix time segments

Let the optimizer relocate intermediate waypoints while keeping durations fixed. Useful when the rough path shape matters more than timing.

import numpy as np
from spline_trajectory import (
    QuinticOptimizer3D, BoundaryConditions3D,
    OptimizationMask, optimize,
)

waypoints = np.array([[0, 0, 0],
                      [1, 1, 0],   # ← will be optimized
                      [3, 0, 0],   # ← will be optimized
                      [4, 0, 0]], dtype=float)
n_seg = len(waypoints) - 1

mask = OptimizationMask()
mask.waypoints = [0, 1, 1, 0]   # fix start/end, free middle points
mask.time      = [0] * n_seg    # fix all durations

opt = QuinticOptimizer3D()
opt.set_config(rho_energy=1.0)
ctx = opt.prepare_context(
    time_segments=[1.0] * n_seg,
    waypoints=waypoints,
    bc=BoundaryConditions3D(),
    mask=mask,
)

# Energy-only cost (no custom time/integral cost needed)
def zero_time(t): return 0.0, np.zeros_like(t)
def zero_integral(t, tg, seg, step, p, v, a, j, s):
    z = np.zeros_like(p); return 0.0, z, z, z, z, z, 0.0

result = optimize(opt, ctx, time_cost=zero_time, integral_cost=zero_integral)
spline = opt.get_working_spline(ctx)

3. Optimize both time segments and waypoints

Free everything — let the optimizer jointly tune timing and path shape.

import numpy as np
from spline_trajectory import (
    QuinticOptimizer3D, BoundaryConditions3D,
    OptimizationMask, optimize,
)

waypoints = np.array([[0, 0, 0],
                      [1, 2, 0],
                      [3, 1, 1],
                      [5, 0, 0]], dtype=float)
n_seg = len(waypoints) - 1

mask = OptimizationMask()
mask.waypoints = [0, 1, 1, 0]   # fix only start/end positions
mask.time      = [1] * n_seg    # all durations free

opt = QuinticOptimizer3D()
opt.set_config(rho_energy=1.0)
ctx = opt.prepare_context(
    time_segments=[1.0] * n_seg,
    waypoints=waypoints,
    bc=BoundaryConditions3D(),
    mask=mask,
)

def time_cost(times):
    return float(np.sum(times)), np.ones_like(times)

result = optimize(opt, ctx, time_cost=time_cost)
spline = opt.get_working_spline(ctx)
print(f"Duration: {spline.duration:.3f} s,  Energy: {spline.energy:.4f}")

4. Custom integral cost (e.g. penalise high velocity)

integral_cost is called at every integration sample along the trajectory.
It receives the local state (p, v, a, j, s) and must return the cost and its gradients w.r.t. each quantity.

import numpy as np
from spline_trajectory import QuinticOptimizer3D, BoundaryConditions3D, optimize

waypoints = np.array([[0, 0, 0], [2, 1, 0], [4, 0, 0]], dtype=float)

opt = QuinticOptimizer3D()
opt.set_config(rho_energy=0.5, integral_num_steps=64)
ctx = opt.prepare_context(
    time_segments=[1.0, 1.0],
    waypoints=waypoints,
    bc=BoundaryConditions3D(),
)

V_MAX = 2.0   # m/s — soft speed limit

def vel_penalty(t, t_global, seg, step, p, v, a, j, s):
    """Soft penalty for |v| > V_MAX."""
    excess = np.maximum(np.linalg.norm(v) - V_MAX, 0.0)
    cost = 0.5 * excess ** 2
    gv = excess * v / (np.linalg.norm(v) + 1e-9) if excess > 0 else np.zeros_like(v)
    z = np.zeros_like(p)
    return cost, z, gv, z, z, z, 0.0

def zero_time(t): return 0.0, np.zeros_like(t)

result = optimize(opt, ctx, time_cost=zero_time, integral_cost=vel_penalty)
spline = opt.get_working_spline(ctx)

5. Closed-loop trajectory (drone racing / periodic motion)

optimize_closed_loop closes the position loop and jointly optimizes the boundary derivatives (velocity, acceleration) so that the trajectory is C² continuous at the junction — the drone can lap indefinitely.

import numpy as np
from spline_trajectory import QuinticOptimizer3D, optimize_closed_loop, Deriv

# Gates arranged roughly in a circle
gates = np.array([
    [7.0, 3.5, 1.5],
    [6.0, 7.0, 1.2],
    [2.0, 7.0, 0.8],
    [0.0, 4.5, 1.0],
    [2.5, 1.0, 1.8],
    [5.0, 1.0, 1.2],
], dtype=float)

time_segs = [1.2] * len(gates)   # one segment per gate (loop is closed automatically)

opt = QuinticOptimizer3D()
result, ctx = optimize_closed_loop(
    opt,
    waypoints=gates,
    time_segments=time_segs,
    closure_weight=5000.0,  # penalty weight for BC continuity at junction
    rho_energy=0.5,
    max_iter=500,
)
print(result.message)

spline = opt.get_working_spline(ctx)

# Verify continuity at the junction
t0, tf = spline.start_time, spline.end_time
dv = np.linalg.norm(spline.evaluate(tf, Deriv.Vel) - spline.evaluate(t0, Deriv.Vel))
da = np.linalg.norm(spline.evaluate(tf, Deriv.Acc) - spline.evaluate(t0, Deriv.Acc))
print(f"Duration: {spline.duration:.2f} s")
print(f"BC closure  ‖Δv‖ = {dv:.2e},  ‖Δa‖ = {da:.2e}")   # should be ~1e-4 or less

# Sample the full lap
ts = np.linspace(t0, tf, 500)
pos = spline.evaluate_batch(ts.tolist(), Deriv.Pos)   # shape (500, 3)
vel = spline.evaluate_batch(ts.tolist(), Deriv.Vel)

6. Soft constraints via integral_cost

Every call to optimize() or optimize_closed_loop() accepts an integral_cost function that is evaluated at every integration sample. Return a scalar penalty and its gradients w.r.t. (p, v, a, j, s) and local time t to impose soft constraints.

General pattern

def my_constraint(t, t_global, seg, step, p, v, a, j, s):
    # Compute penalty and gradients
    cost = ...
    gp = np.zeros_like(p)   # ∂cost/∂p
    gv = np.zeros_like(v)   # ∂cost/∂v
    ga = np.zeros_like(a)   # ∂cost/∂a
    gj = np.zeros_like(j)   # ∂cost/∂j
    gs = np.zeros_like(s)   # ∂cost/∂s
    gt = 0.0                 # ∂cost/∂t (non-zero only when optimising time)
    return cost, gp, gv, ga, gj, gs, gt

Quadrotor: thrust + body-rate constraints (demo_quadrotor.py)

Uses SepticOptimizer3D (7th-order, S4-MINCO) so that jerk is a boundary-condition variable. Setting start_jerk = end_jerk = [0,0,0] hard-constrains body rate to zero at take-off and landing (hover condition).

Under the differential-flatness model (zero drag, yaw=0, mass=1 kg):

Physical quantity Expression
Thrust vector f_vec = a + g·ẑ
Collective thrust f = ‖f_vec‖
Body-axis unit vector z_b = f_vec / f
Body-rate vector ω — exact flatness map (Zhepei Wang, GCOPTER)

The integral_cost function implements the exact forward/backward pass of the flatness map so that gradients w.r.t. (a, j) are analytically correct.

Comparison — before (fixed 0.8 s/segment) vs. after (time optimized):

Quadrotor trajectory with thrust & body-rate constraints

Row 1 (grey dashed): trajectory executed in 3.2 s — 537/600 thrust violations, ω_max = 29.4 rad/s.
Row 2 (red solid): optimizer extends to 9.5 s — f ∈ [6.5, 14.2] m/s², ω_max = 0.92 rad/s — all constraints satisfied.

See examples/python/demo_quadrotor.py for the full implementation including the FlatnessMap forward/backward class.

Common constraint recipes

Constraint Cost term Non-zero gradient
Speed limit ‖v‖ ≤ v_max max(‖v‖−v_max, 0)² gv
Acceleration limit ‖a‖ ≤ a_max max(‖a‖−a_max, 0)² ga
Collective thrust bounds max(F_MIN−f,0)² + max(f−F_MAX,0)² ga
Body-rate limit max(ω−ω_max, 0)² ga, gj
Spherical keep-out zone (centre c, radius r) max(r−‖p−c‖, 0)² gp
Min altitude p_z ≥ h max(h−p_z, 0)² gp

Tip — penalty weight tuning:
Start with a small weight (e.g. 10) to let the optimizer find a feasible region first, then increase toward 100–1000 until the constraint is well-satisfied. Check integral_num_steps (default 64) — increase to 128 for stricter enforcement.


API Reference

Spline classes

All spline classes share the same interface.

CubicSpline3D(time_points, waypoints, bc=BoundaryConditions3D())
QuinticSpline3D(time_points, waypoints, bc=BoundaryConditions3D())
SepticSpline3D(time_points, waypoints, bc=BoundaryConditions3D())
# also: *1D, *2D, *4D, *5D, *6D variants
Parameter Type Description
time_points list[float] Absolute time at each waypoint, length N
waypoints ndarray (N, DIM) Waypoint positions
bc BoundaryConditionsND Boundary conditions (default: all zero)

Properties: start_time, end_time, duration, num_segments, energy, is_initialized

Methods:

spline.evaluate(t, deriv=Deriv.Pos)              # → ndarray (DIM,)
spline.evaluate_batch(times, deriv=Deriv.Pos)    # → ndarray (N, DIM)

Deriv values: Pos, Vel, Acc, Jerk, Snap, Crackle, Pop


BoundaryConditions

bc = BoundaryConditions3D()                             # all zero
bc = BoundaryConditions3D(start_velocity, end_velocity)
bc = BoundaryConditions3D(start_velocity, start_acceleration,
                          end_velocity,   end_acceleration)
bc = BoundaryConditions3D(start_velocity, start_acceleration, start_jerk,
                          end_velocity,   end_acceleration,   end_jerk)

All vector arguments accept list, tuple, or ndarray of shape (DIM,).
Properties: start_velocity, start_acceleration, start_jerk, end_velocity, end_acceleration, end_jerk


Optimizers

opt = QuinticOptimizer3D()           # also Cubic*, Septic*, *1D–*6D
opt.set_config(
    rho_energy=1.0,                  # weight for built-in energy regularization
    integral_num_steps=64,           # trapezoidal integration steps per segment
)
ctx = opt.prepare_context(
    time_segments,                   # list[float], length N_seg
    waypoints,                       # ndarray (N_seg+1, DIM)
    bc=BoundaryConditions3D(),
    mask=None,                       # OptimizationMask or None (optimize everything)
)
x0  = opt.generate_initial_guess(ctx)          # → ndarray (D,)
cost, grad = opt.evaluate(ctx, x, time_cost, integral_cost)
spline = opt.get_working_spline(ctx)           # → QuinticSpline3D (copy)

OptimizationMask

Controls which variables are free vs. fixed.

mask = OptimizationMask()
mask.time      = [1, 0, 1]   # per-segment: 1=optimize, 0=fix
mask.waypoints = [0, 1, 1, 0] # per-waypoint: 0=fix, 1=optimize
mask.start.v = True           # optimize start velocity BC
mask.start.a = True           # optimize start acceleration BC
mask.end.v   = True
mask.end.a   = True

optimize()

from spline_trajectory import optimize

result = optimize(
    optimizer, ctx,
    time_cost=None,       # callable(times) → (float, ndarray)  or None
    integral_cost=None,   # callable(t, t_global, seg, step, p,v,a,j,s)
                          #         → (cost, gp, gv, ga, gj, gs, gt)  or None
    max_iter=200,
    ftol=1e-9,
    gtol=1e-6,
)
# result is scipy.optimize.OptimizeResult

time_cost signature:

def time_cost(times: np.ndarray) -> tuple[float, np.ndarray]:
    # times: shape (N_seg,) — decoded segment durations
    # returns: scalar cost, gradient of shape (N_seg,)
    return float(np.sum(times)), np.ones_like(times)

integral_cost signature:

def integral_cost(t, t_global, seg, step, p, v, a, j, s):
    # t        : local time within segment
    # t_global : global time
    # seg      : segment index
    # step     : integration step index
    # p,v,a,j,s: ndarray (DIM,) — pos, vel, acc, jerk, snap
    # returns  : (cost, gp, gv, ga, gj, gs, gt)
    z = np.zeros_like(p)
    return 0.0, z, z, z, z, z, 0.0

optimize_closed_loop()

from spline_trajectory import optimize_closed_loop

result, ctx = optimize_closed_loop(
    optimizer,
    waypoints,            # ndarray (N, DIM) — last row is overwritten with first
    time_segments,        # list[float], length N (one per gate)
    closure_weight=5000.0,  # penalty weight for BC continuity at junction
    rho_energy=0.5,
    integral_num_steps=64,
    optimize_times=True,
    time_cost=None,
    integral_cost=None,
    max_iter=300,
)
spline = optimizer.get_working_spline(ctx)

The function:

  1. Closes the position loop (waypoints[-1] ← waypoints[0])
  2. Frees start/end boundary derivatives as decision variables
  3. Adds closure_weight * ‖start_BC − end_BC‖² to the objective

A closure_weight of 1000–10000 typically achieves ‖Δv‖ < 1e-4.


Supported dimensions

Suffix DIM
1D 1
2D 2
3D 3 (default alias)
4D 4
5D 5
6D 6 (e.g. 6-DOF robot joints)
from spline_trajectory import (
    QuinticSpline6D, BoundaryConditions6D,
    QuinticOptimizer6D,
)

C++ Library

For the header-only C++ library, performance benchmarks, and the SplineOptimizer C++ API, see README_cpp.md.

License

MIT License. See LICENSE for details.

Metadata

Release files for spline-trajectory 0.1.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 spline-trajectory 0.1.0
File Size Uploaded
spline_trajectory-0.1.0.tar.gz 3.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for spline-trajectory 0.1.0
File
spline_trajectory-0.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
spline_trajectory-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
spline_trajectory-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
spline_trajectory-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
spline_trajectory-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
spline_trajectory-0.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
spline_trajectory-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.9+ x86-64 Details
spline_trajectory-0.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
spline_trajectory-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
spline_trajectory-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
spline_trajectory-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
spline_trajectory-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
spline_trajectory-0.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
spline_trajectory-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
spline_trajectory-0.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
spline_trajectory-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
spline_trajectory-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
spline_trajectory-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
spline_trajectory-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
spline_trajectory-0.1.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
spline_trajectory-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
spline_trajectory-0.1.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
spline_trajectory-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
spline_trajectory-0.1.0-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
spline_trajectory-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
spline_trajectory-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
spline_trajectory-0.1.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
spline_trajectory-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 46.2 MB

Release files / spline_trajectory-0.1.0.tar.gz

Download URL spline_trajectory-0.1.0.tar.gz
Size 3.3 MB
Tags Source
SHA-256 checksum
How to use checksums
0c4a16257bd72d7e2d16d38e9cd599e1c428770b2b09c07b4d9b95a31e7fd78f
BLAKE2b-256 checksum
How to use checksums
d5fa7d80ac74ca3d33acbe94e9f8820a007cf9f373fdd5ce793c8b27827845d0
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 Apr 2, 2026.

Transparency log

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

Download URL spline_trajectory-0.1.0-cp312-cp312-win_amd64.whl
Size 737.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d5d2bc5aff06384eb1a2dcfa5f059ff36f2e03a741a5f2c50fb7317d4a681838
BLAKE2b-256 checksum
How to use checksums
61b98352cd7c605e04055f0eff149dd9520252a74c1aceee83425cc245f93ec8
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL spline_trajectory-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
49fca4524a8b9710e8e9bf24afe40a0767d24c420c9c13ab66137fbbea8c332f
BLAKE2b-256 checksum
How to use checksums
a8cf5b78603b59ac8343ff06b2f71b03efbaebe1460a07cfdf959c52a13349e1
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL spline_trajectory-0.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5bd5d0cc6d2e5ec40d860f97f6e75bde3d827b554ef481d599dbecf68fdf2d1f
BLAKE2b-256 checksum
How to use checksums
bf6135d93c96986a27299713405fc40b0069c163d2f5776153b33e3302c0afe8
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL spline_trajectory-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d5a6d4b30d3bfd4bc0a2fb2c571af1b5bfc50f9188b418b25ed6a56a0f27dbb3
BLAKE2b-256 checksum
How to use checksums
8161467e74aedfe4a56988ed1b62a51af069b7de6174d55e5e3ed0a7c71d63f2
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL spline_trajectory-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d3db986392286356d70feb194108e72ca331af4c360b87823a1cc24fc5a3fae9
BLAKE2b-256 checksum
How to use checksums
ab20766541f58e390a647129f35f699fe918334797c4c032eefe590ac7a31d8b
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL spline_trajectory-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 925.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a97d477d2a0cd4f06ad1111d8c646acb7672b8a9e0e3144a29a526db2815622d
BLAKE2b-256 checksum
How to use checksums
eee98bba0527440e102626a95be73aedc8bd2b3fe5dbebc55765040d60b08d41
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl

Download URL spline_trajectory-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
0462d8035cc809295c25da0821a03322bb01c08d5d6b65ab0cdacee77fda334b
BLAKE2b-256 checksum
How to use checksums
e30001962de7ea755413999e31b229c1a5031f0c86d5d37e190d989357a4f084
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 Apr 2, 2026.

Transparency log

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

Download URL spline_trajectory-0.1.0-cp311-cp311-win_amd64.whl
Size 736.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
56cf611802151675bebb8a7acf2a730c919505dc862fb89a5b6cfaee504abda1
BLAKE2b-256 checksum
How to use checksums
d7be02ca969d340a3637186b6f267e8e5092900d1beb431d39617236a9a404a6
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL spline_trajectory-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8c776e209848043fdc31d32651c8e7651670322a11be3501d3100b2e49928742
BLAKE2b-256 checksum
How to use checksums
f17122b9a40a0980b5757c28326d4cf6126218589cf2bcc2ad298778265f8a58
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL spline_trajectory-0.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
f8952be996d00b6278e6746da2b8594aac224254421a1b00143ba89e55d0c299
BLAKE2b-256 checksum
How to use checksums
fef8c723cc5df3b9b243eaa14f3e3af335cc23a923f56b39abbacc7b9de70edb
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL spline_trajectory-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
12965cf9745058b60158fa1ac637fbe92ed946b2ee05513710a503cb881c2fc4
BLAKE2b-256 checksum
How to use checksums
d3570dec30b474a48a984d34ef8f6ce82be3dcb4d9a469623bb93eb6b86ce945
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL spline_trajectory-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5d8d948d7aada3df50d420de0e745f126144bc590b396a89bcaf4f0d0d12c191
BLAKE2b-256 checksum
How to use checksums
57f676f44c0dbae1dd7be98e2d486b60a39b83db2f33ff9ef727297104d69526
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL spline_trajectory-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 920.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
932487c2107cfe8db339c97f6a476f5a2ed020ed01f682494fe2c845ead09266
BLAKE2b-256 checksum
How to use checksums
083c5766fcd2c2809cfebe8481b515cfd9b20351fc3a5ff70d5d09e5d66aaf7f
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL spline_trajectory-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
bd239ec3d765f67dbcdb51cb8345380f423410ad286ac595e4ebdaad85ea71e9
BLAKE2b-256 checksum
How to use checksums
d9e45a58f553804be707090ed827acc8ae15d1f9d0c4beadad64a7815dfcc2c6
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 Apr 2, 2026.

Transparency log

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

Download URL spline_trajectory-0.1.0-cp310-cp310-win_amd64.whl
Size 735.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6ac1ad447dbacfc2de5f2df34e8f6fa8972883928143ab292867bef522f2ba52
BLAKE2b-256 checksum
How to use checksums
88b8654a71a83f759fc2c8f146490e42f02f77d507074635e2bf6c353a9b0b65
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL spline_trajectory-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a609f343ec9b889cb1f4616a2c297298c62103523c68aecc9e15153822a6aa15
BLAKE2b-256 checksum
How to use checksums
cbdb00366d6b5e77a95361ca5c7b9383c20a946933136a72ff003171d1563901
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL spline_trajectory-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
Size 1.9 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
359a1e759479b378032830db4d72a475cf806e4293482bc865bebeaa47598cf9
BLAKE2b-256 checksum
How to use checksums
8690642a39e4c0afde84fde70bcbbf33214f9e52da9e8ee506c4e585857f4f6f
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL spline_trajectory-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d60b04febfd4f7453a9751a660534346ee54d5127ca01a1d58e540964cb2f4ce
BLAKE2b-256 checksum
How to use checksums
e0183c3227cd59e671dd22f9850026fbca4e19635e8856e0d6ca10e3ed9bd7f0
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL spline_trajectory-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c26318fbace710004d4cbe9032929095b7e8a6a7c86342e15eb1c5dc0d755dc4
BLAKE2b-256 checksum
How to use checksums
dba5751ee7e62c517a492d8036bff0a3833c357f1543ccf39325ec455ea3dbea
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL spline_trajectory-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Size 919.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6a6a6d33cee77d68494e4e8c2c8a0e1fb9decb34e753f23071e67220db0f7bd3
BLAKE2b-256 checksum
How to use checksums
e35623f8f06b44872f9ffc65357918e1acc1c486ddf783b9feec0c74a3b62cf6
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL spline_trajectory-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c2a20981f7159b4f1b8b5bc0618aff3eeddc9dab156cb5384b4771cfaa9be680
BLAKE2b-256 checksum
How to use checksums
69be03538e3800eaf423c00eb990f203b95c8a57f300e5b37c27babfc4f0e0be
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-win_amd64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-win_amd64.whl
Size 2.7 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
24e20eacd16b1ebe40a51675225dc8836957f3b4b64d40277fca4feb08f42f2a
BLAKE2b-256 checksum
How to use checksums
73b77502f2c64fa245b890dad98e6593bda6a3dc2ae06f78b608d46deec4eaf8
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c876661bcb8b98eb0cffe27656d5bb817c25c930472ad2864801a2cfe822f8a0
BLAKE2b-256 checksum
How to use checksums
60edcf2ee30043a8990ef8c50a306f25a789e40a21493473748f9fa9ab081518
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-musllinux_1_2_aarch64.whl
Size 3.8 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
82f3ea9f645436f6c0ec95122d86ee1781a2753246da26056980eae60762036f
BLAKE2b-256 checksum
How to use checksums
4321539bd2d1a9171ab42828381066212609746c38592b1fd0667da93a7675ec
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e969defbd15e3f39e051ac41214090994980070424b3dbb25d85ed83a53ca68c
BLAKE2b-256 checksum
How to use checksums
0895ae496f13336182203d3ebfd8a33ba5deaf08c8fbf0d697112d3e61ba6a63
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.9 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
03f41e24ac594dd25ce7f1b358cba67b552a89827df47b2aaf4e99b9198ed550
BLAKE2b-256 checksum
How to use checksums
0da8195ff707a91b266d662c332d15a606f5e327b7f895152d94c89ceb308d86
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Size 919.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9c8a987b244961151b780ff13bb091e7012c3d857b138df7643cb7d01913f574
BLAKE2b-256 checksum
How to use checksums
d6779cfb70c394d64cae1623c49670fe9d3a65d666d43c3969a24fb664ae2f9d
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 Apr 2, 2026.

Transparency log

Release files / spline_trajectory-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL spline_trajectory-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 1.0 MB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
696f83f0eef7f0090613441a4220e803679b878b6d67a0623e5a3b4e1a0302d1
BLAKE2b-256 checksum
How to use checksums
5f95bd612cf1aa8a59c0bad9d6a56a75b1dfaba83f29c774e901c223fdd86270
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 Apr 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

29 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