Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
f73997e
Begin cleaning up metadata type
contagon Sep 21, 2025
97e4ab2
Write new pipeline and dataset registration methods
contagon Sep 26, 2025
2e2363a
Small tweaks to clean up changes
contagon Sep 27, 2025
7073739
Major changes to underlying types and serialization code
contagon Sep 29, 2025
d4ffdd0
Finalizing all parsing code
contagon Sep 30, 2025
261f165
Finish adding tests for new trajectory and metadata classes
contagon Sep 30, 2025
419194d
Officially moved over to new experiment class
contagon Sep 30, 2025
7148ee8
Fix a handful of small bugs when playing around with things
contagon Sep 30, 2025
eeebc53
Add default params to parser
contagon Sep 30, 2025
ebf4e5d
Clean up stats command A LOT
contagon Oct 1, 2025
8226800
Fix some of pipeline parsing
contagon Oct 1, 2025
a4b45f2
Add generics to Trajectory to help with metadata types
contagon Oct 1, 2025
8935da9
Remove a bunch of type: ignores
contagon Oct 1, 2025
0fb6924
Update stats command for more flexible window specifying
contagon Oct 1, 2025
87198ce
Clean up stats window nomenclature
contagon Oct 1, 2025
e36b05b
Add EVALIO_CUSTOM hooks
contagon Oct 1, 2025
e5669e9
Update all documentation of rewrite
contagon Oct 1, 2025
312e8fa
Fix pipeline docs
contagon Oct 1, 2025
760ed7c
Clean up rest of pipeline docs
contagon Oct 1, 2025
7f82c94
Clean up some minor bugs
contagon Oct 2, 2025
12b2420
Some stats optimizations
contagon Oct 2, 2025
12424a7
preprocess stamp style in csv loading
contagon Oct 2, 2025
a8d8dea
Shorten readme, add in citations
contagon Oct 2, 2025
20bd7e3
Try with cff file
contagon Oct 2, 2025
400b933
Fix citation.. hopefully
contagon Oct 2, 2025
e875cfd
Move to bib for citation
contagon Oct 2, 2025
642a7aa
Clean up stats options
contagon Oct 3, 2025
7af2459
Add in faster csv parser
contagon Oct 3, 2025
aa0fcce
Switch SE3 distance to cpp for speed
contagon Oct 3, 2025
6793019
Add in copy constructors
contagon Oct 3, 2025
9b78587
Speedup using c yaml loader
contagon Oct 3, 2025
936be9b
Move _check_overstep to cpp
contagon Oct 3, 2025
c18bbf2
Some niceties for output in stats
contagon Oct 3, 2025
21a1419
Bump rerun to 0.25
contagon Oct 3, 2025
2ce5f6d
Some misc cleanups throughout
contagon Oct 13, 2025
bce6d10
Begin switch from typer to cyclopts
contagon Oct 14, 2025
b9c3c34
Merge branch 'master' into feature/cyclopts
contagon Oct 15, 2025
dc78587
Custom help spec
contagon Oct 16, 2025
7848203
More migration to typer
contagon Oct 17, 2025
35fb91b
Add in global options
contagon Oct 17, 2025
53e0152
Big cleanup across all cli
contagon Oct 25, 2025
d23f6e5
Finalize init
contagon Oct 25, 2025
f65ec05
Cleanup run
contagon Oct 25, 2025
67bee0d
Clean up ls
contagon Oct 25, 2025
29332be
Clean up stats
contagon Oct 25, 2025
077d83c
Remove old Param call
contagon Oct 25, 2025
643413f
Clean up dataset autocompletion
contagon Oct 25, 2025
0dc9f52
Fix meta calling and parsing test
contagon Oct 25, 2025
4c4006f
Merge branch 'master' into feature/cyclopts
contagon Oct 26, 2025
5d16a83
Fix new tests
contagon Oct 26, 2025
998afea
Clean up some typing issues
contagon Oct 27, 2025
f09f7bf
Merge branch 'master' into feature/cyclopts
contagon Oct 27, 2025
8748e84
Merge branch 'main' into feature/cyclopts
contagon Nov 12, 2025
ee41cb5
Convert to cylcopts mkdocs cli plugin
contagon Nov 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/reusable_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ jobs:
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"

