Skip to content

Commit

Permalink
Move Config to spark_config (#27)
Browse files Browse the repository at this point in the history
* Move Config to spark_config

* Install Spark-Config in CI

* Try to install spark_config with pip

* cleanup
  • Loading branch information
GoldenZephyr authored Mar 5, 2025
1 parent 24c436a commit ea070dc
Show file tree
Hide file tree
Showing 20 changed files with 22 additions and 498 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci-action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ jobs:
- name: Pre-commit
run: pip install pre-commit && cd ${{ github.workspace }}/ouroboros_repo && pre-commit run --all-files
- name: Dependencies
run: sudo apt install libeigen3-dev pkg-config
run: |
sudo apt install -y libeigen3-dev pkg-config git
- name: Install Ouroboros
run: cd ${{ github.workspace }}/ouroboros_repo && pwd && pip install .
- name: Run test script
Expand Down
2 changes: 1 addition & 1 deletion examples/config_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from dataclasses import dataclass
from typing import Any

from ouroboros.config import Config, config_field, register_config
from spark_config import Config, config_field, register_config


class ExampleTopLevel:
Expand Down
5 changes: 3 additions & 2 deletions examples/vlc_server_driver_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@

import matplotlib.pyplot as plt
import numpy as np
import spark_config as sc
from spark_config import Config, config_field
from spark_dataset_interfaces.rosbag_dataloader import RosbagDataLoader

import ouroboros as ob
from ouroboros.config import Config, config_field
from ouroboros.utils.plotting_utils import plt_fast_pause

# Must be False in i3 if you want to save consistent-sized overhead plots for animation
Expand Down Expand Up @@ -91,7 +92,7 @@ def plot_lc_gt_pose(lc, image_to_pose):
)


plugins = ob.discover_plugins()
plugins = sc.discover_plugins()
print("Discovered Plugins: ")
print(plugins)

Expand Down
3 changes: 2 additions & 1 deletion extra/ouroboros_ros/src/ouroboros_ros/vlc_server_ros.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import message_filters
import numpy as np
import rospy
import spark_config as sc
import tf2_ros
from pose_graph_tools_msgs.msg import PoseGraph
from sensor_msgs.msg import CameraInfo, Image
Expand Down Expand Up @@ -81,7 +82,7 @@ def __init__(self):
self.lc_send_delay_s = rospy.get_param("~lc_send_delay_s")
self.robot_id = rospy.get_param("~robot_id")

plugins = ob.discover_plugins()
plugins = sc.discover_plugins()
print("Found plugins: ", plugins)
config_path = rospy.get_param("~config_path")
server_config = ob.VlcServerConfig.load(config_path)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import rospy
from cv_bridge import CvBridge, CvBridgeError
from sensor_msgs.msg import Image
from spark_config import Config, register_config

import ouroboros as ob
from ouroboros.config import Config, register_config


class VlcServerRosDisplay:
Expand Down
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ def _get_eigen_flags():
"pyyaml",
"pytest",
"scipy>=1.4.0",
"spark_config @ git+https://github.com/MIT-SPARK/Spark-Config@main",
],
ext_modules=ext_modules,
cmdclass={"build_ext": build_ext},
Expand Down
27 changes: 0 additions & 27 deletions src/ouroboros/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
import importlib
import logging
import pkgutil

from ouroboros.config import *
from ouroboros.pose_recovery import *
from ouroboros.vlc_db import (
KeypointSizeException,
Expand All @@ -19,25 +14,3 @@
pose_from_quat_trans,
)
from ouroboros.vlc_server.vlc_server import VlcServer, VlcServerConfig


def discover_plugins():
def _try_load(name):
try:
return importlib.import_module(name)
except ImportError as e:
logging.getLogger("ouroboros").warning(
f"Unable to load plugin '{name}': {e}"
)
return None

discovered_plugins = {
name: _try_load(name)
for finder, name, ispkg in pkgutil.iter_modules()
if name.startswith("ouroboros_")
}
discovered_plugins = {k: v for k, v in discovered_plugins.items() if v is not None}
return discovered_plugins


# TOOD(nathan) register discovered
Loading

0 comments on commit ea070dc

Please sign in to comment.