Skip to content

API Reference

This document provides API reference for the NavArena embodied navigation infrastructure. NavArena consists of four sub-projects: Core Library (navarena-core), Asset Preprocessing (navarena-forge), Data Generator (navarena-gen), and Evaluation Framework (navarena-bench).

Core Library API (navarena-core)

navarena-core provides shared configuration, data models, rendering, and utilities. For full details, see Core Library.

Main Exports

  • BaseConfig, load_config, resolve_path, resolve_scene_dir, get_assets_dir, get_datasets_dir, get_shared_dir — config and path resolution
  • Episode, TrajectoryStep, SceneAsset, ParquetDatasetReader, ParquetEpisodeWriter, ParquetTrajectoryWriter, validate_episode, validate_dataset — data models and I/O
  • get_logger, setup_logging — logging

Data Generator API

For the complete Data Generator API, see Data Generator API.

Main Classes

  • BaseGenerator - Generator base class; registered subclasses: PointNavGenerator, ImageNavGenerator, ObjectNavGenerator, VLNGenerator
  • BaseSimEnv - Simulation environment base class; GSSimEnv for 3D GS
  • BaseInstructionGenerator - Instruction generator base class (VLN); registered subclasses: SimpleDirectionInstructionGenerator, PathBasedInstructionGenerator, ObjectGoalInstructionGenerator
  • GridAStarPlanner - Global A* path planner
  • TwoStageTrajectoryPlanner - Two-stage trajectory planner (A* + local smoothing)
  • DatasetWriter, TrajectoryWriter - Data writers
  • GeneratorConfig - Data generation configuration class

Evaluation Framework API

For the complete Evaluation Framework API, see Evaluation Framework API.

Main Classes

  • Evaluator - Evaluator base class; registered subclasses: PointNavEvaluator, ImageNavEvaluator, ObjectNavEvaluator, VLNEvaluator
  • Env - Environment base class; GaussianSplattingEnv for 3D GS
  • Agent - Agent base class; registered subclasses: LocalAgent, RemoteAgent, ViNTAgent, GNMAgent, NoMaDAgent, MultiModalNavAgent, LanguageNavAgent
  • Dataset - Dataset base class; EpisodeDataset implementation
  • Metric - Metric base class; NavigationMetrics implementation

Quick Reference

Data Generator

from navarena_gen.generators.base import BaseGenerator
from navarena_gen.envs.base import BaseSimEnv
from navarena_gen.config.base_config import GeneratorConfig

# Load config
config = GeneratorConfig.from_yaml("configs/examples/pointnav_example.yaml")

# Create env and generator
env = BaseSimEnv.init(config.env_type, config.env_config)
env.load_scene(config.get_resolved_scene_path())
generator = BaseGenerator.init(config.task_type, config.task_config)

# Stream episodes
for episode in generator.generate(env, config.num_episodes):
    ...

Evaluation Framework

from navarena_bench.evaluator import Evaluator
from navarena_bench.configs.eval_config import EvalCfg

# Load config
config = EvalCfg.from_yaml("configs/eval/default_eval.yaml")

# Create evaluator
evaluator = Evaluator.init(config)

# Run evaluation
results = evaluator.eval()

Full Documentation