# Build docs
- name: Build docs
run: uv run mkdocs build

# Deploy latest tag
- name: Deploy docs
if: ${{ inputs.deploy_latest }}
Expand Down
18 changes: 12 additions & 6 deletions docs/included.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
from typing import Optional, cast

import mkdocs_gen_files
from evalio.cli.ls import Kind, ls
from evalio.cli.ls import ls
from rich.table import Table
import re


def clean_cell(cell: str) -> str:
"""Clean a cell by removing unwanted characters."""
# Convert to links
if cell.startswith("[link"):
match = re.match(r"\[link=(.*?)\](.*?)\[/link\]", cell)
if match:
url, text = match.groups()
cell = f"[{text}]({url})"
return cell

# Remove rich text formatting
cell = cell.replace("[bright_black]", "").replace("[/bright_black]", "")
# Remove line breaks
Expand All @@ -15,9 +24,6 @@ def clean_cell(cell: str) -> str:
cell = cell.replace(" ", " ")
# Non line breaking hyphen
cell = cell.replace("-", "‑")
# Convert to links
if cell.startswith("http"):
cell = f"[link]({cell})"

return cell.strip()

Expand Down Expand Up @@ -75,7 +81,7 @@ def rich_table_to_markdown(
f.write(DATASETS)
f.write("\n")

table = ls(Kind.datasets, show=False, show_hyperlinks=True)
table = ls("datasets", show=False)
if table is not None:
f.write(rich_table_to_markdown(table, skip_columns=["DL", "Size"]))

Expand All @@ -91,6 +97,6 @@ def rich_table_to_markdown(
f.write(PIPELINES)
f.write("\n")

table = ls(Kind.pipelines, show=False, show_hyperlinks=True)
table = ls("pipelines", show=False)
if table is not None:
f.write(rich_table_to_markdown(table))
6 changes: 6 additions & 0 deletions docs/ref/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# evalio

::: cyclopts
module: evalio.cli:app
generate_toc: false
code_block_title: true
8 changes: 0 additions & 8 deletions docs/ref/cli.py

This file was deleted.

7 changes: 5 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ theme:
watch:
- python/
- cpp/
- docs/

nav:
- evalio:
Expand Down Expand Up @@ -69,11 +70,13 @@ plugins:
search:
lang: en

# autogenerate evalio ls & cli pages
# autogenerate evalio ls
gen-files:
scripts:
- docs/included.py
- docs/ref/cli.py

# autogenerate cli docs
cyclopts:

# Autogenerate docs from docstrings
mkdocstrings:
Expand Down
7 changes: 5 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ description = "Evaluate Lidar-Inertial Odometry on public datasets"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"cyclopts==4.0",
"asteval>=1.0.6",
"distinctipy>=1.3.4",
"gdown>=5.2.0",
Expand All @@ -17,7 +18,6 @@ dependencies = [
"rapidfuzz>=3.12.2",
"rosbags>=0.11.0",
"tqdm>=4.66",
"typer>=0.15.3",
]
keywords = [
"lidar",
Expand All @@ -37,7 +37,7 @@ requires = ["scikit-build-core>=0.8", "nanobind>=2.9.2", "numpy"]
build-backend = "scikit_build_core.build"

[project.scripts]
evalio = "evalio.cli:app"
evalio = "evalio.cli:app.meta"

# -------------- Tools -------------- #
# building
Expand Down Expand Up @@ -104,3 +104,6 @@ stubPath = "python/typings"
reportPrivateUsage = "none"
reportConstantRedefinition = "none"
reportUnnecessaryIsInstance = "none"

[tool.uv.sources]
cyclopts = { git = "https://github.com/BrianPugh/cyclopts.git", branch = "mkdocs-plugin" }
Loading