skillfed

pyclothoids

A library for clothoid curves in Python

pyclothoids v0.2.0 106.8K downloads/30d#12,640 on PyPI57
License unclear AGING released

What it is and what it does

Pyclothoids wraps state-of-the-art numerical algorithms for clothoid curve geometry into a simple, immutable Python API centered on a single Clothoid class. Clothoid curves are spirals with the mathematical property that curvature increases linearly with arc length—a property valuable in physics and engineering but expensive to compute because Cartesian coordinates require Fresnel integral evaluation. The library aims to hide that complexity behind an intuitive interface so you can use clothoids without mastering the underlying numerical methods.

The package is designed for minimalism: the top-level API consists of one class, Clothoid, which is immutable—any transformation returns a new instance rather than modifying the original. This design prevents common errors and keeps the learning curve shallow. The description notes that clothoids are not always well-behaved and recommends considering simpler curves first unless clothoid properties are genuinely required for your problem.

Use it for:

  • Road and railway design: clothoids are standard in civil engineering for smooth transitions between straight and curved sections.
  • Robot path planning: computing smooth, curvature-continuous trajectories for autonomous systems.
  • Optical and wave physics: modeling light paths and wave propagation where linear curvature growth is relevant.
  • Computer graphics and animation: generating smooth spiral curves for visual effects or motion paths.
  • Numerical geometry research: prototyping and experimenting with clothoid-based algorithms without low-level implementation overhead.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pyclothoids provides a Python interface to compute and manipulate clothoid curves—mathematical curves parameterized by arc length with closed-form tangent and curvature expressions, evaluated via Fresnel integrals.

Yes, if you need clothoid curves and are comfortable with aging maintenance. The package is stable (no known vulnerabilities, last release April 2025), has reasonable platform coverage via pre-built wheels, and solves a specialized but real problem in engineering and physics. The main caveat is the unclear license—verify it matches your project's requirements before committing. Not recommended if simpler curves will solve your problem.

Install

pyclothoids on PyPI

pip

pip install pyclothoids

uv

uv add pyclothoids

poetry

poetry add pyclothoids

Installing pyclothoids

Before you install

Medium install friction: the package ships as pre-built wheels across macOS, Linux (manylinux and musl), and Windows, but depends on pybind11 at runtime. Last release was in April 2025; the repository is active but aging (493 days since last release).

License in practice

License status is unclear—no SPDX identifier or raw license text is recorded. Before adopting this package in a commercial or copyleft-sensitive project, verify the actual license terms in the repository.

Quickstart

pip install pyclothoids

from pyclothoids import Clothoid

# Create a clothoid curve
clothoid = Clothoid.StandardParams(curvature_start=0.0, curvature_end=0.1, arc_length=10.0)
print(clothoid)

pybind11 is listed as a runtime dependency; verify it is installed or included with the wheels for your platform.

Verify before relying

  • Minimum Python version requirement is unspecified; wheels exist but earlier support is unknown.
  • Whether pybind11 must be installed separately or is bundled with the wheels.
  • Actual license identifier and terms (SPDX and raw text both missing from metadata).

Package facts

License not declared (unclear)
Python support not specified
Install friction medium — platform-specific wheel
Runtime dependencies 1 — pybind11
Maintenance aging — 493 days since the last release
Last repo commit
First released
Downloads 106,770/month — #12,640 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyclothoids-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl; pyclothoids-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl; pyclothoids-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyclothoids-0.2.0-cp310-cp310-musllinux_1_1_i686.whl; pyclothoids-0.2.0-cp310-cp310-musllinux_1_1_x86_64.whl; pyclothoids-0.2.0-cp310-cp310-win32.whl; pyclothoids-0.2.0-cp310-cp310-win_amd64.whl; pyclothoids-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl; pyclothoids-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl; pyclothoids-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyclothoids-0.2.0-cp311-cp311-musllinux_1_1_i686.whl; pyclothoids-0.2.0-cp311-cp311-musllinux_1_1_x86_64.whl; pyclothoids-0.2.0-cp311-cp311-win32.whl; pyclothoids-0.2.0-cp311-cp311-win_amd64.whl; pyclothoids-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl; pyclothoids-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl; pyclothoids-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyclothoids-0.2.0-cp312-cp312-musllinux_1_2_i686.whl; pyclothoids-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl; pyclothoids-0.2.0-cp312-cp312-win32.whl

Tags

clothoid curve computationfresnel integral evaluationarc-length parameterized curvesgeometric curve manipulationclothoid geometry libraryspiral curve mathematicscurvature and tangent anglenumerical curve algorithms
geometrynumerical-methodsengineering

More Mathematics packages