$npx skillfedfor your agent

evo

Python package for the evaluation of odometry and SLAM

Worth itPyPI Scientific/EngineeringReleased Jul 2026251.5K downloads / mocopyleft licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — evo-1.37.0-py3-none-any.whl
v1.37.0 · released 2026-07-18 · Python >=3.10 · 14 runtime deps: argcomplete, colorama, matplotlib, natsort, numexpr, numpy, packaging, pandas

Yes. evo is actively maintained, has no known vulnerabilities, low install friction, and broad Python version support (3.10–3.14). The GPLv3 copyleft license is a constraint only if you plan to distribute proprietary derivatives. Install it if you need to evaluate odometry or SLAM trajectories; the CLI is straightforward and the library is modular for custom analysis.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Optional PyQt6 for enhanced GUI; otherwise uses TkAgg backend.
  • ROS bag file reading works without ROS installation via rosbags, but reading /tf topics requires ROS.

License · maintenance · safety

copyleft license (copyleft) — Licensed under GNU General Public License v3 (GPLv3), a copyleft license. Any derivative work or distribution must also be licensed under GPLv3 or later; proprietary use is not permitted.

last release 2026-07-18 (27 days) · last repo commit 2026-08-14 · 4,297 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 251,508 downloads/mo, #8,580 on PyPI

Verify before relying

pip install evo

# Plot trajectories
evo_traj kitti trajectory1.txt trajectory2.txt --ref=ground_truth.txt -p

# Calculate absolute pose error
evo_ape kitti ground_truth.txt estimated_trajectory.txt -va --plot
  • Whether the package's performance advantage over other Python-based tools remains current as of version 1.37.0.
  • Specific memory or computational limits when processing very large trajectory datasets.
  • Whether all optional dependencies (contextily, rerun-sdk) are automatically installed or require manual installation.
Same gist for agents: .md · .json

What it is and what it does

evo is a Python package for evaluating and benchmarking odometry and SLAM algorithm outputs. It reads trajectory data from multiple formats—TUM, KITTI, EuRoC, and ROS/ROS2 bag files—and provides a suite of CLI tools and a modular library for computing metrics (absolute and relative pose error), aligning trajectories, adjusting scale, and generating plots and statistical exports. The package is designed for researchers and roboticists who need to compare algorithm performance across standardized datasets or custom experiments.

The tool combines a command-line interface (evo_ape, evo_rpe, evo_traj, evo_res, evo_config) with a Python library for custom analysis. It depends on standard scientific Python stack components—numpy, scipy, pandas, matplotlib, seaborn—plus rosbags for ROS bag support and pillow for image handling. Installation is straightforward via pip into a virtual environment; optional PyQt6 improves the plotting GUI, and optional packages like contextily and rerun-sdk extend visualization capabilities.

Use it for

  • Compute absolute and relative pose error metrics to benchmark SLAM or visual odometry algorithms against ground truth.
  • Plot and compare multiple estimated trajectories side-by-side to visualize algorithm differences.
  • Export trajectory statistics and error metrics to CSV or LaTeX tables for research papers.
  • Process ROS bag files containing pose or odometry messages without requiring a full ROS installation.
  • Align and scale-adjust monocular SLAM output to ground truth before metric calculation.

Worth the install?

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

Worth it

Yes.

evo is actively maintained, has no known vulnerabilities, low install friction, and broad Python version support (3.10–3.14). The GPLv3 copyleft license is a constraint only if you plan to distribute proprietary derivatives. Install it if you need to evaluate odometry or SLAM trajectories; the CLI is straightforward and the library is modular for custom analysis.

Install

evo on PyPI

Before you install

Low install friction with a pure-wheel distribution. Active maintenance (last commit 2026-08-14, release 27 days ago) and broad Python support (3.10–3.14). Requires Python 3.10+; 14 runtime dependencies including numpy, pandas, scipy, and matplotlib are automatically resolved.

Requires Python 3.10 or later. Optional PyQt6 for enhanced GUI; otherwise uses TkAgg backend. ROS bag file reading works without ROS installation via rosbags, but reading /tf topics requires ROS.

License in practice

Licensed under GNU General Public License v3 (GPLv3), a copyleft license. Any derivative work or distribution must also be licensed under GPLv3 or later; proprietary use is not permitted.

Quickstart

pip install evo

# Plot trajectories
evo_traj kitti trajectory1.txt trajectory2.txt --ref=ground_truth.txt -p

# Calculate absolute pose error
evo_ape kitti ground_truth.txt estimated_trajectory.txt -va --plot

Verify before relying

  • Whether the package's performance advantage over other Python-based tools remains current as of version 1.37.0.
  • Specific memory or computational limits when processing very large trajectory datasets.
  • Whether all optional dependencies (contextily, rerun-sdk) are automatically installed or require manual installation.

Package facts

Licensecopyleft license copyleft
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
14 packages
argcompletecoloramamatplotlibnatsortnumexprnumpypackagingpandaspillowpygmentspyyamlrosbagsscipyseaborn
MaintenanceActively maintained 27 days since the last release
Last repo commit
First released
Downloads251,508 / month, #8,580 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: GNU General Public License v3 (GPLv3)Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Scientific/Engineering

Evidence: evo-1.37.0-py3-none-any.whl

Tags

Capabilities
SLAM trajectory evaluationodometry benchmarkingpose error metricstrajectory comparison toolKITTI dataset analysisROS bag file processingvisual odometry evaluation
Topics
roboticsslam-evaluationtrajectory-analysis
PyPI keywords
SLAMevaluationlasermetricodometryroboticstrajectoryvisionvisual

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 › “SLAM trajectory evaluation”

  • evoevo evaluates and compares trajectory output from odometry and SLAM…
  • strands-agents-evalsStrands Evals SDK provides a comprehensive evaluation framework for…
  • agentevalsProvides evaluators and utilities to assess agent trajectories—the…

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 mplib · toppra · pin · libpinocchio · python-motion-planning · agentevals · strands-agents-evals · gtsam

Further reading