skillfed

rdp

Pure Python implementation of the Ramer-Douglas-Peucker algorithm

rdp v0.8 90.4K downloads/30d#13,591 on PyPI261
Permissive license MIT Abandoned released

What it is and what it does

rdp is a pure Python implementation of the Ramer-Douglas-Peucker line simplification algorithm, which reduces the number of points needed to represent a curve while maintaining its overall shape. It accepts either plain Python lists of coordinate pairs or NumPy arrays, making it suitable for both simple scripts and numerical computing workflows.

The algorithm works by iteratively removing points that fall within a specified distance (epsilon) of the line connecting their neighbors. This is commonly used in cartography, GPS track simplification, and graphics rendering to reduce data size or computational cost without significant loss of fidelity. The package provides a straightforward functional interface—call rdp() with your point sequence and an optional epsilon parameter.

Use it for:

  • Simplify GPS tracks or map polylines to reduce storage and transmission overhead while preserving route shape.
  • Decimate dense point clouds from sensors or 3D scans before visualization or further processing.
  • Reduce the complexity of hand-drawn curves or paths in graphics applications for cleaner rendering.
  • Compress time-series trajectory data in robotics or motion capture systems.
  • Preprocess geometric data for machine learning pipelines that are sensitive to point density.

Worth the install?

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

Implements the Ramer-Douglas-Peucker algorithm to reduce the number of points in a 2D or 3D curve while preserving its shape, with a simple Python interface and optional NumPy support.

No. The package is abandoned (last release 2016-12-19, repository archived) with classifiers only for Python 2.5–3.4, all now end-of-life. High install friction and no runtime dependencies means you're taking on maintenance risk for a decade-old codebase. If you need line simplification, consider a maintained alternative or vendor the algorithm directly.

Install

rdp on PyPI

pip

pip install rdp

uv

uv add rdp

poetry

poetry add rdp

Installing rdp

Before you install

High install friction due to source distribution only (rdp-0.8.tar.gz). The package is abandoned—last release was 2016-12-19 and the repository is archived—so no maintenance or updates are expected.

License in practice

MIT license is permissive, allowing commercial and private use with minimal restrictions.

Quickstart

pip install rdp

from rdp import rdp
rdp([[1, 1], [2, 2], [3, 3], [4, 4]])

Classifiers indicate support only for Python 2.5–3.4, all end-of-life; compatibility with modern Python versions is unverified.

Verify before relying

  • Whether the package works reliably on modern Python versions despite classifiers only listing up to 3.4.
  • Whether NumPy is an optional or required dependency—description mentions NumPy interface but deps list shows zero runtime dependencies.

Package facts

License MIT (permissive)
Python support not specified
Install friction high — source build required
Runtime dependencies none
Maintenance abandoned — 3,525 days since the last release
Last repo commit (repository archived)
First released
Downloads 90,363/month — #13,591 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: rdp-0.8.tar.gz

Keywords: rdp, ramer, douglas, peucker, line, simplification, numpy

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4

Tags

line simplification algorithmcurve point reductionramer douglas peuckerpolyline simplificationgeometric curve decimationpath simplification pythonrdp algorithm implementation
geometrycurve-simplificationabandoned

More Mathematics packages