--- id: evo version: "1.37.0" license: GNU General Public License v3 (GPLv3) license_treatment: copyleft maintenance: active --- # evo — Python package for the evaluation of odometry and SLAM License: copyleft · Maintenance: active · Downloads: 251.5K/mo ## 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 above — verify before relying. evo evaluates and compares trajectory output from odometry and SLAM algorithms, supporting multiple formats (TUM, KITTI, EuRoC, ROS bags) and providing CLI tools for metrics, plotting, and export. 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 pip install evo uv add evo poetry add evo ## Installing evo 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. 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 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. 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 - License: GNU General Public License v3 (GPLv3) (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 251.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags SLAM trajectory evaluation, odometry benchmarking, pose error metrics, trajectory comparison tool, KITTI dataset analysis, ROS bag file processing, visual odometry evaluation, robotics, slam-evaluation, trajectory-analysis [View on SkillFed](https://skillfed.io/packages/evo) · [View on PyPI](https://pypi.org/project/evo/)