serialization

JSON serialization for Walkers and optimization results.

Walker and optimization result serialization.

Provides JSON save/load for Walker instances and NsgaWalkingResult. Delegates to pylinkage’s graph_to_dict/graph_from_dict for topology and Dimensions.to_dict/Dimensions.from_dict for geometry (positions, distances, driver angles).

Files written by leggedsnake < 0.6.0 remain readable: pylinkage’s Dimensions.from_dict accepts both the current [node_a, node_b, distance] triples and the older stringified-tuple hyperedge keys.

Example:

from leggedsnake.serialization import save_walker, load_walker

save_walker(walker, "my_walker.json")
loaded = load_walker("my_walker.json")

# Save full optimization results
from leggedsnake.serialization import save_result, load_result
save_result(nsga_result, "optimization.json")
loaded_result = load_result("optimization.json")
leggedsnake.serialization.load_result(path: str | Path) NsgaWalkingResult | TopologyWalkingResult

Load an NsgaWalkingResult from a JSON file.

Parameters:

path (str | Path) – Path to JSON file created by save_result.

Return type:

NsgaWalkingResult

leggedsnake.serialization.load_walker(path: str | Path) Any

Load a Walker from a JSON file.

Parameters:

path (str | Path) – Path to JSON file created by save_walker.

Return type:

Walker

leggedsnake.serialization.result_from_dict(data: dict[str, Any]) NsgaWalkingResult | TopologyWalkingResult

Deserialize an NsgaWalkingResult from a plain dict.

Parameters:

data (dict[str, Any]) – Dictionary from result_to_dict.

Return type:

NsgaWalkingResult

leggedsnake.serialization.result_to_dict(result: NsgaWalkingResult) dict[str, Any]

Serialize an NsgaWalkingResult to a plain dict.

Serializes the Pareto front (scores, dimensions), configuration, and topology metadata. Gait and stability time series are omitted (too large and can be recomputed).

Parameters:

result (NsgaWalkingResult) – Optimization result to serialize.

Returns:

JSON-serializable dictionary.

Return type:

dict[str, Any]

leggedsnake.serialization.save_result(result: NsgaWalkingResult, path: str | Path) None

Save an NsgaWalkingResult to a JSON file.

Parameters:
  • result (NsgaWalkingResult) – Optimization result to save.

  • path (str | Path) – Output file path.

leggedsnake.serialization.save_walker(walker: Any, path: str | Path) None

Save a Walker to a JSON file.

Parameters:
  • walker (Walker) – The walker to save.

  • path (str | Path) – Output file path.

leggedsnake.serialization.walker_from_dict(data: dict[str, Any]) Any

Deserialize a Walker from a plain dict.

Parameters:

data (dict[str, Any]) – Dictionary from walker_to_dict.

Return type:

Walker

leggedsnake.serialization.walker_to_dict(walker: Any) dict[str, Any]

Serialize a Walker to a plain dict.

Parameters:

walker (Walker) – The walker to serialize.

Returns:

JSON-serializable dictionary.

Return type:

dict[str, Any]