flexpolyline
Flexible Polyline encoding: a lossy compressed representation of a list of coordinate pairs or triples
Decision gist · record as of 2026-08-14
Yes, if you need polyline encoding/decoding. The package is stable, dependency-free, permissively licensed, and handles both 2D and 3D coordinates with flexible precision. Dormancy is not a concern for a mature, single-purpose codec. Verify Python version compatibility for your target runtime.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with no runtime dependencies.
- Package is dormant (last release 2020-11-21, last commit 2024-09-24) but remains functional.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions—suitable for most projects including commercial ones.
last release 2020-11-21 (2092 days) · last repo commit 2024-09-24 · 116 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 139,456 downloads/mo, #11,299 on PyPI
Alternatives
Verify before relying
pip install flexpolyline
import flexpolyline as fp
example = [(50.1022829, 8.6982122), (50.1020076, 8.6956695)]
encoded = fp.encode(example)
decoded = fp.decode(encoded)- Whether precision parameter values (0 to 15) are actually enforced or validated by the implementation.
- Performance characteristics when encoding or decoding very large coordinate sequences.
- Compatibility with modern Python versions beyond 3.7, given classifiers list only up to 3.7.
What it is and what it does
FlexPolyline is a Python implementation of the Flexible Polyline encoding standard, a lossy compression format for geographic coordinate sequences. It reduces coordinate data by rounding decimal precision, encoding only offsets from the previous point, using variable-length encoding, and representing the result in URL-safe characters. The package provides symmetric encode/decode operations for both 2D (latitude, longitude) and 3D coordinates (with altitude, elevation, level, or custom dimensions), and supports both tuple and dictionary input/output formats.
The primary use case is compressing GPS traces, route paths, or other coordinate-heavy geographic data for efficient storage or transmission. With no external dependencies and a simple API, it integrates easily into mapping applications, location services, or any system that needs to serialize coordinate sequences compactly.
Use it for
- Compress GPS traces from mobile or IoT devices for efficient storage or API transmission.
- Encode route polylines in mapping or navigation applications to reduce payload size.
- Store 3D coordinate paths (with altitude or elevation) in a compact, URL-safe string format.
- Decode polyline strings received from external mapping services or APIs back into coordinate tuples.
- Serialize geographic boundaries or multi-point geometries with configurable precision trade-offs.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need polyline encoding/decoding.
The package is stable, dependency-free, permissively licensed, and handles both 2D and 3D coordinates with flexible precision. Dormancy is not a concern for a mature, single-purpose codec. Verify Python version compatibility for your target runtime.
Install
flexpolyline on PyPI
Before you install
Low friction install with no runtime dependencies. Package is dormant (last release 2020-11-21, last commit 2024-09-24) but remains functional.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for most projects including commercial ones.
Quickstart
pip install flexpolyline
import flexpolyline as fp
example = [(50.1022829, 8.6982122), (50.1020076, 8.6956695)]
encoded = fp.encode(example)
decoded = fp.decode(encoded)
Verify before relying
- Whether precision parameter values (0 to 15) are actually enforced or validated by the implementation.
- Performance characteristics when encoding or decoding very large coordinate sequences.
- Compatibility with modern Python versions beyond 3.7, given classifiers list only up to 3.7.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 2,092 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 139,456 / month, #11,299 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7 |
Evidence: flexpolyline-0.1.0-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 › “coordinate compression”
- flexpolylineEncodes and decodes geographic coordinate sequences into a compressed…
- pypolylineEncodes and decodes Google Polyline format coordinates using Rust…
- polylineEncodes and decodes geographic coordinate sequences using Google's…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
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.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
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.
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.
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.
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.
See also polyline · pypolyline · pygeohash · geohash2 · pylzss · python-geohash · reverse_geocoder · lat-lon-parser · pyGeoTile · timezonefinder