| import asyncio | |
| import os | |
| from typing import Any | |
| from absl import flags | |
| from sotopia.server import run_async_server | |
| from .gin_utils import parse_gin_flags, run | |
| _DEFAULT_GIN_SEARCH_PATHS = [ | |
| os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| ] | |
| FLAGS = flags.FLAGS | |
| def main(_: Any) -> None: | |
| parse_gin_flags( | |
| # User-provided gin paths take precedence if relative paths conflict. | |
| FLAGS.gin_search_paths + _DEFAULT_GIN_SEARCH_PATHS, | |
| FLAGS.gin_file, | |
| FLAGS.gin_bindings, | |
| ) | |
| asyncio.run(run_async_server()) | |
| if __name__ == "__main__": | |
| flags.DEFINE_multi_string( | |
| "gin_file", | |
| default=None, | |
| help="Path to gin configuration file. Multiple paths may be passed and " | |
| "will be imported in the given order, with later configurations " | |
| "overriding earlier ones.", | |
| ) | |
| flags.DEFINE_multi_string( | |
| "gin_bindings", default=[], help="Individual gin bindings." | |
| ) | |
| flags.DEFINE_list( | |
| "gin_search_paths", | |
| default=["."], | |
| help="Comma-separated list of gin config path prefixes to be prepended " | |
| "to suffixes given via `--gin_file`. If a file appears in. Only the " | |
| "first prefix that produces a valid path for each suffix will be " | |
| "used.", | |
| ) | |
| run(main) | |