kneed
Knee-point detection in Python
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction (only numpy and scipy), and solves a specific well-defined problem with a published algorithm. The main caveat is the unclear license status—verify the actual license before use in proprietary contexts. For research, data analysis, and optimization tasks, it's a solid choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- Optional: matplotlib for plotting functionality (install via `pip install kneed[plot]`).
- Low friction install with only numpy and scipy as runtime dependencies.
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts.
last release 2026-03-20 (147 days) · last repo commit 2026-03-20 · 817 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 697,094 downloads/mo, #5,300 on PyPI
Alternatives
Verify before relying
pip install kneed
from kneed import KneeLocator, DataGenerator
x, y = DataGenerator.figure2()
kl = KneeLocator(x, y, curve="concave", direction="increasing")
print(kl.knee)- Whether the unclear license status reflects a missing declaration or an intentional choice to remain unspecified.
- Performance characteristics and scalability limits for very large datasets or high-dimensional curves.
What it is and what it does
Kneed is a Python library that implements the Kneedle algorithm for detecting knee or elbow points in curves—the points where the curve's curvature is greatest. It takes arrays of x and y values and returns the x-coordinate of maximum curvature, along with the corresponding y value. The library handles both concave and convex curves, supports increasing and decreasing functions, and can automatically detect curve shape if you're unsure. It depends on numpy and scipy for numerical computation.
The package is designed for exploratory data analysis and optimization problems where you need to find the "elbow" in a curve—a common task in clustering (determining optimal cluster count), performance tuning, and system behavior analysis. It includes utilities for generating test data, tuning sensitivity, and visualizing results with matplotlib (optional). The API is straightforward: instantiate KneeLocator with your data and curve parameters, then access the knee attribute.
Use it for
- Determine optimal cluster count in k-means clustering by finding the elbow in the inertia curve.
- Identify the point of diminishing returns in performance tuning or resource allocation curves.
- Analyze system behavior curves to detect where performance degrades or stabilizes.
- Find inflection points in cost-benefit or accuracy-complexity trade-off curves.
- Detect transition points in experimental or observational data where behavior changes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, installs with minimal friction (only numpy and scipy), and solves a specific well-defined problem with a published algorithm. The main caveat is the unclear license status—verify the actual license before use in proprietary contexts. For research, data analysis, and optimization tasks, it's a solid choice.
Install
kneed on PyPI
Before you install
Low friction install with only numpy and scipy as runtime dependencies. The package is actively maintained with a recent release (2026-03-20), supports Python 3.8 through 3.12, and has no known vulnerabilities.
Requires Python 3.8 or later. Optional: matplotlib for plotting functionality (install via `pip install kneed[plot]`).
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
pip install kneed
from kneed import KneeLocator, DataGenerator
x, y = DataGenerator.figure2()
kl = KneeLocator(x, y, curve="concave", direction="increasing")
print(kl.knee)
Verify before relying
- Whether the unclear license status reflects a missing declaration or an intentional choice to remain unspecified.
- Performance characteristics and scalability limits for very large datasets or high-dimensional curves.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesnumpyscipy |
| Maintenance | Actively maintained 147 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 697,094 / month, #5,300 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Information Analysis |
Evidence: kneed-0.8.6-py3-none-any.whl
Tags
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 › “knee point detection”
- kneedDetects knee (elbow) points in curves using the Kneedle algorithm,…
- rupturesDetects change points in time series and signal data using exact and…
- pointpatsPointpats provides statistical methods for analyzing planar point…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also pyclothoids · rdp · isosurfaces · kmodes · leidenalg · quadprog · cu2qu · libcoal · alphashape