$npx skillfedfor your agent

python-fcl

Python bindings for the Flexible Collision Library

With conditionsPyPI Scientific/EngineeringReleased Apr 2026220.1K downloads / moBSDPlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — python_fcl-0.7.0.11-cp310-cp310-macosx_10_9_x86_64.whl · python_fcl-0.7.0.11-cp310-cp310-macosx_11_0_arm64.whl · python_fcl-0.7.0.11-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
v0.7.0.11 · released 2026-04-08 · Python >=3.9 · 2 runtime deps: numpy, Cython

Yes, if you need collision detection and distance queries in Python and can satisfy the system library prerequisites. The library is actively maintained, supports current Python versions (3.9+), carries no known vulnerabilities, and has a permissive BSD license. The main friction is the upfront system dependency installation; once that is done, the wheels install cleanly. Suitable for robotics, simulation, and computational geometry projects.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires libfcl-dev and liboctomap-dev system libraries installed before pip install; on Ubuntu use `sudo apt-get install libfcl-dev liboctomap-dev`, or compile FCL from source on other systems.
  • Medium install friction due to compiled C++ bindings; requires pre-installed system libraries (libfcl-dev and liboctomap-dev on Ubuntu, or manual FCL compilation).
  • Wheels are available for Python 3.10–3.13 on macOS, Linux, and Windows.

License · maintenance · safety

BSD (permissive) — BSD permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

last release 2026-04-08 (128 days) · last repo commit 2026-04-08 · 272 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 220,138 downloads/mo, #9,312 on PyPI

Verify before relying

pip install python-fcl

import fcl
import numpy as np

g1 = fcl.Box(1, 2, 3)
t1 = fcl.Transform()
o1 = fcl.CollisionObject(g1, t1)

g2 = fcl.Sphere(1.0)
t2 = fcl.Transform(np.array([2.0, 0.0, 0.0]))
o2 = fcl.CollisionObject(g2, t2)

request = fcl.CollisionRequest()
result = fcl.CollisionResult()
ret = fcl.collide(o1, o2, request, result)
  • Whether OcTree support requires additional runtime configuration beyond liboctomap-dev installation
  • Performance characteristics for large-scale mesh collision queries or high-frequency distance checks
  • Stability of the Alpha status (Development Status :: 3) and whether breaking changes are expected
Same gist for agents: .md · .json

What it is and what it does

Python-FCL is an unofficial Python interface to the Flexible Collision Library, a C++ library for geometric proximity queries. It wraps FCL's core algorithms to let you detect collisions between 3D shapes, compute minimum distances between objects, and check for collisions during motion. The package supports geometric primitives (boxes, spheres, cylinders, cones, capsules, ellipsoids, half-spaces, planes) and arbitrary triangle meshes via BVHModel or Convex wrappers, plus OcTree structures for spatial hierarchies.

You work with CollisionObject instances (a geometry plus a pose), set up request/response structures, and call query functions like collide(), distance(), or continuousCollide(). The library is commonly used in robotics, physics simulation, and motion planning where you need fast, accurate proximity checks. Installation requires pre-built system libraries (libfcl-dev and liboctomap-dev on Linux) or manual FCL compilation; wheels are provided for recent Python versions on major platforms.

Use it for

  • Robotics motion planning: check for collisions between robot links and obstacles during path planning
  • Physics simulation: compute contact points and distances for rigid body dynamics engines
  • Continuous collision detection: detect whether moving objects collide during a time interval
  • Mesh-based proximity queries: compute minimum distance between complex triangle meshes
  • Spatial reasoning in autonomous systems: query geometric relationships for navigation and manipulation

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need collision detection and distance queries in Python and can satisfy the system library prerequisites.

The library is actively maintained, supports current Python versions (3.9+), carries no known vulnerabilities, and has a permissive BSD license. The main friction is the upfront system dependency installation; once that is done, the wheels install cleanly. Suitable for robotics, simulation, and computational geometry projects.

Install

python-fcl on PyPI

Before you install

Medium install friction due to compiled C++ bindings; requires pre-installed system libraries (libfcl-dev and liboctomap-dev on Ubuntu, or manual FCL compilation). Wheels are available for Python 3.10–3.13 on macOS, Linux, and Windows. Active maintenance with recent release (128 days ago).

Requires libfcl-dev and liboctomap-dev system libraries installed before pip install; on Ubuntu use `sudo apt-get install libfcl-dev liboctomap-dev`, or compile FCL from source on other systems.

License in practice

BSD permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

pip install python-fcl

import fcl
import numpy as np

g1 = fcl.Box(1, 2, 3)
t1 = fcl.Transform()
o1 = fcl.CollisionObject(g1, t1)

g2 = fcl.Sphere(1.0)
t2 = fcl.Transform(np.array([2.0, 0.0, 0.0]))
o2 = fcl.CollisionObject(g2, t2)

request = fcl.CollisionRequest()
result = fcl.CollisionResult()
ret = fcl.collide(o1, o2, request, result)

Verify before relying

  • Whether OcTree support requires additional runtime configuration beyond liboctomap-dev installation
  • Performance characteristics for large-scale mesh collision queries or high-frequency distance checks
  • Stability of the Alpha status (Development Status :: 3) and whether breaking changes are expected

Package facts

LicenseBSD permissive
Python supportSupports the current Python release >=3.9
Install frictionMedium. Platform-specific wheel
Runtime dependencies
2 packages
numpyCython
MaintenanceActively maintained 128 days since the last release
Last repo commit
First released
Downloads220,138 / month, #9,312 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaLicense :: OSI Approved :: BSD LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPython

Evidence: python_fcl-0.7.0.11-cp310-cp310-macosx_10_9_x86_64.whl; python_fcl-0.7.0.11-cp310-cp310-macosx_11_0_arm64.whl; python_fcl-0.7.0.11-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; python_fcl-0.7.0.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; python_fcl-0.7.0.11-cp310-cp310-win_amd64.whl; python_fcl-0.7.0.11-cp311-cp311-macosx_10_9_x86_64.whl; python_fcl-0.7.0.11-cp311-cp311-macosx_11_0_arm64.whl; python_fcl-0.7.0.11-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; python_fcl-0.7.0.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; python_fcl-0.7.0.11-cp311-cp311-win_amd64.whl; python_fcl-0.7.0.11-cp312-cp312-macosx_10_13_x86_64.whl; python_fcl-0.7.0.11-cp312-cp312-macosx_11_0_arm64.whl; python_fcl-0.7.0.11-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; python_fcl-0.7.0.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; python_fcl-0.7.0.11-cp312-cp312-win_amd64.whl; python_fcl-0.7.0.11-cp313-cp313-macosx_10_13_x86_64.whl; python_fcl-0.7.0.11-cp313-cp313-macosx_11_0_arm64.whl; python_fcl-0.7.0.11-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; python_fcl-0.7.0.11-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; python_fcl-0.7.0.11-cp313-cp313-win_amd64.whl

Tags

Capabilities
collision detection librarydistance computation geometrycontinuous collision detectionfcl python bindingsproximity queries 3dgeometric collision checkingrigid body collision
Topics
collision-detectioncomputational-geometryrobotics
PyPI keywords
fclcollisiondistance

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “continuous collision detection”

  • python-fclPython bindings for the Flexible Collision Library (FCL) that perform…
  • coalCoal is a collision detection and distance computation library that…
  • libcoallibcoal provides Python bindings for collision detection and distance…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also coal-library · libcoal · coal · euclid3 · vhacdx · pyvrl · shapely · transforms3d · cmeel-qhull