diff --git a/Dockerfile.openpilot b/Dockerfile.openpilot
index 51907b7a44..3541be92b0 100644
--- a/Dockerfile.openpilot
+++ b/Dockerfile.openpilot
@@ -10,6 +10,7 @@ WORKDIR ${OPENPILOT_PATH}
COPY SConstruct ${OPENPILOT_PATH}
+COPY ./openpilot ${OPENPILOT_PATH}/openpilot
COPY ./third_party ${OPENPILOT_PATH}/third_party
COPY ./site_scons ${OPENPILOT_PATH}/site_scons
COPY ./laika ${OPENPILOT_PATH}/laika
diff --git a/common/api/__init__.py b/common/api/__init__.py
index c1fa635bd6..0eb8aa7627 100644
--- a/common/api/__init__.py
+++ b/common/api/__init__.py
@@ -2,8 +2,8 @@ import jwt
import os
import requests
from datetime import datetime, timedelta
-from common.basedir import PERSIST
-from system.version import get_version
+from openpilot.common.basedir import PERSIST
+from openpilot.system.version import get_version
API_HOST = os.getenv('API_HOST', 'https://api.commadotai.com')
diff --git a/common/basedir.py b/common/basedir.py
index 371b54d3ef..b4486f9f08 100644
--- a/common/basedir.py
+++ b/common/basedir.py
@@ -1,7 +1,7 @@
import os
from pathlib import Path
-from system.hardware import PC
+from openpilot.system.hardware import PC
BASEDIR = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), "../"))
diff --git a/common/kalman/simple_kalman.py b/common/kalman/simple_kalman.py
index 33289e4f50..31ad76c5b2 100644
--- a/common/kalman/simple_kalman.py
+++ b/common/kalman/simple_kalman.py
@@ -1,3 +1,3 @@
# pylint: skip-file
-from common.kalman.simple_kalman_impl import KF1D as KF1D
+from openpilot.common.kalman.simple_kalman_impl import KF1D as KF1D
assert KF1D
diff --git a/common/kalman/tests/test_simple_kalman.py b/common/kalman/tests/test_simple_kalman.py
index 96b2527655..32cc79fc3d 100644
--- a/common/kalman/tests/test_simple_kalman.py
+++ b/common/kalman/tests/test_simple_kalman.py
@@ -3,8 +3,8 @@ import random
import timeit
import numpy as np
-from common.kalman.simple_kalman import KF1D
-from common.kalman.simple_kalman_old import KF1D as KF1D_old
+from openpilot.common.kalman.simple_kalman import KF1D
+from openpilot.common.kalman.simple_kalman_old import KF1D as KF1D_old
class TestSimpleKalman(unittest.TestCase):
@@ -54,8 +54,8 @@ class TestSimpleKalman(unittest.TestCase):
setup = """
import numpy as np
-from common.kalman.simple_kalman import KF1D
-from common.kalman.simple_kalman_old import KF1D as KF1D_old
+from openpilot.common.kalman.simple_kalman import KF1D
+from openpilot.common.kalman.simple_kalman_old import KF1D as KF1D_old
dt = 0.01
x0_0 = 0.0
diff --git a/common/params.py b/common/params.py
index b6be424d41..bc1422dd81 100644
--- a/common/params.py
+++ b/common/params.py
@@ -1,4 +1,5 @@
-from common.params_pyx import Params, ParamKeyType, UnknownKeyName, put_nonblocking, put_bool_nonblocking # pylint: disable=no-name-in-module, import-error
+from openpilot.common.params_pyx import Params, ParamKeyType, UnknownKeyName, put_nonblocking, \
+ put_bool_nonblocking # pylint: disable=no-name-in-module, import-error
assert Params
assert ParamKeyType
assert UnknownKeyName
diff --git a/common/realtime.py b/common/realtime.py
index dd3a5fdf8f..7549a7ef52 100644
--- a/common/realtime.py
+++ b/common/realtime.py
@@ -7,7 +7,7 @@ from typing import Optional, List, Union
from setproctitle import getproctitle
-from system.hardware import PC
+from openpilot.system.hardware import PC
# time step for each process
diff --git a/common/spinner.py b/common/spinner.py
index 34fd720ee9..43d4bb2cc2 100644
--- a/common/spinner.py
+++ b/common/spinner.py
@@ -1,6 +1,6 @@
import os
import subprocess
-from common.basedir import BASEDIR
+from openpilot.common.basedir import BASEDIR
class Spinner():
diff --git a/common/tests/test_file_helpers.py b/common/tests/test_file_helpers.py
index d39e66de13..e36df57a32 100644
--- a/common/tests/test_file_helpers.py
+++ b/common/tests/test_file_helpers.py
@@ -2,8 +2,8 @@ import os
import unittest
from uuid import uuid4
-from common.file_helpers import atomic_write_on_fs_tmp
-from common.file_helpers import atomic_write_in_dir
+from openpilot.common.file_helpers import atomic_write_on_fs_tmp
+from openpilot.common.file_helpers import atomic_write_in_dir
class TestFileHelpers(unittest.TestCase):
diff --git a/common/tests/test_numpy_fast.py b/common/tests/test_numpy_fast.py
index 2fb8a1cef3..de7bb972e7 100644
--- a/common/tests/test_numpy_fast.py
+++ b/common/tests/test_numpy_fast.py
@@ -1,7 +1,7 @@
import numpy as np
import unittest
-from common.numpy_fast import interp
+from openpilot.common.numpy_fast import interp
class InterpTest(unittest.TestCase):
diff --git a/common/tests/test_params.py b/common/tests/test_params.py
index d432218c8a..72fa4e3f72 100644
--- a/common/tests/test_params.py
+++ b/common/tests/test_params.py
@@ -6,7 +6,7 @@ import shutil
import uuid
import unittest
-from common.params import Params, ParamKeyType, UnknownKeyName, put_nonblocking, put_bool_nonblocking
+from openpilot.common.params import Params, ParamKeyType, UnknownKeyName, put_nonblocking, put_bool_nonblocking
class TestParams(unittest.TestCase):
def setUp(self):
diff --git a/common/text_window.py b/common/text_window.py
index bea3a149f8..d2762ebf7d 100755
--- a/common/text_window.py
+++ b/common/text_window.py
@@ -2,7 +2,7 @@
import os
import time
import subprocess
-from common.basedir import BASEDIR
+from openpilot.common.basedir import BASEDIR
class TextWindow:
diff --git a/common/transformations/camera.py b/common/transformations/camera.py
index eaed0e7afe..c643cb5702 100644
--- a/common/transformations/camera.py
+++ b/common/transformations/camera.py
@@ -1,6 +1,6 @@
import numpy as np
-import common.transformations.orientation as orient
+import openpilot.common.transformations.orientation as orient
## -- hardcoded hardware params --
eon_f_focal_length = 910.0
diff --git a/common/transformations/coordinates.py b/common/transformations/coordinates.py
index 46cc0ded0d..7e7b56522a 100644
--- a/common/transformations/coordinates.py
+++ b/common/transformations/coordinates.py
@@ -1,8 +1,8 @@
# pylint: skip-file
-from common.transformations.orientation import numpy_wrap
-from common.transformations.transformations import (ecef2geodetic_single,
+from openpilot.common.transformations.orientation import numpy_wrap
+from openpilot.common.transformations.transformations import (ecef2geodetic_single,
geodetic2ecef_single)
-from common.transformations.transformations import LocalCoord as LocalCoord_single
+from openpilot.common.transformations.transformations import LocalCoord as LocalCoord_single
class LocalCoord(LocalCoord_single):
diff --git a/common/transformations/model.py b/common/transformations/model.py
index 811a17eafe..114f8eae38 100644
--- a/common/transformations/model.py
+++ b/common/transformations/model.py
@@ -1,6 +1,6 @@
import numpy as np
-from common.transformations.camera import (FULL_FRAME_SIZE,
+from openpilot.common.transformations.camera import (FULL_FRAME_SIZE,
get_view_frame_from_calib_frame)
# segnet
@@ -61,8 +61,8 @@ medmodel_frame_from_bigmodel_frame = np.dot(medmodel_intrinsics, np.linalg.inv(b
### This function mimics the update_calibration logic in modeld.cc
### Manually verified to give similar results to xx.uncommon.utils.transform_img
def get_warp_matrix(rpy_calib, wide_cam=False, big_model=False, tici=True):
- from common.transformations.orientation import rot_from_euler
- from common.transformations.camera import view_frame_from_device_frame, eon_fcam_intrinsics, tici_ecam_intrinsics, tici_fcam_intrinsics
+ from openpilot.common.transformations.orientation import rot_from_euler
+ from openpilot.common.transformations.camera import view_frame_from_device_frame, eon_fcam_intrinsics, tici_ecam_intrinsics, tici_fcam_intrinsics
if tici and wide_cam:
intrinsics = tici_ecam_intrinsics
@@ -85,8 +85,8 @@ def get_warp_matrix(rpy_calib, wide_cam=False, big_model=False, tici=True):
### This is old, just for debugging
def get_warp_matrix_old(rpy_calib, wide_cam=False, big_model=False, tici=True):
- from common.transformations.orientation import rot_from_euler
- from common.transformations.camera import view_frame_from_device_frame, eon_fcam_intrinsics, tici_ecam_intrinsics, tici_fcam_intrinsics
+ from openpilot.common.transformations.orientation import rot_from_euler
+ from openpilot.common.transformations.camera import view_frame_from_device_frame, eon_fcam_intrinsics, tici_ecam_intrinsics, tici_fcam_intrinsics
def get_view_frame_from_road_frame(roll, pitch, yaw, height):
diff --git a/common/transformations/orientation.py b/common/transformations/orientation.py
index 134442b624..657a86a574 100644
--- a/common/transformations/orientation.py
+++ b/common/transformations/orientation.py
@@ -2,7 +2,7 @@
import numpy as np
from typing import Callable
-from common.transformations.transformations import (ecef_euler_from_ned_single,
+from openpilot.common.transformations.transformations import (ecef_euler_from_ned_single,
euler2quat_single,
euler2rot_single,
ned_euler_from_ecef_single,
diff --git a/common/transformations/tests/test_coordinates.py b/common/transformations/tests/test_coordinates.py
index dc70faed0b..7ae79403bd 100755
--- a/common/transformations/tests/test_coordinates.py
+++ b/common/transformations/tests/test_coordinates.py
@@ -3,7 +3,7 @@
import numpy as np
import unittest
-import common.transformations.coordinates as coord
+import openpilot.common.transformations.coordinates as coord
geodetic_positions = np.array([[37.7610403, -122.4778699, 115],
[27.4840915, -68.5867592, 2380],
diff --git a/common/transformations/tests/test_orientation.py b/common/transformations/tests/test_orientation.py
index 50978e1a63..f77827d2f9 100755
--- a/common/transformations/tests/test_orientation.py
+++ b/common/transformations/tests/test_orientation.py
@@ -3,7 +3,7 @@
import numpy as np
import unittest
-from common.transformations.orientation import euler2quat, quat2euler, euler2rot, rot2euler, \
+from openpilot.common.transformations.orientation import euler2quat, quat2euler, euler2rot, rot2euler, \
rot2quat, quat2rot, \
ned_euler_from_ecef
diff --git a/common/transformations/transformations.pyx b/common/transformations/transformations.pyx
index ce80d90d29..c5cb9e0056 100644
--- a/common/transformations/transformations.pyx
+++ b/common/transformations/transformations.pyx
@@ -1,20 +1,20 @@
# distutils: language = c++
# cython: language_level = 3
-from common.transformations.transformations cimport Matrix3, Vector3, Quaternion
-from common.transformations.transformations cimport ECEF, NED, Geodetic
-
-from common.transformations.transformations cimport euler2quat as euler2quat_c
-from common.transformations.transformations cimport quat2euler as quat2euler_c
-from common.transformations.transformations cimport quat2rot as quat2rot_c
-from common.transformations.transformations cimport rot2quat as rot2quat_c
-from common.transformations.transformations cimport euler2rot as euler2rot_c
-from common.transformations.transformations cimport rot2euler as rot2euler_c
-from common.transformations.transformations cimport rot_matrix as rot_matrix_c
-from common.transformations.transformations cimport ecef_euler_from_ned as ecef_euler_from_ned_c
-from common.transformations.transformations cimport ned_euler_from_ecef as ned_euler_from_ecef_c
-from common.transformations.transformations cimport geodetic2ecef as geodetic2ecef_c
-from common.transformations.transformations cimport ecef2geodetic as ecef2geodetic_c
-from common.transformations.transformations cimport LocalCoord_c
+from openpilot.common.transformations.transformations cimport Matrix3, Vector3, Quaternion
+from openpilot.common.transformations.transformations cimport ECEF, NED, Geodetic
+
+from openpilot.common.transformations.transformations cimport euler2quat as euler2quat_c
+from openpilot.common.transformations.transformations cimport quat2euler as quat2euler_c
+from openpilot.common.transformations.transformations cimport quat2rot as quat2rot_c
+from openpilot.common.transformations.transformations cimport rot2quat as rot2quat_c
+from openpilot.common.transformations.transformations cimport euler2rot as euler2rot_c
+from openpilot.common.transformations.transformations cimport rot2euler as rot2euler_c
+from openpilot.common.transformations.transformations cimport rot_matrix as rot_matrix_c
+from openpilot.common.transformations.transformations cimport ecef_euler_from_ned as ecef_euler_from_ned_c
+from openpilot.common.transformations.transformations cimport ned_euler_from_ecef as ned_euler_from_ecef_c
+from openpilot.common.transformations.transformations cimport geodetic2ecef as geodetic2ecef_c
+from openpilot.common.transformations.transformations cimport ecef2geodetic as ecef2geodetic_c
+from openpilot.common.transformations.transformations cimport LocalCoord_c
import cython
diff --git a/docs/conf.py b/docs/conf.py
index beb5924496..a4ed00c919 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -17,8 +17,8 @@ import os
import sys
from os.path import exists
-from common.basedir import BASEDIR
-from system.version import get_version
+from openpilot.common.basedir import BASEDIR
+from openpilot.system.version import get_version
sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath('..'))
diff --git a/docs/docker/Dockerfile b/docs/docker/Dockerfile
index 63564a6fff..209fba010f 100644
--- a/docs/docker/Dockerfile
+++ b/docs/docker/Dockerfile
@@ -11,6 +11,7 @@ WORKDIR ${OPENPILOT_PATH}
COPY SConstruct ${OPENPILOT_PATH}
+COPY ./openpilot ${OPENPILOT_PATH}/openpilot
COPY ./body ${OPENPILOT_PATH}/body
COPY ./third_party ${OPENPILOT_PATH}/third_party
COPY ./site_scons ${OPENPILOT_PATH}/site_scons
diff --git a/laika_repo b/laika_repo
index ef21c612f4..65901a1e6c 160000
--- a/laika_repo
+++ b/laika_repo
@@ -1 +1 @@
-Subproject commit ef21c612f4b0d68c790b4b1a6d637cd5fce7732e
+Subproject commit 65901a1e6c7c7940d8c97027d3edaca7d0132253
diff --git a/panda b/panda
index aed103d537..57ec466a91 160000
--- a/panda
+++ b/panda
@@ -1 +1 @@
-Subproject commit aed103d5372d1e5b3fb686d2aa8f111081b37fd0
+Subproject commit 57ec466a91d1e2d51b43d54417091a50f0c9dc78
diff --git a/release/files_common b/release/files_common
index 0f43daa4a0..023fd9e3af 100644
--- a/release/files_common
+++ b/release/files_common
@@ -15,6 +15,9 @@ docs/INTEGRATION.md
docs/LIMITATIONS.md
site_scons/site_tools/cython.py
+openpilot/__init__.py
+openpilot/**
+
common/.gitignore
common/__init__.py
common/conversions.py
diff --git a/scripts/count_cars.py b/scripts/count_cars.py
index 25bad2c9b4..8c0892bb82 100755
--- a/scripts/count_cars.py
+++ b/scripts/count_cars.py
@@ -2,7 +2,7 @@
from collections import Counter
from pprint import pprint
-from selfdrive.car.docs import get_all_car_info
+from openpilot.selfdrive.car.docs import get_all_car_info
if __name__ == "__main__":
cars = get_all_car_info()
diff --git a/scripts/disable-powersave.py b/scripts/disable-powersave.py
index 93688504f3..367b4108b0 100755
--- a/scripts/disable-powersave.py
+++ b/scripts/disable-powersave.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from system.hardware import HARDWARE
+from openpilot.system.hardware import HARDWARE
if __name__ == "__main__":
HARDWARE.set_power_save(False)
diff --git a/scripts/pyqt_demo.py b/scripts/pyqt_demo.py
index 43716fbeb2..b73d7dfad7 100755
--- a/scripts/pyqt_demo.py
+++ b/scripts/pyqt_demo.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
from PyQt5.QtWidgets import QApplication, QLabel # pylint: disable=no-name-in-module, import-error
-from selfdrive.ui.qt.python_helpers import set_main_window
+from openpilot.selfdrive.ui.qt.python_helpers import set_main_window
if __name__ == "__main__":
diff --git a/scripts/waste.py b/scripts/waste.py
index e72b367063..0764ff77c3 100755
--- a/scripts/waste.py
+++ b/scripts/waste.py
@@ -3,10 +3,10 @@ import os
import time
import numpy as np
from multiprocessing import Process
-from setproctitle import setproctitle # pylint: disable=no-name-in-module
+from setproctitle import setproctitle
def waste(core):
- os.sched_setaffinity(0, [core,]) # pylint: disable=no-member
+ os.sched_setaffinity(0, [core,])
m1 = np.zeros((200, 200)) + 0.8
m2 = np.zeros((200, 200)) + 1.2
diff --git a/selfdrive/athena/athenad.py b/selfdrive/athena/athenad.py
index b3a13d2279..15088f69b1 100755
--- a/selfdrive/athena/athenad.py
+++ b/selfdrive/athena/athenad.py
@@ -30,17 +30,17 @@ from websocket import (ABNF, WebSocket, WebSocketException, WebSocketTimeoutExce
import cereal.messaging as messaging
from cereal import log
from cereal.services import service_list
-from common.api import Api
-from common.basedir import PERSIST
-from common.file_helpers import CallbackReader
-from common.params import Params
-from common.realtime import set_core_affinity
-from system.hardware import HARDWARE, PC, AGNOS
-from system.loggerd.config import ROOT
-from system.loggerd.xattr_cache import getxattr, setxattr
-from selfdrive.statsd import STATS_DIR
-from system.swaglog import SWAGLOG_DIR, cloudlog
-from system.version import get_commit, get_origin, get_short_branch, get_version
+from openpilot.common.api import Api
+from openpilot.common.basedir import PERSIST
+from openpilot.common.file_helpers import CallbackReader
+from openpilot.common.params import Params
+from openpilot.common.realtime import set_core_affinity
+from openpilot.system.hardware import HARDWARE, PC, AGNOS
+from openpilot.system.loggerd.config import ROOT
+from openpilot.system.loggerd.xattr_cache import getxattr, setxattr
+from openpilot.selfdrive.statsd import STATS_DIR
+from openpilot.system.swaglog import SWAGLOG_DIR, cloudlog
+from openpilot.system.version import get_commit, get_origin, get_short_branch, get_version
# TODO: use socket constant when mypy recognizes this as a valid attribute
@@ -552,7 +552,7 @@ def getNetworks():
@dispatcher.add_method
def takeSnapshot() -> Optional[Union[str, Dict[str, str]]]:
- from system.camerad.snapshot.snapshot import jpeg_write, snapshot
+ from openpilot.system.camerad.snapshot.snapshot import jpeg_write, snapshot
ret = snapshot()
if ret is not None:
def b64jpeg(x):
diff --git a/selfdrive/athena/manage_athenad.py b/selfdrive/athena/manage_athenad.py
index 59ca2430ce..877d8aca03 100755
--- a/selfdrive/athena/manage_athenad.py
+++ b/selfdrive/athena/manage_athenad.py
@@ -3,10 +3,10 @@
import time
from multiprocessing import Process
-from common.params import Params
-from selfdrive.manager.process import launcher
-from system.swaglog import cloudlog
-from system.version import get_version, is_dirty
+from openpilot.common.params import Params
+from openpilot.selfdrive.manager.process import launcher
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.version import get_version, is_dirty
ATHENA_MGR_PID_PARAM = "AthenadPid"
diff --git a/selfdrive/athena/registration.py b/selfdrive/athena/registration.py
index 32bc92059c..0ab69371c2 100755
--- a/selfdrive/athena/registration.py
+++ b/selfdrive/athena/registration.py
@@ -6,13 +6,13 @@ from pathlib import Path
from typing import Optional
from datetime import datetime, timedelta
-from common.api import api_get
-from common.params import Params
-from common.spinner import Spinner
-from common.basedir import PERSIST
-from selfdrive.controls.lib.alertmanager import set_offroad_alert
-from system.hardware import HARDWARE, PC
-from system.swaglog import cloudlog
+from openpilot.common.api import api_get
+from openpilot.common.params import Params
+from openpilot.common.spinner import Spinner
+from openpilot.common.basedir import PERSIST
+from openpilot.selfdrive.controls.lib.alertmanager import set_offroad_alert
+from openpilot.system.hardware import HARDWARE, PC
+from openpilot.system.swaglog import cloudlog
UNREGISTERED_DONGLE_ID = "UnregisteredDevice"
diff --git a/selfdrive/athena/tests/helpers.py b/selfdrive/athena/tests/helpers.py
index 5087012bcd..34edeb2de5 100644
--- a/selfdrive/athena/tests/helpers.py
+++ b/selfdrive/athena/tests/helpers.py
@@ -6,7 +6,7 @@ import time
from functools import wraps
from multiprocessing import Process
-from common.timeout import Timeout
+from openpilot.common.timeout import Timeout
class MockResponse:
diff --git a/selfdrive/athena/tests/test_athenad.py b/selfdrive/athena/tests/test_athenad.py
index 7ce6932f2a..f32df74217 100755
--- a/selfdrive/athena/tests/test_athenad.py
+++ b/selfdrive/athena/tests/test_athenad.py
@@ -18,10 +18,10 @@ from unittest import mock
from websocket import ABNF
from websocket._exceptions import WebSocketConnectionClosedException
-from system import swaglog
-from selfdrive.athena import athenad
-from selfdrive.athena.athenad import MAX_RETRY_COUNT, dispatcher
-from selfdrive.athena.tests.helpers import MockWebsocket, MockParams, MockApi, EchoSocket, with_http_server
+from openpilot.system import swaglog
+from openpilot.selfdrive.athena import athenad
+from openpilot.selfdrive.athena.athenad import MAX_RETRY_COUNT, dispatcher
+from openpilot.selfdrive.athena.tests.helpers import MockWebsocket, MockParams, MockApi, EchoSocket, with_http_server
from cereal import messaging
@@ -351,7 +351,7 @@ class TestAthenadMethods(unittest.TestCase):
self.assertEqual(athenad.upload_queue.qsize(), 1)
self.assertDictEqual(asdict(athenad.upload_queue.queue[-1]), asdict(item1))
- @mock.patch('selfdrive.athena.athenad.create_connection')
+ @mock.patch('openpilot.selfdrive.athena.athenad.create_connection')
def test_startLocalProxy(self, mock_create_connection):
end_event = threading.Event()
diff --git a/selfdrive/athena/tests/test_athenad_ping.py b/selfdrive/athena/tests/test_athenad_ping.py
index e1fa00a76f..3ec7cb115c 100755
--- a/selfdrive/athena/tests/test_athenad_ping.py
+++ b/selfdrive/athena/tests/test_athenad_ping.py
@@ -6,11 +6,11 @@ import unittest
from typing import Callable, cast, Optional
from unittest.mock import MagicMock
-from common.params import Params
-from common.timeout import Timeout
-from selfdrive.athena import athenad
-from selfdrive.manager.helpers import write_onroad_params
-from system.hardware import TICI
+from openpilot.common.params import Params
+from openpilot.common.timeout import Timeout
+from openpilot.selfdrive.athena import athenad
+from openpilot.selfdrive.manager.helpers import write_onroad_params
+from openpilot.system.hardware import TICI
def wifi_radio(on: bool) -> None:
diff --git a/selfdrive/athena/tests/test_registration.py b/selfdrive/athena/tests/test_registration.py
index 7a38477305..195fca2df9 100755
--- a/selfdrive/athena/tests/test_registration.py
+++ b/selfdrive/athena/tests/test_registration.py
@@ -7,9 +7,9 @@ from Crypto.PublicKey import RSA
from pathlib import Path
from unittest import mock
-from common.params import Params
-from selfdrive.athena.registration import register, UNREGISTERED_DONGLE_ID
-from selfdrive.athena.tests.helpers import MockResponse
+from openpilot.common.params import Params
+from openpilot.selfdrive.athena.registration import register, UNREGISTERED_DONGLE_ID
+from openpilot.selfdrive.athena.tests.helpers import MockResponse
class TestRegistration(unittest.TestCase):
@@ -23,7 +23,7 @@ class TestRegistration(unittest.TestCase):
os.mkdir(os.path.join(self.persist.name, "comma"))
self.priv_key = Path(os.path.join(self.persist.name, "comma/id_rsa"))
self.pub_key = Path(os.path.join(self.persist.name, "comma/id_rsa.pub"))
- self.persist_patcher = mock.patch("selfdrive.athena.registration.PERSIST", self.persist.name)
+ self.persist_patcher = mock.patch("openpilot.selfdrive.athena.registration.PERSIST", self.persist.name)
self.persist_patcher.start()
def tearDown(self):
@@ -44,7 +44,7 @@ class TestRegistration(unittest.TestCase):
self.params.put("HardwareSerial", "serial")
self._generate_keys()
- with mock.patch("selfdrive.athena.registration.api_get", autospec=True) as m:
+ with mock.patch("openpilot.selfdrive.athena.registration.api_get", autospec=True) as m:
dongle = "DONGLE_ID_123"
self.params.put("DongleId", dongle)
self.assertEqual(register(), dongle)
@@ -52,7 +52,7 @@ class TestRegistration(unittest.TestCase):
def test_no_keys(self):
# missing pubkey
- with mock.patch("selfdrive.athena.registration.api_get", autospec=True) as m:
+ with mock.patch("openpilot.selfdrive.athena.registration.api_get", autospec=True) as m:
dongle = register()
self.assertEqual(m.call_count, 0)
self.assertEqual(dongle, UNREGISTERED_DONGLE_ID)
@@ -61,7 +61,7 @@ class TestRegistration(unittest.TestCase):
def test_missing_cache(self):
# keys exist but no dongle id
self._generate_keys()
- with mock.patch("selfdrive.athena.registration.api_get", autospec=True) as m:
+ with mock.patch("openpilot.selfdrive.athena.registration.api_get", autospec=True) as m:
dongle = "DONGLE_ID_123"
m.return_value = MockResponse(json.dumps({'dongle_id': dongle}), 200)
self.assertEqual(register(), dongle)
@@ -75,7 +75,7 @@ class TestRegistration(unittest.TestCase):
def test_unregistered(self):
# keys exist, but unregistered
self._generate_keys()
- with mock.patch("selfdrive.athena.registration.api_get", autospec=True) as m:
+ with mock.patch("openpilot.selfdrive.athena.registration.api_get", autospec=True) as m:
m.return_value = MockResponse(None, 402)
dongle = register()
self.assertEqual(m.call_count, 1)
diff --git a/selfdrive/boardd/boardd.py b/selfdrive/boardd/boardd.py
index 527f1f4f52..702c46565f 100644
--- a/selfdrive/boardd/boardd.py
+++ b/selfdrive/boardd/boardd.py
@@ -1,7 +1,7 @@
# pylint: skip-file
# Cython, now uses scons to build
-from selfdrive.boardd.boardd_api_impl import can_list_to_can_capnp
+from openpilot.selfdrive.boardd.boardd_api_impl import can_list_to_can_capnp
assert can_list_to_can_capnp
def can_capnp_to_can_list(can, src_filter=None):
diff --git a/selfdrive/boardd/pandad.py b/selfdrive/boardd/pandad.py
index be2ed3c4cc..ce9137a30b 100755
--- a/selfdrive/boardd/pandad.py
+++ b/selfdrive/boardd/pandad.py
@@ -9,11 +9,11 @@ from typing import List, NoReturn
from functools import cmp_to_key
from panda import Panda, PandaDFU, PandaProtocolMismatch, FW_PATH
-from common.basedir import BASEDIR
-from common.params import Params
-from selfdrive.boardd.set_time import set_time
-from system.hardware import HARDWARE
-from system.swaglog import cloudlog
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
+from openpilot.selfdrive.boardd.set_time import set_time
+from openpilot.system.hardware import HARDWARE
+from openpilot.system.swaglog import cloudlog
def get_expected_signature(panda: Panda) -> bytes:
diff --git a/selfdrive/boardd/set_time.py b/selfdrive/boardd/set_time.py
index 93453dcd97..fe17f64e82 100755
--- a/selfdrive/boardd/set_time.py
+++ b/selfdrive/boardd/set_time.py
@@ -3,7 +3,7 @@ import os
import datetime
from panda import Panda
-from common.time import MIN_DATE
+from openpilot.common.time import MIN_DATE
def set_time(logger):
sys_time = datetime.datetime.today()
diff --git a/selfdrive/boardd/tests/test_boardd_loopback.py b/selfdrive/boardd/tests/test_boardd_loopback.py
index 74393c6eb1..dfce0e3710 100755
--- a/selfdrive/boardd/tests/test_boardd_loopback.py
+++ b/selfdrive/boardd/tests/test_boardd_loopback.py
@@ -9,12 +9,12 @@ from pprint import pprint
import cereal.messaging as messaging
from cereal import car, log
-from common.params import Params
-from common.timeout import Timeout
-from selfdrive.boardd.boardd import can_list_to_can_capnp
-from selfdrive.car import make_can_msg
-from system.hardware import TICI
-from selfdrive.test.helpers import phone_only, with_processes
+from openpilot.common.params import Params
+from openpilot.common.timeout import Timeout
+from openpilot.selfdrive.boardd.boardd import can_list_to_can_capnp
+from openpilot.selfdrive.car import make_can_msg
+from openpilot.system.hardware import TICI
+from openpilot.selfdrive.test.helpers import phone_only, with_processes
class TestBoardd(unittest.TestCase):
diff --git a/selfdrive/boardd/tests/test_pandad.py b/selfdrive/boardd/tests/test_pandad.py
index 1d49446bf5..970af385d8 100755
--- a/selfdrive/boardd/tests/test_pandad.py
+++ b/selfdrive/boardd/tests/test_pandad.py
@@ -5,13 +5,13 @@ import unittest
import cereal.messaging as messaging
from cereal import log
-from common.gpio import gpio_set, gpio_init
-from common.params import Params
+from openpilot.common.gpio import gpio_set, gpio_init
+from openpilot.common.params import Params
from panda import Panda, PandaDFU, PandaProtocolMismatch
-from selfdrive.test.helpers import phone_only
-from selfdrive.manager.process_config import managed_processes
-from system.hardware import HARDWARE
-from system.hardware.tici.pins import GPIO
+from openpilot.selfdrive.test.helpers import phone_only
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.hardware import HARDWARE
+from openpilot.system.hardware.tici.pins import GPIO
HERE = os.path.dirname(os.path.realpath(__file__))
diff --git a/selfdrive/car/__init__.py b/selfdrive/car/__init__.py
index 156161c796..c5f4a41520 100644
--- a/selfdrive/car/__init__.py
+++ b/selfdrive/car/__init__.py
@@ -5,7 +5,7 @@ from typing import Dict, Optional
import capnp
from cereal import car
-from common.numpy_fast import clip, interp
+from openpilot.common.numpy_fast import clip, interp
# kg of standard extra cargo to count for drive, gas, etc...
diff --git a/selfdrive/car/body/carcontroller.py b/selfdrive/car/body/carcontroller.py
index 4993b1865f..1dad8e796a 100644
--- a/selfdrive/car/body/carcontroller.py
+++ b/selfdrive/car/body/carcontroller.py
@@ -1,11 +1,11 @@
import numpy as np
-from common.params import Params
-from common.realtime import DT_CTRL
+from openpilot.common.params import Params
+from openpilot.common.realtime import DT_CTRL
from opendbc.can.packer import CANPacker
-from selfdrive.car.body import bodycan
-from selfdrive.car.body.values import SPEED_FROM_RPM
-from selfdrive.controls.lib.pid import PIDController
+from openpilot.selfdrive.car.body import bodycan
+from openpilot.selfdrive.car.body.values import SPEED_FROM_RPM
+from openpilot.selfdrive.controls.lib.pid import PIDController
MAX_TORQUE = 500
diff --git a/selfdrive/car/body/carstate.py b/selfdrive/car/body/carstate.py
index a1ef17360f..fca9bcc627 100644
--- a/selfdrive/car/body/carstate.py
+++ b/selfdrive/car/body/carstate.py
@@ -1,7 +1,7 @@
from cereal import car
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import CarStateBase
-from selfdrive.car.body.values import DBC
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.body.values import DBC
STARTUP_TICKS = 100
diff --git a/selfdrive/car/body/interface.py b/selfdrive/car/body/interface.py
index 4d583badae..bf33eea38f 100644
--- a/selfdrive/car/body/interface.py
+++ b/selfdrive/car/body/interface.py
@@ -1,10 +1,10 @@
#!/usr/bin/env python3
import math
from cereal import car
-from common.realtime import DT_CTRL
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
-from selfdrive.car.body.values import SPEED_FROM_RPM
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.body.values import SPEED_FROM_RPM
class CarInterface(CarInterfaceBase):
@staticmethod
diff --git a/selfdrive/car/body/radar_interface.py b/selfdrive/car/body/radar_interface.py
index b2f7651136..b461fcd5f8 100644
--- a/selfdrive/car/body/radar_interface.py
+++ b/selfdrive/car/body/radar_interface.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
class RadarInterface(RadarInterfaceBase):
pass
diff --git a/selfdrive/car/body/values.py b/selfdrive/car/body/values.py
index 4fef966374..56d9723818 100644
--- a/selfdrive/car/body/values.py
+++ b/selfdrive/car/body/values.py
@@ -1,9 +1,9 @@
from typing import Dict
from cereal import car
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarInfo
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarInfo
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/car_helpers.py b/selfdrive/car/car_helpers.py
index 652862de47..81a8c7eacd 100644
--- a/selfdrive/car/car_helpers.py
+++ b/selfdrive/car/car_helpers.py
@@ -2,16 +2,16 @@ import os
from typing import Callable, Dict, List, Optional, Tuple
from cereal import car
-from common.params import Params
-from common.basedir import BASEDIR
-from system.version import is_comma_remote, is_tested_branch
-from selfdrive.car.interfaces import get_interface_attr
-from selfdrive.car.fingerprints import eliminate_incompatible_cars, all_legacy_fingerprint_cars
-from selfdrive.car.vin import get_vin, is_valid_vin, VIN_UNKNOWN
-from selfdrive.car.fw_versions import get_fw_versions_ordered, get_present_ecus, match_fw_to_car, set_obd_multiplexing
-from system.swaglog import cloudlog
+from openpilot.common.params import Params
+from openpilot.common.basedir import BASEDIR
+from openpilot.system.version import is_comma_remote, is_tested_branch
+from openpilot.selfdrive.car.interfaces import get_interface_attr
+from openpilot.selfdrive.car.fingerprints import eliminate_incompatible_cars, all_legacy_fingerprint_cars
+from openpilot.selfdrive.car.vin import get_vin, is_valid_vin, VIN_UNKNOWN
+from openpilot.selfdrive.car.fw_versions import get_fw_versions_ordered, get_present_ecus, match_fw_to_car, set_obd_multiplexing
+from openpilot.system.swaglog import cloudlog
import cereal.messaging as messaging
-from selfdrive.car import gen_empty_fingerprint
+from openpilot.selfdrive.car import gen_empty_fingerprint
FRAME_FINGERPRINT = 100 # 1s
@@ -44,7 +44,7 @@ def get_one_can(logcan):
def load_interfaces(brand_names):
ret = {}
for brand_name in brand_names:
- path = f'selfdrive.car.{brand_name}'
+ path = f'openpilot.selfdrive.car.{brand_name}'
CarInterface = __import__(path + '.interface', fromlist=['CarInterface']).CarInterface
if os.path.exists(BASEDIR + '/' + path.replace('.', '/') + '/carstate.py'):
diff --git a/selfdrive/car/chrysler/carcontroller.py b/selfdrive/car/chrysler/carcontroller.py
index b418179e0e..a568f927b8 100644
--- a/selfdrive/car/chrysler/carcontroller.py
+++ b/selfdrive/car/chrysler/carcontroller.py
@@ -1,8 +1,8 @@
from opendbc.can.packer import CANPacker
-from common.realtime import DT_CTRL
-from selfdrive.car import apply_meas_steer_torque_limits
-from selfdrive.car.chrysler.chryslercan import create_lkas_hud, create_lkas_command, create_cruise_buttons
-from selfdrive.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car import apply_meas_steer_torque_limits
+from openpilot.selfdrive.car.chrysler.chryslercan import create_lkas_hud, create_lkas_command, create_cruise_buttons
+from openpilot.selfdrive.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags
class CarController:
diff --git a/selfdrive/car/chrysler/carstate.py b/selfdrive/car/chrysler/carstate.py
index 7b250ddf9b..eb1cf7e7d5 100644
--- a/selfdrive/car/chrysler/carstate.py
+++ b/selfdrive/car/chrysler/carstate.py
@@ -1,9 +1,9 @@
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from opendbc.can.parser import CANParser
from opendbc.can.can_define import CANDefine
-from selfdrive.car.interfaces import CarStateBase
-from selfdrive.car.chrysler.values import DBC, STEER_THRESHOLD, RAM_CARS
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.chrysler.values import DBC, STEER_THRESHOLD, RAM_CARS
class CarState(CarStateBase):
diff --git a/selfdrive/car/chrysler/chryslercan.py b/selfdrive/car/chrysler/chryslercan.py
index 10ed73e9f2..96439f35d8 100644
--- a/selfdrive/car/chrysler/chryslercan.py
+++ b/selfdrive/car/chrysler/chryslercan.py
@@ -1,5 +1,5 @@
from cereal import car
-from selfdrive.car.chrysler.values import RAM_CARS
+from openpilot.selfdrive.car.chrysler.values import RAM_CARS
GearShifter = car.CarState.GearShifter
VisualAlert = car.CarControl.HUDControl.VisualAlert
diff --git a/selfdrive/car/chrysler/interface.py b/selfdrive/car/chrysler/interface.py
index a3c0b0c7a1..a87759910b 100755
--- a/selfdrive/car/chrysler/interface.py
+++ b/selfdrive/car/chrysler/interface.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
from cereal import car
from panda import Panda
-from selfdrive.car import get_safety_config
-from selfdrive.car.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags
-from selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.chrysler.values import CAR, RAM_HD, RAM_DT, RAM_CARS, ChryslerFlags
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
class CarInterface(CarInterfaceBase):
diff --git a/selfdrive/car/chrysler/radar_interface.py b/selfdrive/car/chrysler/radar_interface.py
index 1d0661778a..d982958422 100755
--- a/selfdrive/car/chrysler/radar_interface.py
+++ b/selfdrive/car/chrysler/radar_interface.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
from opendbc.can.parser import CANParser
from cereal import car
-from selfdrive.car.interfaces import RadarInterfaceBase
-from selfdrive.car.chrysler.values import DBC
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.chrysler.values import DBC
RADAR_MSGS_C = list(range(0x2c2, 0x2d4+2, 2)) # c_ messages 706,...,724
RADAR_MSGS_D = list(range(0x2a2, 0x2b4+2, 2)) # d_ messages
diff --git a/selfdrive/car/chrysler/values.py b/selfdrive/car/chrysler/values.py
index 172d3a08cc..657ada2706 100644
--- a/selfdrive/car/chrysler/values.py
+++ b/selfdrive/car/chrysler/values.py
@@ -5,9 +5,9 @@ from typing import Dict, List, Optional, Union
from cereal import car
from panda.python import uds
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarHarness, CarInfo, CarParts
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarHarness, CarInfo, CarParts
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/disable_ecu.py b/selfdrive/car/disable_ecu.py
index 36ebe12fa8..1a1252327f 100755
--- a/selfdrive/car/disable_ecu.py
+++ b/selfdrive/car/disable_ecu.py
@@ -1,5 +1,5 @@
-from selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
-from system.swaglog import cloudlog
+from openpilot.selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
+from openpilot.system.swaglog import cloudlog
EXT_DIAG_REQUEST = b'\x10\x03'
EXT_DIAG_RESPONSE = b'\x50\x03'
diff --git a/selfdrive/car/docs.py b/selfdrive/car/docs.py
index 02075a5e11..8475a69d8a 100755
--- a/selfdrive/car/docs.py
+++ b/selfdrive/car/docs.py
@@ -8,10 +8,10 @@ from natsort import natsorted
from typing import Dict, List
from cereal import car
-from common.basedir import BASEDIR
-from selfdrive.car import gen_empty_fingerprint
-from selfdrive.car.docs_definitions import CarInfo, Column, CommonFootnote, PartType
-from selfdrive.car.car_helpers import interfaces, get_interface_attr
+from openpilot.common.basedir import BASEDIR
+from openpilot.selfdrive.car import gen_empty_fingerprint
+from openpilot.selfdrive.car.docs_definitions import CarInfo, Column, CommonFootnote, PartType
+from openpilot.selfdrive.car.car_helpers import interfaces, get_interface_attr
def get_all_footnotes() -> Dict[Enum, int]:
diff --git a/selfdrive/car/docs_definitions.py b/selfdrive/car/docs_definitions.py
index 2220205e8f..3319ba31c8 100644
--- a/selfdrive/car/docs_definitions.py
+++ b/selfdrive/car/docs_definitions.py
@@ -6,7 +6,7 @@ from enum import Enum
from typing import Dict, List, Optional, Tuple, Union
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
GOOD_TORQUE_THRESHOLD = 1.0 # m/s^2
MODEL_YEARS_RE = r"(?<= )((\d{4}-\d{2})|(\d{4}))(,|$)"
diff --git a/selfdrive/car/ecu_addrs.py b/selfdrive/car/ecu_addrs.py
index 25938f0d3c..cff1df79a5 100755
--- a/selfdrive/car/ecu_addrs.py
+++ b/selfdrive/car/ecu_addrs.py
@@ -5,10 +5,10 @@ from typing import Optional, Set
import cereal.messaging as messaging
from panda.python.uds import SERVICE_TYPE
-from selfdrive.car import make_can_msg
-from selfdrive.car.fw_query_definitions import EcuAddrBusType
-from selfdrive.boardd.boardd import can_list_to_can_capnp
-from system.swaglog import cloudlog
+from openpilot.selfdrive.car import make_can_msg
+from openpilot.selfdrive.car.fw_query_definitions import EcuAddrBusType
+from openpilot.selfdrive.boardd.boardd import can_list_to_can_capnp
+from openpilot.system.swaglog import cloudlog
def make_tester_present_msg(addr, bus, subaddr=None):
diff --git a/selfdrive/car/fingerprints.py b/selfdrive/car/fingerprints.py
index 09ed30cc19..1d627e4b37 100644
--- a/selfdrive/car/fingerprints.py
+++ b/selfdrive/car/fingerprints.py
@@ -1,4 +1,4 @@
-from selfdrive.car.interfaces import get_interface_attr
+from openpilot.selfdrive.car.interfaces import get_interface_attr
FW_VERSIONS = get_interface_attr('FW_VERSIONS', combine_brands=True, ignore_none=True)
diff --git a/selfdrive/car/ford/carcontroller.py b/selfdrive/car/ford/carcontroller.py
index dd30bc57e1..86008c6352 100644
--- a/selfdrive/car/ford/carcontroller.py
+++ b/selfdrive/car/ford/carcontroller.py
@@ -1,10 +1,10 @@
from cereal import car
-from common.numpy_fast import clip
+from openpilot.common.numpy_fast import clip
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_std_steer_angle_limits
-from selfdrive.car.ford.fordcan import CanBus, create_acc_msg, create_acc_ui_msg, create_button_msg, \
+from openpilot.selfdrive.car import apply_std_steer_angle_limits
+from openpilot.selfdrive.car.ford.fordcan import CanBus, create_acc_msg, create_acc_ui_msg, create_button_msg, \
create_lat_ctl_msg, create_lat_ctl2_msg, create_lka_msg, create_lkas_ui_msg
-from selfdrive.car.ford.values import CANFD_CAR, CarControllerParams
+from openpilot.selfdrive.car.ford.values import CANFD_CAR, CarControllerParams
LongCtrlState = car.CarControl.Actuators.LongControlState
VisualAlert = car.CarControl.HUDControl.VisualAlert
diff --git a/selfdrive/car/ford/carstate.py b/selfdrive/car/ford/carstate.py
index 824d929930..5c787b787a 100644
--- a/selfdrive/car/ford/carstate.py
+++ b/selfdrive/car/ford/carstate.py
@@ -1,10 +1,10 @@
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import CarStateBase
-from selfdrive.car.ford.fordcan import CanBus
-from selfdrive.car.ford.values import CANFD_CAR, CarControllerParams, DBC
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.ford.fordcan import CanBus
+from openpilot.selfdrive.car.ford.values import CANFD_CAR, CarControllerParams, DBC
GearShifter = car.CarState.GearShifter
TransmissionType = car.CarParams.TransmissionType
diff --git a/selfdrive/car/ford/fordcan.py b/selfdrive/car/ford/fordcan.py
index a49d7ad85d..e0086ecbb5 100644
--- a/selfdrive/car/ford/fordcan.py
+++ b/selfdrive/car/ford/fordcan.py
@@ -1,5 +1,5 @@
from cereal import car
-from selfdrive.car import CanBusBase
+from openpilot.selfdrive.car import CanBusBase
HUDControl = car.CarControl.HUDControl
diff --git a/selfdrive/car/ford/interface.py b/selfdrive/car/ford/interface.py
index 990d14de93..755d7d1d00 100644
--- a/selfdrive/car/ford/interface.py
+++ b/selfdrive/car/ford/interface.py
@@ -1,11 +1,11 @@
#!/usr/bin/env python3
from cereal import car
from panda import Panda
-from common.conversions import Conversions as CV
-from selfdrive.car import get_safety_config
-from selfdrive.car.ford.fordcan import CanBus
-from selfdrive.car.ford.values import CANFD_CAR, CAR, Ecu
-from selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.ford.fordcan import CanBus
+from openpilot.selfdrive.car.ford.values import CANFD_CAR, CAR, Ecu
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
TransmissionType = car.CarParams.TransmissionType
GearShifter = car.CarState.GearShifter
diff --git a/selfdrive/car/ford/radar_interface.py b/selfdrive/car/ford/radar_interface.py
index 78dd594627..a166fc20dd 100644
--- a/selfdrive/car/ford/radar_interface.py
+++ b/selfdrive/car/ford/radar_interface.py
@@ -2,10 +2,10 @@
from math import cos, sin
from cereal import car
from opendbc.can.parser import CANParser
-from common.conversions import Conversions as CV
-from selfdrive.car.ford.fordcan import CanBus
-from selfdrive.car.ford.values import DBC, RADAR
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.ford.fordcan import CanBus
+from openpilot.selfdrive.car.ford.values import DBC, RADAR
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
DELPHI_ESR_RADAR_MSGS = list(range(0x500, 0x540))
diff --git a/selfdrive/car/ford/values.py b/selfdrive/car/ford/values.py
index 01d1ae7b8a..5d99db945e 100644
--- a/selfdrive/car/ford/values.py
+++ b/selfdrive/car/ford/values.py
@@ -4,10 +4,10 @@ from enum import Enum
from typing import Dict, List, Union
from cereal import car
-from selfdrive.car import AngleRateLimit, dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column, \
+from openpilot.selfdrive.car import AngleRateLimit, dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column, \
Device
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/fw_versions.py b/selfdrive/car/fw_versions.py
index 7fa47da998..45c4967cb8 100755
--- a/selfdrive/car/fw_versions.py
+++ b/selfdrive/car/fw_versions.py
@@ -6,13 +6,13 @@ import capnp
import panda.python.uds as uds
from cereal import car
-from common.params import Params
-from selfdrive.car.ecu_addrs import get_ecu_addrs
-from selfdrive.car.fw_query_definitions import AddrType, EcuAddrBusType
-from selfdrive.car.interfaces import get_interface_attr
-from selfdrive.car.fingerprints import FW_VERSIONS
-from selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
-from system.swaglog import cloudlog
+from openpilot.common.params import Params
+from openpilot.selfdrive.car.ecu_addrs import get_ecu_addrs
+from openpilot.selfdrive.car.fw_query_definitions import AddrType, EcuAddrBusType
+from openpilot.selfdrive.car.interfaces import get_interface_attr
+from openpilot.selfdrive.car.fingerprints import FW_VERSIONS
+from openpilot.selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
+from openpilot.system.swaglog import cloudlog
Ecu = car.CarParams.Ecu
ESSENTIAL_ECUS = [Ecu.engine, Ecu.eps, Ecu.abs, Ecu.fwdRadar, Ecu.fwdCamera, Ecu.vsa]
@@ -338,7 +338,7 @@ if __name__ == "__main__":
import time
import argparse
import cereal.messaging as messaging
- from selfdrive.car.vin import get_vin
+ from openpilot.selfdrive.car.vin import get_vin
parser = argparse.ArgumentParser(description='Get firmware version of ECUs')
parser.add_argument('--scan', action='store_true')
diff --git a/selfdrive/car/gm/carcontroller.py b/selfdrive/car/gm/carcontroller.py
index 1b2424afaf..f51cb75372 100644
--- a/selfdrive/car/gm/carcontroller.py
+++ b/selfdrive/car/gm/carcontroller.py
@@ -1,11 +1,11 @@
from cereal import car
-from common.conversions import Conversions as CV
-from common.numpy_fast import interp
-from common.realtime import DT_CTRL
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import interp
+from openpilot.common.realtime import DT_CTRL
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_driver_steer_torque_limits
-from selfdrive.car.gm import gmcan
-from selfdrive.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons
+from openpilot.selfdrive.car import apply_driver_steer_torque_limits
+from openpilot.selfdrive.car.gm import gmcan
+from openpilot.selfdrive.car.gm.values import DBC, CanBus, CarControllerParams, CruiseButtons
VisualAlert = car.CarControl.HUDControl.VisualAlert
NetworkLocation = car.CarParams.NetworkLocation
diff --git a/selfdrive/car/gm/carstate.py b/selfdrive/car/gm/carstate.py
index 43cdee18d4..8585e9f205 100644
--- a/selfdrive/car/gm/carstate.py
+++ b/selfdrive/car/gm/carstate.py
@@ -1,11 +1,11 @@
import copy
from cereal import car
-from common.conversions import Conversions as CV
-from common.numpy_fast import mean
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import mean
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import CarStateBase
-from selfdrive.car.gm.values import DBC, AccState, CanBus, STEER_THRESHOLD
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.gm.values import DBC, AccState, CanBus, STEER_THRESHOLD
TransmissionType = car.CarParams.TransmissionType
NetworkLocation = car.CarParams.NetworkLocation
diff --git a/selfdrive/car/gm/gmcan.py b/selfdrive/car/gm/gmcan.py
index 0de2066678..bd1e29ce3b 100644
--- a/selfdrive/car/gm/gmcan.py
+++ b/selfdrive/car/gm/gmcan.py
@@ -1,5 +1,5 @@
-from selfdrive.car import make_can_msg
-from selfdrive.car.gm.values import CAR
+from openpilot.selfdrive.car import make_can_msg
+from openpilot.selfdrive.car.gm.values import CAR
def create_buttons(packer, bus, idx, button):
diff --git a/selfdrive/car/gm/interface.py b/selfdrive/car/gm/interface.py
index 8e139947a6..511da405d8 100755
--- a/selfdrive/car/gm/interface.py
+++ b/selfdrive/car/gm/interface.py
@@ -3,12 +3,12 @@ from cereal import car
from math import fabs, exp
from panda import Panda
-from common.conversions import Conversions as CV
-from selfdrive.car import create_button_event, get_safety_config
-from selfdrive.car.gm.radar_interface import RADAR_HEADER_MSG
-from selfdrive.car.gm.values import CAR, CruiseButtons, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, CanBus
-from selfdrive.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, FRICTION_THRESHOLD
-from selfdrive.controls.lib.drive_helpers import get_friction
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car import create_button_event, get_safety_config
+from openpilot.selfdrive.car.gm.radar_interface import RADAR_HEADER_MSG
+from openpilot.selfdrive.car.gm.values import CAR, CruiseButtons, CarControllerParams, EV_CAR, CAMERA_ACC_CAR, CanBus
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase, TorqueFromLateralAccelCallbackType, FRICTION_THRESHOLD
+from openpilot.selfdrive.controls.lib.drive_helpers import get_friction
ButtonType = car.CarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
diff --git a/selfdrive/car/gm/radar_interface.py b/selfdrive/car/gm/radar_interface.py
index 99fb89ceb3..b893babd31 100755
--- a/selfdrive/car/gm/radar_interface.py
+++ b/selfdrive/car/gm/radar_interface.py
@@ -1,10 +1,10 @@
#!/usr/bin/env python3
import math
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from opendbc.can.parser import CANParser
-from selfdrive.car.gm.values import DBC, CanBus
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.gm.values import DBC, CanBus
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
RADAR_HEADER_MSG = 1120
SLOT_1_MSG = RADAR_HEADER_MSG + 1
diff --git a/selfdrive/car/gm/tests/test_gm.py b/selfdrive/car/gm/tests/test_gm.py
index 1fc8a25611..fce5fea720 100755
--- a/selfdrive/car/gm/tests/test_gm.py
+++ b/selfdrive/car/gm/tests/test_gm.py
@@ -2,7 +2,7 @@
from parameterized import parameterized
import unittest
-from selfdrive.car.gm.values import CAMERA_ACC_CAR, CAR, FINGERPRINTS, GM_RX_OFFSET
+from openpilot.selfdrive.car.gm.values import CAMERA_ACC_CAR, CAR, FINGERPRINTS, GM_RX_OFFSET
CAMERA_DIAGNOSTIC_ADDRESS = 0x24b
diff --git a/selfdrive/car/gm/values.py b/selfdrive/car/gm/values.py
index cfe518650a..d12c21dc23 100644
--- a/selfdrive/car/gm/values.py
+++ b/selfdrive/car/gm/values.py
@@ -5,8 +5,8 @@ from enum import Enum
from typing import Dict, List, Union
from cereal import car
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/honda/carcontroller.py b/selfdrive/car/honda/carcontroller.py
index 347c16c86f..056b47c4b3 100644
--- a/selfdrive/car/honda/carcontroller.py
+++ b/selfdrive/car/honda/carcontroller.py
@@ -1,13 +1,13 @@
from collections import namedtuple
from cereal import car
-from common.numpy_fast import clip, interp
-from common.realtime import DT_CTRL
+from openpilot.common.numpy_fast import clip, interp
+from openpilot.common.realtime import DT_CTRL
from opendbc.can.packer import CANPacker
-from selfdrive.car import create_gas_interceptor_command
-from selfdrive.car.honda import hondacan
-from selfdrive.car.honda.values import CruiseButtons, VISUAL_HUD, HONDA_BOSCH, HONDA_BOSCH_RADARLESS, HONDA_NIDEC_ALT_PCM_ACCEL, CarControllerParams
-from selfdrive.controls.lib.drive_helpers import rate_limit
+from openpilot.selfdrive.car import create_gas_interceptor_command
+from openpilot.selfdrive.car.honda import hondacan
+from openpilot.selfdrive.car.honda.values import CruiseButtons, VISUAL_HUD, HONDA_BOSCH, HONDA_BOSCH_RADARLESS, HONDA_NIDEC_ALT_PCM_ACCEL, CarControllerParams
+from openpilot.selfdrive.controls.lib.drive_helpers import rate_limit
VisualAlert = car.CarControl.HUDControl.VisualAlert
LongCtrlState = car.CarControl.Actuators.LongControlState
diff --git a/selfdrive/car/honda/carstate.py b/selfdrive/car/honda/carstate.py
index d6d2b18a0a..03aedb31d2 100644
--- a/selfdrive/car/honda/carstate.py
+++ b/selfdrive/car/honda/carstate.py
@@ -1,13 +1,15 @@
from collections import defaultdict
from cereal import car
-from common.conversions import Conversions as CV
-from common.numpy_fast import interp
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import interp
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
-from selfdrive.car.honda.hondacan import get_cruise_speed_conversion, get_pt_bus
-from selfdrive.car.honda.values import CAR, DBC, STEER_THRESHOLD, HONDA_BOSCH, HONDA_NIDEC_ALT_SCM_MESSAGES, HONDA_BOSCH_ALT_BRAKE_SIGNAL, HONDA_BOSCH_RADARLESS
-from selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.honda.hondacan import get_cruise_speed_conversion, get_pt_bus
+from openpilot.selfdrive.car.honda.values import CAR, DBC, STEER_THRESHOLD, HONDA_BOSCH, \
+ HONDA_NIDEC_ALT_SCM_MESSAGES, HONDA_BOSCH_ALT_BRAKE_SIGNAL, \
+ HONDA_BOSCH_RADARLESS
+from openpilot.selfdrive.car.interfaces import CarStateBase
TransmissionType = car.CarParams.TransmissionType
diff --git a/selfdrive/car/honda/hondacan.py b/selfdrive/car/honda/hondacan.py
index 1fe0a13767..a8cbad78ce 100644
--- a/selfdrive/car/honda/hondacan.py
+++ b/selfdrive/car/honda/hondacan.py
@@ -1,5 +1,5 @@
-from common.conversions import Conversions as CV
-from selfdrive.car.honda.values import HondaFlags, HONDA_BOSCH, HONDA_BOSCH_RADARLESS, CAR, CarControllerParams
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.honda.values import HondaFlags, HONDA_BOSCH, HONDA_BOSCH_RADARLESS, CAR, CarControllerParams
# CAN bus layout with relay
# 0 = ACC-CAN - radar side
diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py
index 1025eb6212..3b87009a24 100755
--- a/selfdrive/car/honda/interface.py
+++ b/selfdrive/car/honda/interface.py
@@ -1,13 +1,13 @@
#!/usr/bin/env python3
from cereal import car
from panda import Panda
-from common.conversions import Conversions as CV
-from common.numpy_fast import interp
-from selfdrive.car.honda.values import CarControllerParams, CruiseButtons, HondaFlags, CAR, HONDA_BOSCH, HONDA_NIDEC_ALT_SCM_MESSAGES, \
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import interp
+from openpilot.selfdrive.car.honda.values import CarControllerParams, CruiseButtons, HondaFlags, CAR, HONDA_BOSCH, HONDA_NIDEC_ALT_SCM_MESSAGES, \
HONDA_BOSCH_ALT_BRAKE_SIGNAL, HONDA_BOSCH_RADARLESS
-from selfdrive.car import create_button_event, get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
-from selfdrive.car.disable_ecu import disable_ecu
+from openpilot.selfdrive.car import create_button_event, get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.disable_ecu import disable_ecu
ButtonType = car.CarState.ButtonEvent.Type
diff --git a/selfdrive/car/honda/radar_interface.py b/selfdrive/car/honda/radar_interface.py
index 58f665233b..8090f8e03e 100755
--- a/selfdrive/car/honda/radar_interface.py
+++ b/selfdrive/car/honda/radar_interface.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
from cereal import car
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import RadarInterfaceBase
-from selfdrive.car.honda.values import DBC
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.honda.values import DBC
def _create_nidec_can_parser(car_fingerprint):
diff --git a/selfdrive/car/honda/tests/test_honda.py b/selfdrive/car/honda/tests/test_honda.py
index 7a8c86fb0a..da64b8f70b 100755
--- a/selfdrive/car/honda/tests/test_honda.py
+++ b/selfdrive/car/honda/tests/test_honda.py
@@ -2,7 +2,7 @@
import re
import unittest
-from selfdrive.car.honda.values import FW_VERSIONS
+from openpilot.selfdrive.car.honda.values import FW_VERSIONS
HONDA_FW_VERSION_RE = br"\d{5}-[A-Z0-9]{3}(-|,)[A-Z0-9]{4}(\x00){2}$"
diff --git a/selfdrive/car/honda/values.py b/selfdrive/car/honda/values.py
index b149fd2a02..403745bd42 100644
--- a/selfdrive/car/honda/values.py
+++ b/selfdrive/car/honda/values.py
@@ -3,11 +3,11 @@ from enum import Enum, IntFlag
from typing import Dict, List, Optional, Union
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from panda.python import uds
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
Ecu = car.CarParams.Ecu
VisualAlert = car.CarControl.HUDControl.VisualAlert
diff --git a/selfdrive/car/hyundai/carcontroller.py b/selfdrive/car/hyundai/carcontroller.py
index 6af5f572da..1ff211e860 100644
--- a/selfdrive/car/hyundai/carcontroller.py
+++ b/selfdrive/car/hyundai/carcontroller.py
@@ -1,12 +1,12 @@
from cereal import car
-from common.conversions import Conversions as CV
-from common.numpy_fast import clip
-from common.realtime import DT_CTRL
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import clip
+from openpilot.common.realtime import DT_CTRL
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_driver_steer_torque_limits, common_fault_avoidance
-from selfdrive.car.hyundai import hyundaicanfd, hyundaican
-from selfdrive.car.hyundai.hyundaicanfd import CanBus
-from selfdrive.car.hyundai.values import HyundaiFlags, Buttons, CarControllerParams, CANFD_CAR, CAR
+from openpilot.selfdrive.car import apply_driver_steer_torque_limits, common_fault_avoidance
+from openpilot.selfdrive.car.hyundai import hyundaicanfd, hyundaican
+from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus
+from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, Buttons, CarControllerParams, CANFD_CAR, CAR
VisualAlert = car.CarControl.HUDControl.VisualAlert
LongCtrlState = car.CarControl.Actuators.LongControlState
diff --git a/selfdrive/car/hyundai/carstate.py b/selfdrive/car/hyundai/carstate.py
index 2e3801c319..ee35bf6663 100644
--- a/selfdrive/car/hyundai/carstate.py
+++ b/selfdrive/car/hyundai/carstate.py
@@ -3,12 +3,13 @@ import copy
import math
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from opendbc.can.parser import CANParser
from opendbc.can.can_define import CANDefine
-from selfdrive.car.hyundai.hyundaicanfd import CanBus
-from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CAN_GEARS, CAMERA_SCC_CAR, CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams
-from selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus
+from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CAN_GEARS, CAMERA_SCC_CAR, \
+ CANFD_CAR, EV_CAR, HYBRID_CAR, Buttons, CarControllerParams
+from openpilot.selfdrive.car.interfaces import CarStateBase
PREV_BUTTON_SAMPLES = 8
CLUSTER_SAMPLE_RATE = 20 # frames
diff --git a/selfdrive/car/hyundai/hyundaican.py b/selfdrive/car/hyundai/hyundaican.py
index c0c60fba03..64fc241273 100644
--- a/selfdrive/car/hyundai/hyundaican.py
+++ b/selfdrive/car/hyundai/hyundaican.py
@@ -1,5 +1,5 @@
import crcmod
-from selfdrive.car.hyundai.values import CAR, CHECKSUM, CAMERA_SCC_CAR
+from openpilot.selfdrive.car.hyundai.values import CAR, CHECKSUM, CAMERA_SCC_CAR
hyundai_checksum = crcmod.mkCrcFun(0x11D, initCrc=0xFD, rev=False, xorOut=0xdf)
diff --git a/selfdrive/car/hyundai/hyundaicanfd.py b/selfdrive/car/hyundai/hyundaicanfd.py
index e78e02ae50..7aca5b850c 100644
--- a/selfdrive/car/hyundai/hyundaicanfd.py
+++ b/selfdrive/car/hyundai/hyundaicanfd.py
@@ -1,6 +1,6 @@
-from common.numpy_fast import clip
-from selfdrive.car import CanBusBase
-from selfdrive.car.hyundai.values import HyundaiFlags
+from openpilot.common.numpy_fast import clip
+from openpilot.selfdrive.car import CanBusBase
+from openpilot.selfdrive.car.hyundai.values import HyundaiFlags
class CanBus(CanBusBase):
diff --git a/selfdrive/car/hyundai/interface.py b/selfdrive/car/hyundai/interface.py
index 3e25863f46..b4cf10d0ed 100644
--- a/selfdrive/car/hyundai/interface.py
+++ b/selfdrive/car/hyundai/interface.py
@@ -1,15 +1,15 @@
#!/usr/bin/env python3
from cereal import car
from panda import Panda
-from common.conversions import Conversions as CV
-from selfdrive.car.hyundai.hyundaicanfd import CanBus
-from selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CANFD_CAR, CAMERA_SCC_CAR, CANFD_RADAR_SCC_CAR, \
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.hyundai.hyundaicanfd import CanBus
+from openpilot.selfdrive.car.hyundai.values import HyundaiFlags, CAR, DBC, CANFD_CAR, CAMERA_SCC_CAR, CANFD_RADAR_SCC_CAR, \
EV_CAR, HYBRID_CAR, LEGACY_SAFETY_MODE_CAR, UNSUPPORTED_LONGITUDINAL_CAR, \
Buttons
-from selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR
-from selfdrive.car import create_button_event, get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
-from selfdrive.car.disable_ecu import disable_ecu
+from openpilot.selfdrive.car.hyundai.radar_interface import RADAR_START_ADDR
+from openpilot.selfdrive.car import create_button_event, get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.disable_ecu import disable_ecu
Ecu = car.CarParams.Ecu
ButtonType = car.CarState.ButtonEvent.Type
diff --git a/selfdrive/car/hyundai/radar_interface.py b/selfdrive/car/hyundai/radar_interface.py
index 3b74a03d4b..e1cae9ffaf 100644
--- a/selfdrive/car/hyundai/radar_interface.py
+++ b/selfdrive/car/hyundai/radar_interface.py
@@ -3,8 +3,8 @@ import math
from cereal import car
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import RadarInterfaceBase
-from selfdrive.car.hyundai.values import DBC
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.hyundai.values import DBC
RADAR_START_ADDR = 0x500
RADAR_MSG_COUNT = 32
diff --git a/selfdrive/car/hyundai/tests/print_platform_codes.py b/selfdrive/car/hyundai/tests/print_platform_codes.py
index 1bc8a4e366..6fe4582f54 100755
--- a/selfdrive/car/hyundai/tests/print_platform_codes.py
+++ b/selfdrive/car/hyundai/tests/print_platform_codes.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
from cereal import car
-from selfdrive.car.hyundai.values import FW_VERSIONS, PLATFORM_CODE_ECUS, get_platform_codes
+from openpilot.selfdrive.car.hyundai.values import FW_VERSIONS, PLATFORM_CODE_ECUS, get_platform_codes
Ecu = car.CarParams.Ecu
ECU_NAME = {v: k for k, v in Ecu.schema.enumerants.items()}
diff --git a/selfdrive/car/hyundai/tests/test_hyundai.py b/selfdrive/car/hyundai/tests/test_hyundai.py
index 68a7603ec4..b61b09a897 100755
--- a/selfdrive/car/hyundai/tests/test_hyundai.py
+++ b/selfdrive/car/hyundai/tests/test_hyundai.py
@@ -2,8 +2,8 @@
import unittest
from cereal import car
-from selfdrive.car.fw_versions import build_fw_dict
-from selfdrive.car.hyundai.values import CAMERA_SCC_CAR, CANFD_CAR, CAN_GEARS, CAR, CHECKSUM, DATE_FW_ECUS, \
+from openpilot.selfdrive.car.fw_versions import build_fw_dict
+from openpilot.selfdrive.car.hyundai.values import CAMERA_SCC_CAR, CANFD_CAR, CAN_GEARS, CAR, CHECKSUM, DATE_FW_ECUS, \
EV_CAR, FW_QUERY_CONFIG, FW_VERSIONS, LEGACY_SAFETY_MODE_CAR, \
UNSUPPORTED_LONGITUDINAL_CAR, PLATFORM_CODE_ECUS, get_platform_codes
diff --git a/selfdrive/car/hyundai/values.py b/selfdrive/car/hyundai/values.py
index 5a137267ad..dc90fbfba7 100644
--- a/selfdrive/car/hyundai/values.py
+++ b/selfdrive/car/hyundai/values.py
@@ -6,10 +6,10 @@ from typing import Dict, List, Optional, Set, Tuple, Union
from cereal import car
from panda.python import uds
-from common.conversions import Conversions as CV
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/interfaces.py b/selfdrive/car/interfaces.py
index f30683d9a3..53b3e381f6 100644
--- a/selfdrive/car/interfaces.py
+++ b/selfdrive/car/interfaces.py
@@ -5,15 +5,15 @@ from abc import abstractmethod, ABC
from typing import Any, Dict, Optional, Tuple, List, Callable
from cereal import car
-from common.basedir import BASEDIR
-from common.conversions import Conversions as CV
-from common.kalman.simple_kalman import KF1D
-from common.numpy_fast import clip
-from common.realtime import DT_CTRL
-from selfdrive.car import apply_hysteresis, gen_empty_fingerprint, scale_rot_inertia, scale_tire_stiffness, STD_CARGO_KG
-from selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, get_friction
-from selfdrive.controls.lib.events import Events
-from selfdrive.controls.lib.vehicle_model import VehicleModel
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.kalman.simple_kalman import KF1D
+from openpilot.common.numpy_fast import clip
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car import apply_hysteresis, gen_empty_fingerprint, scale_rot_inertia, scale_tire_stiffness, STD_CARGO_KG
+from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, get_friction
+from openpilot.selfdrive.controls.lib.events import Events
+from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel
ButtonType = car.CarState.ButtonEvent.Type
GearShifter = car.CarState.GearShifter
@@ -441,7 +441,7 @@ def get_interface_attr(attr: str, combine_brands: bool = False, ignore_none: boo
for car_folder in sorted([x[0] for x in os.walk(BASEDIR + '/selfdrive/car')]):
try:
brand_name = car_folder.split('/')[-1]
- brand_values = __import__(f'selfdrive.car.{brand_name}.values', fromlist=[attr])
+ brand_values = __import__(f'openpilot.selfdrive.car.{brand_name}.values', fromlist=[attr])
if hasattr(brand_values, attr) or not ignore_none:
attr_data = getattr(brand_values, attr, None)
else:
diff --git a/selfdrive/car/isotp_parallel_query.py b/selfdrive/car/isotp_parallel_query.py
index 93033126a0..adbc598ea6 100644
--- a/selfdrive/car/isotp_parallel_query.py
+++ b/selfdrive/car/isotp_parallel_query.py
@@ -3,8 +3,8 @@ from collections import defaultdict
from functools import partial
import cereal.messaging as messaging
-from system.swaglog import cloudlog
-from selfdrive.boardd.boardd import can_list_to_can_capnp
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.boardd.boardd import can_list_to_can_capnp
from panda.python.uds import CanClient, IsoTpMessage, FUNCTIONAL_ADDRS, get_rx_addr_for_tx_addr
diff --git a/selfdrive/car/mazda/carcontroller.py b/selfdrive/car/mazda/carcontroller.py
index cb401a8abd..320ad19bb4 100644
--- a/selfdrive/car/mazda/carcontroller.py
+++ b/selfdrive/car/mazda/carcontroller.py
@@ -1,8 +1,8 @@
from cereal import car
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_driver_steer_torque_limits
-from selfdrive.car.mazda import mazdacan
-from selfdrive.car.mazda.values import CarControllerParams, Buttons
+from openpilot.selfdrive.car import apply_driver_steer_torque_limits
+from openpilot.selfdrive.car.mazda import mazdacan
+from openpilot.selfdrive.car.mazda.values import CarControllerParams, Buttons
VisualAlert = car.CarControl.HUDControl.VisualAlert
diff --git a/selfdrive/car/mazda/carstate.py b/selfdrive/car/mazda/carstate.py
index d782e59dee..1f7846ca06 100644
--- a/selfdrive/car/mazda/carstate.py
+++ b/selfdrive/car/mazda/carstate.py
@@ -1,9 +1,9 @@
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import CarStateBase
-from selfdrive.car.mazda.values import DBC, LKAS_LIMITS, GEN1
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.mazda.values import DBC, LKAS_LIMITS, GEN1
class CarState(CarStateBase):
def __init__(self, CP):
diff --git a/selfdrive/car/mazda/interface.py b/selfdrive/car/mazda/interface.py
index cb89c4c448..7ac93d9dee 100755
--- a/selfdrive/car/mazda/interface.py
+++ b/selfdrive/car/mazda/interface.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
from cereal import car
-from common.conversions import Conversions as CV
-from selfdrive.car.mazda.values import CAR, LKAS_LIMITS
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.mazda.values import CAR, LKAS_LIMITS
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
ButtonType = car.CarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
diff --git a/selfdrive/car/mazda/mazdacan.py b/selfdrive/car/mazda/mazdacan.py
index 58a505f917..e350c5587f 100644
--- a/selfdrive/car/mazda/mazdacan.py
+++ b/selfdrive/car/mazda/mazdacan.py
@@ -1,4 +1,4 @@
-from selfdrive.car.mazda.values import GEN1, Buttons
+from openpilot.selfdrive.car.mazda.values import GEN1, Buttons
def create_steering_control(packer, car_fingerprint, frame, apply_steer, lkas):
diff --git a/selfdrive/car/mazda/radar_interface.py b/selfdrive/car/mazda/radar_interface.py
index b2f7651136..b461fcd5f8 100755
--- a/selfdrive/car/mazda/radar_interface.py
+++ b/selfdrive/car/mazda/radar_interface.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
class RadarInterface(RadarInterfaceBase):
pass
diff --git a/selfdrive/car/mazda/values.py b/selfdrive/car/mazda/values.py
index fbdf8961af..0230be2297 100644
--- a/selfdrive/car/mazda/values.py
+++ b/selfdrive/car/mazda/values.py
@@ -2,9 +2,9 @@ from dataclasses import dataclass, field
from typing import Dict, List, Union
from cereal import car
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarHarness, CarInfo, CarParts
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarHarness, CarInfo, CarParts
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/mock/interface.py b/selfdrive/car/mock/interface.py
index 7986adb8f1..d36f972a87 100755
--- a/selfdrive/car/mock/interface.py
+++ b/selfdrive/car/mock/interface.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
from cereal import car
-from system.swaglog import cloudlog
+from openpilot.system.swaglog import cloudlog
import cereal.messaging as messaging
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
# mocked car interface to work with chffrplus
diff --git a/selfdrive/car/mock/radar_interface.py b/selfdrive/car/mock/radar_interface.py
index b2f7651136..b461fcd5f8 100755
--- a/selfdrive/car/mock/radar_interface.py
+++ b/selfdrive/car/mock/radar_interface.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
class RadarInterface(RadarInterfaceBase):
pass
diff --git a/selfdrive/car/mock/values.py b/selfdrive/car/mock/values.py
index dfc7902e41..8426041b32 100644
--- a/selfdrive/car/mock/values.py
+++ b/selfdrive/car/mock/values.py
@@ -1,6 +1,6 @@
from typing import Dict, List, Optional, Union
-from selfdrive.car.docs_definitions import CarInfo
+from openpilot.selfdrive.car.docs_definitions import CarInfo
class CAR:
diff --git a/selfdrive/car/nissan/carcontroller.py b/selfdrive/car/nissan/carcontroller.py
index 2c628b102d..2da518bbf1 100644
--- a/selfdrive/car/nissan/carcontroller.py
+++ b/selfdrive/car/nissan/carcontroller.py
@@ -1,8 +1,8 @@
from cereal import car
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_std_steer_angle_limits
-from selfdrive.car.nissan import nissancan
-from selfdrive.car.nissan.values import CAR, CarControllerParams
+from openpilot.selfdrive.car import apply_std_steer_angle_limits
+from openpilot.selfdrive.car.nissan import nissancan
+from openpilot.selfdrive.car.nissan.values import CAR, CarControllerParams
VisualAlert = car.CarControl.HUDControl.VisualAlert
diff --git a/selfdrive/car/nissan/carstate.py b/selfdrive/car/nissan/carstate.py
index f17e2d8dc4..b2ba9ce290 100644
--- a/selfdrive/car/nissan/carstate.py
+++ b/selfdrive/car/nissan/carstate.py
@@ -2,10 +2,10 @@ import copy
from collections import deque
from cereal import car
from opendbc.can.can_define import CANDefine
-from selfdrive.car.interfaces import CarStateBase
-from common.conversions import Conversions as CV
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.common.conversions import Conversions as CV
from opendbc.can.parser import CANParser
-from selfdrive.car.nissan.values import CAR, DBC, CarControllerParams
+from openpilot.selfdrive.car.nissan.values import CAR, DBC, CarControllerParams
TORQUE_SAMPLES = 12
diff --git a/selfdrive/car/nissan/interface.py b/selfdrive/car/nissan/interface.py
index 423a1bf8de..3d6b6cb70c 100644
--- a/selfdrive/car/nissan/interface.py
+++ b/selfdrive/car/nissan/interface.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
from cereal import car
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
-from selfdrive.car.nissan.values import CAR
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.nissan.values import CAR
class CarInterface(CarInterfaceBase):
diff --git a/selfdrive/car/nissan/nissancan.py b/selfdrive/car/nissan/nissancan.py
index 89754775b1..49dcd6fe93 100644
--- a/selfdrive/car/nissan/nissancan.py
+++ b/selfdrive/car/nissan/nissancan.py
@@ -1,5 +1,5 @@
import crcmod
-from selfdrive.car.nissan.values import CAR
+from openpilot.selfdrive.car.nissan.values import CAR
# TODO: add this checksum to the CANPacker
nissan_checksum = crcmod.mkCrcFun(0x11d, initCrc=0x00, rev=False, xorOut=0xff)
diff --git a/selfdrive/car/nissan/radar_interface.py b/selfdrive/car/nissan/radar_interface.py
index b2f7651136..b461fcd5f8 100644
--- a/selfdrive/car/nissan/radar_interface.py
+++ b/selfdrive/car/nissan/radar_interface.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
class RadarInterface(RadarInterfaceBase):
pass
diff --git a/selfdrive/car/nissan/values.py b/selfdrive/car/nissan/values.py
index 17df968094..db69132a76 100644
--- a/selfdrive/car/nissan/values.py
+++ b/selfdrive/car/nissan/values.py
@@ -4,9 +4,9 @@ from typing import Dict, List, Optional, Union
from cereal import car
from panda.python import uds
-from selfdrive.car import AngleRateLimit, dbc_dict
-from selfdrive.car.docs_definitions import CarInfo, CarHarness, CarParts
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
+from openpilot.selfdrive.car import AngleRateLimit, dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarInfo, CarHarness, CarParts
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/subaru/carcontroller.py b/selfdrive/car/subaru/carcontroller.py
index 80634bf261..3aba25fe8d 100644
--- a/selfdrive/car/subaru/carcontroller.py
+++ b/selfdrive/car/subaru/carcontroller.py
@@ -1,8 +1,8 @@
-from common.numpy_fast import clip, interp
+from openpilot.common.numpy_fast import clip, interp
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_driver_steer_torque_limits
-from selfdrive.car.subaru import subarucan
-from selfdrive.car.subaru.values import DBC, GLOBAL_GEN2, PREGLOBAL_CARS, CanBus, CarControllerParams, SubaruFlags
+from openpilot.selfdrive.car import apply_driver_steer_torque_limits
+from openpilot.selfdrive.car.subaru import subarucan
+from openpilot.selfdrive.car.subaru.values import DBC, GLOBAL_GEN2, PREGLOBAL_CARS, CanBus, CarControllerParams, SubaruFlags
class CarController:
diff --git a/selfdrive/car/subaru/carstate.py b/selfdrive/car/subaru/carstate.py
index 84c1285af1..66c4c6386e 100644
--- a/selfdrive/car/subaru/carstate.py
+++ b/selfdrive/car/subaru/carstate.py
@@ -1,11 +1,11 @@
import copy
from cereal import car
from opendbc.can.can_define import CANDefine
-from common.conversions import Conversions as CV
-from selfdrive.car.interfaces import CarStateBase
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.interfaces import CarStateBase
from opendbc.can.parser import CANParser
-from selfdrive.car.subaru.values import DBC, CAR, GLOBAL_GEN2, PREGLOBAL_CARS, CanBus, SubaruFlags
-from selfdrive.car import CanSignalRateCalculator
+from openpilot.selfdrive.car.subaru.values import DBC, CAR, GLOBAL_GEN2, PREGLOBAL_CARS, CanBus, SubaruFlags
+from openpilot.selfdrive.car import CanSignalRateCalculator
class CarState(CarStateBase):
diff --git a/selfdrive/car/subaru/interface.py b/selfdrive/car/subaru/interface.py
index eab39420cc..b206a816ac 100644
--- a/selfdrive/car/subaru/interface.py
+++ b/selfdrive/car/subaru/interface.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
from cereal import car
from panda import Panda
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
-from selfdrive.car.subaru.values import CAR, LKAS_ANGLE, GLOBAL_GEN2, PREGLOBAL_CARS, SubaruFlags
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.subaru.values import CAR, LKAS_ANGLE, GLOBAL_GEN2, PREGLOBAL_CARS, SubaruFlags
class CarInterface(CarInterfaceBase):
diff --git a/selfdrive/car/subaru/radar_interface.py b/selfdrive/car/subaru/radar_interface.py
index b2f7651136..b461fcd5f8 100644
--- a/selfdrive/car/subaru/radar_interface.py
+++ b/selfdrive/car/subaru/radar_interface.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
class RadarInterface(RadarInterfaceBase):
pass
diff --git a/selfdrive/car/subaru/subarucan.py b/selfdrive/car/subaru/subarucan.py
index df2718c764..caa1451842 100644
--- a/selfdrive/car/subaru/subarucan.py
+++ b/selfdrive/car/subaru/subarucan.py
@@ -1,5 +1,5 @@
from cereal import car
-from selfdrive.car.subaru.values import CanBus
+from openpilot.selfdrive.car.subaru.values import CanBus
VisualAlert = car.CarControl.HUDControl.VisualAlert
diff --git a/selfdrive/car/subaru/values.py b/selfdrive/car/subaru/values.py
index dc25f31f73..8cb3a904b2 100644
--- a/selfdrive/car/subaru/values.py
+++ b/selfdrive/car/subaru/values.py
@@ -4,9 +4,9 @@ from typing import Dict, List, Union
from cereal import car
from panda.python import uds
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Tool, Column
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Tool, Column
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries, p16
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/tesla/carcontroller.py b/selfdrive/car/tesla/carcontroller.py
index aeaaba88e7..95a248a614 100644
--- a/selfdrive/car/tesla/carcontroller.py
+++ b/selfdrive/car/tesla/carcontroller.py
@@ -1,8 +1,8 @@
-from common.numpy_fast import clip
+from openpilot.common.numpy_fast import clip
from opendbc.can.packer import CANPacker
-from selfdrive.car import apply_std_steer_angle_limits
-from selfdrive.car.tesla.teslacan import TeslaCAN
-from selfdrive.car.tesla.values import DBC, CANBUS, CarControllerParams
+from openpilot.selfdrive.car import apply_std_steer_angle_limits
+from openpilot.selfdrive.car.tesla.teslacan import TeslaCAN
+from openpilot.selfdrive.car.tesla.values import DBC, CANBUS, CarControllerParams
class CarController:
diff --git a/selfdrive/car/tesla/carstate.py b/selfdrive/car/tesla/carstate.py
index 61a6526f07..2cb4f09d79 100644
--- a/selfdrive/car/tesla/carstate.py
+++ b/selfdrive/car/tesla/carstate.py
@@ -1,9 +1,9 @@
import copy
from collections import deque
from cereal import car
-from common.conversions import Conversions as CV
-from selfdrive.car.tesla.values import DBC, CANBUS, GEAR_MAP, DOORS, BUTTONS
-from selfdrive.car.interfaces import CarStateBase
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.tesla.values import DBC, CANBUS, GEAR_MAP, DOORS, BUTTONS
+from openpilot.selfdrive.car.interfaces import CarStateBase
from opendbc.can.parser import CANParser
from opendbc.can.can_define import CANDefine
diff --git a/selfdrive/car/tesla/interface.py b/selfdrive/car/tesla/interface.py
index 209f00873a..e06139729c 100755
--- a/selfdrive/car/tesla/interface.py
+++ b/selfdrive/car/tesla/interface.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
from cereal import car
from panda import Panda
-from selfdrive.car.tesla.values import CANBUS, CAR
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.tesla.values import CANBUS, CAR
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
class CarInterface(CarInterfaceBase):
diff --git a/selfdrive/car/tesla/radar_interface.py b/selfdrive/car/tesla/radar_interface.py
index c368c794b0..b3e7c7fcb1 100755
--- a/selfdrive/car/tesla/radar_interface.py
+++ b/selfdrive/car/tesla/radar_interface.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
from cereal import car
from opendbc.can.parser import CANParser
-from selfdrive.car.tesla.values import DBC, CANBUS
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.tesla.values import DBC, CANBUS
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
RADAR_MSGS_A = list(range(0x310, 0x36E, 3))
RADAR_MSGS_B = list(range(0x311, 0x36F, 3))
diff --git a/selfdrive/car/tesla/teslacan.py b/selfdrive/car/tesla/teslacan.py
index a491c030f8..6bb27b995f 100644
--- a/selfdrive/car/tesla/teslacan.py
+++ b/selfdrive/car/tesla/teslacan.py
@@ -1,7 +1,7 @@
import crcmod
-from common.conversions import Conversions as CV
-from selfdrive.car.tesla.values import CANBUS, CarControllerParams
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.tesla.values import CANBUS, CarControllerParams
class TeslaCAN:
diff --git a/selfdrive/car/tesla/values.py b/selfdrive/car/tesla/values.py
index 3333455d1b..15283ae4b2 100644
--- a/selfdrive/car/tesla/values.py
+++ b/selfdrive/car/tesla/values.py
@@ -3,9 +3,9 @@ from collections import namedtuple
from typing import Dict, List, Union
from cereal import car
-from selfdrive.car import AngleRateLimit, dbc_dict
-from selfdrive.car.docs_definitions import CarInfo
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
+from openpilot.selfdrive.car import AngleRateLimit, dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarInfo
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/tests/routes.py b/selfdrive/car/tests/routes.py
index 857ba8e4f4..9c56f578b9 100644
--- a/selfdrive/car/tests/routes.py
+++ b/selfdrive/car/tests/routes.py
@@ -1,18 +1,18 @@
#!/usr/bin/env python3
from typing import NamedTuple, Optional
-from selfdrive.car.chrysler.values import CAR as CHRYSLER
-from selfdrive.car.gm.values import CAR as GM
-from selfdrive.car.ford.values import CAR as FORD
-from selfdrive.car.honda.values import CAR as HONDA
-from selfdrive.car.hyundai.values import CAR as HYUNDAI
-from selfdrive.car.nissan.values import CAR as NISSAN
-from selfdrive.car.mazda.values import CAR as MAZDA
-from selfdrive.car.subaru.values import CAR as SUBARU
-from selfdrive.car.toyota.values import CAR as TOYOTA
-from selfdrive.car.volkswagen.values import CAR as VOLKSWAGEN
-from selfdrive.car.tesla.values import CAR as TESLA
-from selfdrive.car.body.values import CAR as COMMA
+from openpilot.selfdrive.car.chrysler.values import CAR as CHRYSLER
+from openpilot.selfdrive.car.gm.values import CAR as GM
+from openpilot.selfdrive.car.ford.values import CAR as FORD
+from openpilot.selfdrive.car.honda.values import CAR as HONDA
+from openpilot.selfdrive.car.hyundai.values import CAR as HYUNDAI
+from openpilot.selfdrive.car.nissan.values import CAR as NISSAN
+from openpilot.selfdrive.car.mazda.values import CAR as MAZDA
+from openpilot.selfdrive.car.subaru.values import CAR as SUBARU
+from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
+from openpilot.selfdrive.car.volkswagen.values import CAR as VOLKSWAGEN
+from openpilot.selfdrive.car.tesla.values import CAR as TESLA
+from openpilot.selfdrive.car.body.values import CAR as COMMA
# TODO: add routes for these cars
non_tested_cars = [
diff --git a/selfdrive/car/tests/test_can_fingerprint.py b/selfdrive/car/tests/test_can_fingerprint.py
index 7189ff542b..406ccd07f0 100755
--- a/selfdrive/car/tests/test_can_fingerprint.py
+++ b/selfdrive/car/tests/test_can_fingerprint.py
@@ -3,8 +3,8 @@ from parameterized import parameterized
import unittest
from cereal import log, messaging
-from selfdrive.car.car_helpers import FRAME_FINGERPRINT, can_fingerprint
-from selfdrive.car.fingerprints import _FINGERPRINTS as FINGERPRINTS
+from openpilot.selfdrive.car.car_helpers import FRAME_FINGERPRINT, can_fingerprint
+from openpilot.selfdrive.car.fingerprints import _FINGERPRINTS as FINGERPRINTS
class TestCanFingerprint(unittest.TestCase):
diff --git a/selfdrive/car/tests/test_car_interfaces.py b/selfdrive/car/tests/test_car_interfaces.py
index 3945fbb987..a447fc21b6 100755
--- a/selfdrive/car/tests/test_car_interfaces.py
+++ b/selfdrive/car/tests/test_car_interfaces.py
@@ -7,12 +7,12 @@ import importlib
from parameterized import parameterized
from cereal import car
-from common.realtime import DT_CTRL
-from selfdrive.car import gen_empty_fingerprint
-from selfdrive.car.car_helpers import interfaces
-from selfdrive.car.fingerprints import all_known_cars
-from selfdrive.car.interfaces import get_interface_attr
-from selfdrive.test.fuzzy_generation import DrawType, FuzzyGenerator
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car import gen_empty_fingerprint
+from openpilot.selfdrive.car.car_helpers import interfaces
+from openpilot.selfdrive.car.fingerprints import all_known_cars
+from openpilot.selfdrive.car.interfaces import get_interface_attr
+from openpilot.selfdrive.test.fuzzy_generation import DrawType, FuzzyGenerator
def get_fuzzy_car_interface_args(draw: DrawType) -> dict:
diff --git a/selfdrive/car/tests/test_docs.py b/selfdrive/car/tests/test_docs.py
index 6e4a58149c..d9d67fe87d 100755
--- a/selfdrive/car/tests/test_docs.py
+++ b/selfdrive/car/tests/test_docs.py
@@ -4,13 +4,13 @@ import os
import re
import unittest
-from common.basedir import BASEDIR
-from selfdrive.car.car_helpers import interfaces, get_interface_attr
-from selfdrive.car.docs import CARS_MD_OUT, CARS_MD_TEMPLATE, generate_cars_md, get_all_car_info
-from selfdrive.car.docs_definitions import Cable, Column, PartType, Star
-from selfdrive.car.honda.values import CAR as HONDA
-from selfdrive.debug.dump_car_info import dump_car_info
-from selfdrive.debug.print_docs_diff import print_car_info_diff
+from openpilot.common.basedir import BASEDIR
+from openpilot.selfdrive.car.car_helpers import interfaces, get_interface_attr
+from openpilot.selfdrive.car.docs import CARS_MD_OUT, CARS_MD_TEMPLATE, generate_cars_md, get_all_car_info
+from openpilot.selfdrive.car.docs_definitions import Cable, Column, PartType, Star
+from openpilot.selfdrive.car.honda.values import CAR as HONDA
+from openpilot.selfdrive.debug.dump_car_info import dump_car_info
+from openpilot.selfdrive.debug.print_docs_diff import print_car_info_diff
class TestCarDocs(unittest.TestCase):
diff --git a/selfdrive/car/tests/test_fingerprints.py b/selfdrive/car/tests/test_fingerprints.py
index a0baec68d6..61e9a4d165 100755
--- a/selfdrive/car/tests/test_fingerprints.py
+++ b/selfdrive/car/tests/test_fingerprints.py
@@ -3,7 +3,7 @@ import os
import sys
from typing import Dict, List
-from common.basedir import BASEDIR
+from openpilot.common.basedir import BASEDIR
# messages reserved for CAN based ignition (see can_ignition_hook function in panda/board/drivers/can)
# (addr, len)
diff --git a/selfdrive/car/tests/test_fw_fingerprint.py b/selfdrive/car/tests/test_fw_fingerprint.py
index 6825bb3717..3280dea7dc 100755
--- a/selfdrive/car/tests/test_fw_fingerprint.py
+++ b/selfdrive/car/tests/test_fw_fingerprint.py
@@ -7,11 +7,12 @@ from parameterized import parameterized
import threading
from cereal import car
-from common.params import Params
-from selfdrive.car.car_helpers import interfaces
-from selfdrive.car.fingerprints import FW_VERSIONS
-from selfdrive.car.fw_versions import FW_QUERY_CONFIGS, FUZZY_EXCLUDE_ECUS, VERSIONS, build_fw_dict, match_fw_to_car, get_fw_versions, get_present_ecus
-from selfdrive.car.vin import get_vin
+from openpilot.common.params import Params
+from openpilot.selfdrive.car.car_helpers import interfaces
+from openpilot.selfdrive.car.fingerprints import FW_VERSIONS
+from openpilot.selfdrive.car.fw_versions import FW_QUERY_CONFIGS, FUZZY_EXCLUDE_ECUS, VERSIONS, build_fw_dict, \
+ match_fw_to_car, get_fw_versions, get_present_ecus
+from openpilot.selfdrive.car.vin import get_vin
CarFw = car.CarParams.CarFw
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/tests/test_lateral_limits.py b/selfdrive/car/tests/test_lateral_limits.py
index 9e9043d236..9de6063f3d 100755
--- a/selfdrive/car/tests/test_lateral_limits.py
+++ b/selfdrive/car/tests/test_lateral_limits.py
@@ -6,11 +6,11 @@ import sys
from typing import DefaultDict, Dict
import unittest
-from common.realtime import DT_CTRL
-from selfdrive.car.car_helpers import interfaces
-from selfdrive.car.fingerprints import all_known_cars
-from selfdrive.car.interfaces import get_torque_params
-from selfdrive.car.subaru.values import CAR as SUBARU
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car.car_helpers import interfaces
+from openpilot.selfdrive.car.fingerprints import all_known_cars
+from openpilot.selfdrive.car.interfaces import get_torque_params
+from openpilot.selfdrive.car.subaru.values import CAR as SUBARU
CAR_MODELS = all_known_cars()
diff --git a/selfdrive/car/tests/test_models.py b/selfdrive/car/tests/test_models.py
index c40d8bb505..0147725291 100755
--- a/selfdrive/car/tests/test_models.py
+++ b/selfdrive/car/tests/test_models.py
@@ -9,17 +9,17 @@ from typing import List, Optional, Tuple
from parameterized import parameterized_class
from cereal import log, car
-from common.basedir import BASEDIR
-from common.realtime import DT_CTRL
-from selfdrive.car.fingerprints import all_known_cars
-from selfdrive.car.car_helpers import FRAME_FINGERPRINT, interfaces
-from selfdrive.car.gm.values import CAR as GM
-from selfdrive.car.honda.values import CAR as HONDA, HONDA_BOSCH
-from selfdrive.car.hyundai.values import CAR as HYUNDAI
-from selfdrive.car.tests.routes import non_tested_cars, routes, CarTestRoute
-from selfdrive.test.openpilotci import get_url
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route, SegmentName, RouteName
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car.fingerprints import all_known_cars
+from openpilot.selfdrive.car.car_helpers import FRAME_FINGERPRINT, interfaces
+from openpilot.selfdrive.car.gm.values import CAR as GM
+from openpilot.selfdrive.car.honda.values import CAR as HONDA, HONDA_BOSCH
+from openpilot.selfdrive.car.hyundai.values import CAR as HYUNDAI
+from openpilot.selfdrive.car.tests.routes import non_tested_cars, routes, CarTestRoute
+from openpilot.selfdrive.test.openpilotci import get_url
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route, SegmentName, RouteName
from panda.tests.libpanda import libpanda_py
diff --git a/selfdrive/car/toyota/carcontroller.py b/selfdrive/car/toyota/carcontroller.py
index d2558b5b29..c625c2e493 100644
--- a/selfdrive/car/toyota/carcontroller.py
+++ b/selfdrive/car/toyota/carcontroller.py
@@ -1,11 +1,11 @@
from cereal import car
-from common.numpy_fast import clip, interp
-from selfdrive.car import apply_meas_steer_torque_limits, apply_std_steer_angle_limits, common_fault_avoidance, \
+from openpilot.common.numpy_fast import clip, interp
+from openpilot.selfdrive.car import apply_meas_steer_torque_limits, apply_std_steer_angle_limits, common_fault_avoidance, \
create_gas_interceptor_command, make_can_msg
-from selfdrive.car.toyota.toyotacan import create_steer_command, create_ui_command, \
+from openpilot.selfdrive.car.toyota.toyotacan import create_steer_command, create_ui_command, \
create_accel_command, create_acc_cancel_command, \
create_fcw_command, create_lta_steer_command
-from selfdrive.car.toyota.values import CAR, STATIC_DSU_MSGS, NO_STOP_TIMER_CAR, TSS2_CAR, \
+from openpilot.selfdrive.car.toyota.values import CAR, STATIC_DSU_MSGS, NO_STOP_TIMER_CAR, TSS2_CAR, \
MIN_ACC_SPEED, PEDAL_TRANSITION, CarControllerParams, \
UNSUPPORTED_DSU_CAR
from opendbc.can.packer import CANPacker
diff --git a/selfdrive/car/toyota/carstate.py b/selfdrive/car/toyota/carstate.py
index 8a75ab4277..7eefe43dd9 100644
--- a/selfdrive/car/toyota/carstate.py
+++ b/selfdrive/car/toyota/carstate.py
@@ -1,14 +1,15 @@
import copy
from cereal import car
-from common.conversions import Conversions as CV
-from common.numpy_fast import mean
-from common.filter_simple import FirstOrderFilter
-from common.realtime import DT_CTRL
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import mean
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.common.realtime import DT_CTRL
from opendbc.can.can_define import CANDefine
from opendbc.can.parser import CANParser
-from selfdrive.car.interfaces import CarStateBase
-from selfdrive.car.toyota.values import ToyotaFlags, CAR, DBC, STEER_THRESHOLD, NO_STOP_TIMER_CAR, TSS2_CAR, RADAR_ACC_CAR, EPS_SCALE, UNSUPPORTED_DSU_CAR
+from openpilot.selfdrive.car.interfaces import CarStateBase
+from openpilot.selfdrive.car.toyota.values import ToyotaFlags, CAR, DBC, STEER_THRESHOLD, NO_STOP_TIMER_CAR, \
+ TSS2_CAR, RADAR_ACC_CAR, EPS_SCALE, UNSUPPORTED_DSU_CAR
SteerControlType = car.CarParams.SteerControlType
diff --git a/selfdrive/car/toyota/interface.py b/selfdrive/car/toyota/interface.py
index 6be01c1c0e..c78479a97e 100644
--- a/selfdrive/car/toyota/interface.py
+++ b/selfdrive/car/toyota/interface.py
@@ -1,11 +1,11 @@
#!/usr/bin/env python3
from cereal import car
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from panda import Panda
-from selfdrive.car.toyota.values import Ecu, CAR, DBC, ToyotaFlags, CarControllerParams, TSS2_CAR, RADAR_ACC_CAR, NO_DSU_CAR, \
+from openpilot.selfdrive.car.toyota.values import Ecu, CAR, DBC, ToyotaFlags, CarControllerParams, TSS2_CAR, RADAR_ACC_CAR, NO_DSU_CAR, \
MIN_ACC_SPEED, EPS_SCALE, EV_HYBRID_CAR, UNSUPPORTED_DSU_CAR, NO_STOP_TIMER_CAR, ANGLE_CONTROL_CAR
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
EventName = car.CarEvent.EventName
SteerControlType = car.CarParams.SteerControlType
diff --git a/selfdrive/car/toyota/radar_interface.py b/selfdrive/car/toyota/radar_interface.py
index 56473b06a4..fae6eecaf6 100755
--- a/selfdrive/car/toyota/radar_interface.py
+++ b/selfdrive/car/toyota/radar_interface.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
from opendbc.can.parser import CANParser
from cereal import car
-from selfdrive.car.toyota.values import DBC, TSS2_CAR
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.toyota.values import DBC, TSS2_CAR
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
def _create_radar_can_parser(car_fingerprint):
diff --git a/selfdrive/car/toyota/tests/test_toyota.py b/selfdrive/car/toyota/tests/test_toyota.py
index 46e3fc2d27..e877db3eb8 100755
--- a/selfdrive/car/toyota/tests/test_toyota.py
+++ b/selfdrive/car/toyota/tests/test_toyota.py
@@ -2,7 +2,7 @@
from cereal import car
import unittest
-from selfdrive.car.toyota.values import CAR, DBC, TSS2_CAR, ANGLE_CONTROL_CAR, FW_VERSIONS
+from openpilot.selfdrive.car.toyota.values import CAR, DBC, TSS2_CAR, ANGLE_CONTROL_CAR, FW_VERSIONS
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/car/toyota/values.py b/selfdrive/car/toyota/values.py
index ad6a2c639c..7d62528748 100644
--- a/selfdrive/car/toyota/values.py
+++ b/selfdrive/car/toyota/values.py
@@ -4,10 +4,10 @@ from enum import Enum, IntFlag
from typing import Dict, List, Union
from cereal import car
-from common.conversions import Conversions as CV
-from selfdrive.car import AngleRateLimit, dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarInfo, Column, CarParts, CarHarness
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car import AngleRateLimit, dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarInfo, Column, CarParts, CarHarness
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, StdQueries
Ecu = car.CarParams.Ecu
MIN_ACC_SPEED = 19. * CV.MPH_TO_MS
diff --git a/selfdrive/car/vin.py b/selfdrive/car/vin.py
index cf1c25e851..28edf157ae 100755
--- a/selfdrive/car/vin.py
+++ b/selfdrive/car/vin.py
@@ -3,9 +3,9 @@ import re
import cereal.messaging as messaging
from panda.python.uds import get_rx_addr_for_tx_addr, FUNCTIONAL_ADDRS
-from selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
-from selfdrive.car.fw_query_definitions import StdQueries
-from system.swaglog import cloudlog
+from openpilot.selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
+from openpilot.selfdrive.car.fw_query_definitions import StdQueries
+from openpilot.system.swaglog import cloudlog
VIN_UNKNOWN = "0" * 17
VIN_RE = "[A-HJ-NPR-Z0-9]{17}"
diff --git a/selfdrive/car/volkswagen/carcontroller.py b/selfdrive/car/volkswagen/carcontroller.py
index ddcf80f006..e7a7f2a998 100644
--- a/selfdrive/car/volkswagen/carcontroller.py
+++ b/selfdrive/car/volkswagen/carcontroller.py
@@ -1,11 +1,11 @@
from cereal import car
from opendbc.can.packer import CANPacker
-from common.numpy_fast import clip
-from common.conversions import Conversions as CV
-from common.realtime import DT_CTRL
-from selfdrive.car import apply_driver_steer_torque_limits
-from selfdrive.car.volkswagen import mqbcan, pqcan
-from selfdrive.car.volkswagen.values import CANBUS, PQ_CARS, CarControllerParams
+from openpilot.common.numpy_fast import clip
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car import apply_driver_steer_torque_limits
+from openpilot.selfdrive.car.volkswagen import mqbcan, pqcan
+from openpilot.selfdrive.car.volkswagen.values import CANBUS, PQ_CARS, CarControllerParams
VisualAlert = car.CarControl.HUDControl.VisualAlert
LongCtrlState = car.CarControl.Actuators.LongControlState
diff --git a/selfdrive/car/volkswagen/carstate.py b/selfdrive/car/volkswagen/carstate.py
index 35f7e8bf67..cbe8918d48 100644
--- a/selfdrive/car/volkswagen/carstate.py
+++ b/selfdrive/car/volkswagen/carstate.py
@@ -1,9 +1,9 @@
import numpy as np
from cereal import car
-from common.conversions import Conversions as CV
-from selfdrive.car.interfaces import CarStateBase
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car.interfaces import CarStateBase
from opendbc.can.parser import CANParser
-from selfdrive.car.volkswagen.values import DBC, CANBUS, PQ_CARS, NetworkLocation, TransmissionType, GearShifter, \
+from openpilot.selfdrive.car.volkswagen.values import DBC, CANBUS, PQ_CARS, NetworkLocation, TransmissionType, GearShifter, \
CarControllerParams
diff --git a/selfdrive/car/volkswagen/interface.py b/selfdrive/car/volkswagen/interface.py
index 66b6239cb3..d5377453c1 100644
--- a/selfdrive/car/volkswagen/interface.py
+++ b/selfdrive/car/volkswagen/interface.py
@@ -1,9 +1,9 @@
from cereal import car
from panda import Panda
-from common.conversions import Conversions as CV
-from selfdrive.car import get_safety_config
-from selfdrive.car.interfaces import CarInterfaceBase
-from selfdrive.car.volkswagen.values import CAR, PQ_CARS, CANBUS, NetworkLocation, TransmissionType, GearShifter
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.car import get_safety_config
+from openpilot.selfdrive.car.interfaces import CarInterfaceBase
+from openpilot.selfdrive.car.volkswagen.values import CAR, PQ_CARS, CANBUS, NetworkLocation, TransmissionType, GearShifter
ButtonType = car.CarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
diff --git a/selfdrive/car/volkswagen/radar_interface.py b/selfdrive/car/volkswagen/radar_interface.py
index b2f7651136..b461fcd5f8 100644
--- a/selfdrive/car/volkswagen/radar_interface.py
+++ b/selfdrive/car/volkswagen/radar_interface.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.interfaces import RadarInterfaceBase
+from openpilot.selfdrive.car.interfaces import RadarInterfaceBase
class RadarInterface(RadarInterfaceBase):
pass
diff --git a/selfdrive/car/volkswagen/values.py b/selfdrive/car/volkswagen/values.py
index bc129f79cc..3ffc09a43d 100755
--- a/selfdrive/car/volkswagen/values.py
+++ b/selfdrive/car/volkswagen/values.py
@@ -6,10 +6,10 @@ from typing import Dict, List, Union
from cereal import car
from panda.python import uds
from opendbc.can.can_define import CANDefine
-from selfdrive.car import dbc_dict
-from selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column, \
+from openpilot.selfdrive.car import dbc_dict
+from openpilot.selfdrive.car.docs_definitions import CarFootnote, CarHarness, CarInfo, CarParts, Column, \
Device
-from selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
+from openpilot.selfdrive.car.fw_query_definitions import FwQueryConfig, Request, p16
Ecu = car.CarParams.Ecu
NetworkLocation = car.CarParams.NetworkLocation
diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py
index 564a0aa6ac..8094030731 100755
--- a/selfdrive/controls/controlsd.py
+++ b/selfdrive/controls/controlsd.py
@@ -5,29 +5,29 @@ import time
from typing import SupportsFloat
from cereal import car, log
-from common.numpy_fast import clip
-from common.profiler import Profiler
-from common.params import Params, put_nonblocking, put_bool_nonblocking
-from common.realtime import DT_CTRL, Priority, Ratekeeper, config_realtime_process
+from openpilot.common.numpy_fast import clip
+from openpilot.common.realtime import config_realtime_process, Priority, Ratekeeper, DT_CTRL
+from openpilot.common.profiler import Profiler
+from openpilot.common.params import Params, put_nonblocking, put_bool_nonblocking
import cereal.messaging as messaging
from cereal.visionipc import VisionIpcClient, VisionStreamType
-from common.conversions import Conversions as CV
+from openpilot.common.conversions import Conversions as CV
from panda import ALTERNATIVE_EXPERIENCE
-from system.swaglog import cloudlog
-from system.version import is_release_branch, get_short_branch
-from selfdrive.boardd.boardd import can_list_to_can_capnp
-from selfdrive.car.car_helpers import get_car, get_startup_event, get_one_can
-from selfdrive.controls.lib.lateral_planner import CAMERA_OFFSET
-from selfdrive.controls.lib.drive_helpers import VCruiseHelper, get_lag_adjusted_curvature
-from selfdrive.controls.lib.latcontrol import LatControl, MIN_LATERAL_CONTROL_SPEED
-from selfdrive.controls.lib.longcontrol import LongControl
-from selfdrive.controls.lib.latcontrol_pid import LatControlPID
-from selfdrive.controls.lib.latcontrol_angle import LatControlAngle, STEER_ANGLE_SATURATION_THRESHOLD
-from selfdrive.controls.lib.latcontrol_torque import LatControlTorque
-from selfdrive.controls.lib.events import Events, ET
-from selfdrive.controls.lib.alertmanager import AlertManager, set_offroad_alert
-from selfdrive.controls.lib.vehicle_model import VehicleModel
-from system.hardware import HARDWARE
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.version import is_release_branch, get_short_branch
+from openpilot.selfdrive.boardd.boardd import can_list_to_can_capnp
+from openpilot.selfdrive.car.car_helpers import get_car, get_startup_event, get_one_can
+from openpilot.selfdrive.controls.lib.lateral_planner import CAMERA_OFFSET
+from openpilot.selfdrive.controls.lib.drive_helpers import VCruiseHelper, get_lag_adjusted_curvature
+from openpilot.selfdrive.controls.lib.latcontrol import LatControl, MIN_LATERAL_CONTROL_SPEED
+from openpilot.selfdrive.controls.lib.longcontrol import LongControl
+from openpilot.selfdrive.controls.lib.latcontrol_pid import LatControlPID
+from openpilot.selfdrive.controls.lib.latcontrol_angle import LatControlAngle, STEER_ANGLE_SATURATION_THRESHOLD
+from openpilot.selfdrive.controls.lib.latcontrol_torque import LatControlTorque
+from openpilot.selfdrive.controls.lib.events import Events, ET
+from openpilot.selfdrive.controls.lib.alertmanager import AlertManager, set_offroad_alert
+from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel
+from openpilot.system.hardware import HARDWARE
SOFT_DISABLE_TIME = 3 # seconds
LDW_MIN_SPEED = 31 * CV.MPH_TO_MS
diff --git a/selfdrive/controls/lib/alertmanager.py b/selfdrive/controls/lib/alertmanager.py
index f32e838333..6abcf4cbba 100644
--- a/selfdrive/controls/lib/alertmanager.py
+++ b/selfdrive/controls/lib/alertmanager.py
@@ -5,9 +5,9 @@ from collections import defaultdict
from dataclasses import dataclass
from typing import List, Dict, Optional
-from common.basedir import BASEDIR
-from common.params import Params
-from selfdrive.controls.lib.events import Alert
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
+from openpilot.selfdrive.controls.lib.events import Alert
with open(os.path.join(BASEDIR, "selfdrive/controls/lib/alerts_offroad.json")) as f:
diff --git a/selfdrive/controls/lib/desire_helper.py b/selfdrive/controls/lib/desire_helper.py
index 4652b41c1c..d538035070 100644
--- a/selfdrive/controls/lib/desire_helper.py
+++ b/selfdrive/controls/lib/desire_helper.py
@@ -1,6 +1,6 @@
from cereal import log
-from common.conversions import Conversions as CV
-from common.realtime import DT_MDL
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.realtime import DT_MDL
LaneChangeState = log.LateralPlan.LaneChangeState
LaneChangeDirection = log.LateralPlan.LaneChangeDirection
diff --git a/selfdrive/controls/lib/drive_helpers.py b/selfdrive/controls/lib/drive_helpers.py
index ab65da2e1d..00916ddf78 100644
--- a/selfdrive/controls/lib/drive_helpers.py
+++ b/selfdrive/controls/lib/drive_helpers.py
@@ -1,10 +1,10 @@
import math
from cereal import car, log
-from common.conversions import Conversions as CV
-from common.numpy_fast import clip, interp
-from common.realtime import DT_MDL
-from selfdrive.modeld.constants import T_IDXS
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.numpy_fast import clip, interp
+from openpilot.common.realtime import DT_MDL
+from openpilot.selfdrive.modeld.constants import T_IDXS
# WARNING: this value was determined based on the model's training distribution,
# model predictions above this speed can be unpredictable
diff --git a/selfdrive/controls/lib/events.py b/selfdrive/controls/lib/events.py
index 0230a5775c..7c30effce5 100755
--- a/selfdrive/controls/lib/events.py
+++ b/selfdrive/controls/lib/events.py
@@ -5,10 +5,10 @@ from typing import Dict, Union, Callable, List, Optional
from cereal import log, car
import cereal.messaging as messaging
-from common.conversions import Conversions as CV
-from common.realtime import DT_CTRL
-from selfdrive.locationd.calibrationd import MIN_SPEED_FILTER
-from system.version import get_short_branch
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.locationd.calibrationd import MIN_SPEED_FILTER
+from openpilot.system.version import get_short_branch
AlertSize = log.ControlsState.AlertSize
AlertStatus = log.ControlsState.AlertStatus
diff --git a/selfdrive/controls/lib/latcontrol.py b/selfdrive/controls/lib/latcontrol.py
index d38959c560..30e1918442 100644
--- a/selfdrive/controls/lib/latcontrol.py
+++ b/selfdrive/controls/lib/latcontrol.py
@@ -1,7 +1,7 @@
from abc import abstractmethod, ABC
-from common.numpy_fast import clip
-from common.realtime import DT_CTRL
+from openpilot.common.numpy_fast import clip
+from openpilot.common.realtime import DT_CTRL
MIN_LATERAL_CONTROL_SPEED = 0.3 # m/s
diff --git a/selfdrive/controls/lib/latcontrol_angle.py b/selfdrive/controls/lib/latcontrol_angle.py
index 9ed140d38e..b13d41e51c 100644
--- a/selfdrive/controls/lib/latcontrol_angle.py
+++ b/selfdrive/controls/lib/latcontrol_angle.py
@@ -1,7 +1,7 @@
import math
from cereal import log
-from selfdrive.controls.lib.latcontrol import LatControl
+from openpilot.selfdrive.controls.lib.latcontrol import LatControl
STEER_ANGLE_SATURATION_THRESHOLD = 2.5 # Degrees
diff --git a/selfdrive/controls/lib/latcontrol_pid.py b/selfdrive/controls/lib/latcontrol_pid.py
index 6696d2e304..c41130af95 100644
--- a/selfdrive/controls/lib/latcontrol_pid.py
+++ b/selfdrive/controls/lib/latcontrol_pid.py
@@ -1,8 +1,8 @@
import math
from cereal import log
-from selfdrive.controls.lib.latcontrol import LatControl
-from selfdrive.controls.lib.pid import PIDController
+from openpilot.selfdrive.controls.lib.latcontrol import LatControl
+from openpilot.selfdrive.controls.lib.pid import PIDController
class LatControlPID(LatControl):
diff --git a/selfdrive/controls/lib/latcontrol_torque.py b/selfdrive/controls/lib/latcontrol_torque.py
index 6550b19227..2c77630632 100644
--- a/selfdrive/controls/lib/latcontrol_torque.py
+++ b/selfdrive/controls/lib/latcontrol_torque.py
@@ -1,10 +1,10 @@
import math
from cereal import log
-from common.numpy_fast import interp
-from selfdrive.controls.lib.latcontrol import LatControl
-from selfdrive.controls.lib.pid import PIDController
-from selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
+from openpilot.common.numpy_fast import interp
+from openpilot.selfdrive.controls.lib.latcontrol import LatControl
+from openpilot.selfdrive.controls.lib.pid import PIDController
+from openpilot.selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
# At higher speeds (25+mph) we can assume:
# Lateral acceleration achieved by a specific car correlates to
diff --git a/selfdrive/controls/lib/lateral_mpc_lib/lat_mpc.py b/selfdrive/controls/lib/lateral_mpc_lib/lat_mpc.py
index 506b03031b..5e6f884df4 100755
--- a/selfdrive/controls/lib/lateral_mpc_lib/lat_mpc.py
+++ b/selfdrive/controls/lib/lateral_mpc_lib/lat_mpc.py
@@ -5,12 +5,12 @@ import numpy as np
from casadi import SX, vertcat, sin, cos
# WARNING: imports outside of constants will not trigger a rebuild
-from selfdrive.modeld.constants import T_IDXS
+from openpilot.selfdrive.modeld.constants import T_IDXS
if __name__ == '__main__': # generating code
- from third_party.acados.acados_template import AcadosModel, AcadosOcp, AcadosOcpSolver
+ from openpilot.third_party.acados.acados_template import AcadosModel, AcadosOcp, AcadosOcpSolver
else:
- from selfdrive.controls.lib.lateral_mpc_lib.c_generated_code.acados_ocp_solver_pyx import AcadosOcpSolverCython
+ from openpilot.selfdrive.controls.lib.lateral_mpc_lib.c_generated_code.acados_ocp_solver_pyx import AcadosOcpSolverCython
LAT_MPC_DIR = os.path.dirname(os.path.abspath(__file__))
EXPORT_DIR = os.path.join(LAT_MPC_DIR, "c_generated_code")
diff --git a/selfdrive/controls/lib/lateral_planner.py b/selfdrive/controls/lib/lateral_planner.py
index 41aa95223e..92786f73d8 100644
--- a/selfdrive/controls/lib/lateral_planner.py
+++ b/selfdrive/controls/lib/lateral_planner.py
@@ -1,12 +1,12 @@
import time
import numpy as np
-from common.numpy_fast import interp
-from common.realtime import DT_MDL
-from system.swaglog import cloudlog
-from selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import LateralMpc
-from selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import N as LAT_MPC_N
-from selfdrive.controls.lib.drive_helpers import CONTROL_N, MIN_SPEED, get_speed_error
-from selfdrive.controls.lib.desire_helper import DesireHelper
+from openpilot.common.realtime import DT_MDL
+from openpilot.common.numpy_fast import interp
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import LateralMpc
+from openpilot.selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import N as LAT_MPC_N
+from openpilot.selfdrive.controls.lib.drive_helpers import CONTROL_N, MIN_SPEED, get_speed_error
+from openpilot.selfdrive.controls.lib.desire_helper import DesireHelper
import cereal.messaging as messaging
from cereal import log
diff --git a/selfdrive/controls/lib/longcontrol.py b/selfdrive/controls/lib/longcontrol.py
index e8095813f2..61c150aadc 100644
--- a/selfdrive/controls/lib/longcontrol.py
+++ b/selfdrive/controls/lib/longcontrol.py
@@ -1,9 +1,9 @@
from cereal import car
-from common.numpy_fast import clip, interp
-from common.realtime import DT_CTRL
-from selfdrive.controls.lib.drive_helpers import CONTROL_N, apply_deadzone
-from selfdrive.controls.lib.pid import PIDController
-from selfdrive.modeld.constants import T_IDXS
+from openpilot.common.numpy_fast import clip, interp
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.controls.lib.drive_helpers import CONTROL_N, apply_deadzone
+from openpilot.selfdrive.controls.lib.pid import PIDController
+from openpilot.selfdrive.modeld.constants import T_IDXS
LongCtrlState = car.CarControl.Actuators.LongControlState
diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
index 19cb2bac04..eaa782efee 100644
--- a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
+++ b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py
@@ -3,17 +3,17 @@ import os
import time
import numpy as np
from cereal import log
-from common.numpy_fast import clip
-from system.swaglog import cloudlog
+from openpilot.common.numpy_fast import clip
+from openpilot.system.swaglog import cloudlog
# WARNING: imports outside of constants will not trigger a rebuild
-from selfdrive.modeld.constants import index_function
-from selfdrive.car.interfaces import ACCEL_MIN
-from selfdrive.controls.radard import _LEAD_ACCEL_TAU
+from openpilot.selfdrive.modeld.constants import index_function
+from openpilot.selfdrive.car.interfaces import ACCEL_MIN
+from openpilot.selfdrive.controls.radard import _LEAD_ACCEL_TAU
if __name__ == '__main__': # generating code
- from third_party.acados.acados_template import AcadosModel, AcadosOcp, AcadosOcpSolver
+ from openpilot.third_party.acados.acados_template import AcadosModel, AcadosOcp, AcadosOcpSolver
else:
- from selfdrive.controls.lib.longitudinal_mpc_lib.c_generated_code.acados_ocp_solver_pyx import AcadosOcpSolverCython
+ from openpilot.selfdrive.controls.lib.longitudinal_mpc_lib.c_generated_code.acados_ocp_solver_pyx import AcadosOcpSolverCython
from casadi import SX, vertcat
diff --git a/selfdrive/controls/lib/longitudinal_planner.py b/selfdrive/controls/lib/longitudinal_planner.py
index 5765272928..c1e782fa5c 100755
--- a/selfdrive/controls/lib/longitudinal_planner.py
+++ b/selfdrive/controls/lib/longitudinal_planner.py
@@ -1,21 +1,21 @@
#!/usr/bin/env python3
import math
import numpy as np
-from common.numpy_fast import clip, interp
-from common.params import Params
+from openpilot.common.numpy_fast import clip, interp
+from openpilot.common.params import Params
from cereal import log
import cereal.messaging as messaging
-from common.conversions import Conversions as CV
-from common.filter_simple import FirstOrderFilter
-from common.realtime import DT_MDL
-from selfdrive.modeld.constants import T_IDXS
-from selfdrive.car.interfaces import ACCEL_MIN, ACCEL_MAX
-from selfdrive.controls.lib.longcontrol import LongCtrlState
-from selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import LongitudinalMpc
-from selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import T_IDXS as T_IDXS_MPC
-from selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, CONTROL_N, get_speed_error
-from system.swaglog import cloudlog
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.common.realtime import DT_MDL
+from openpilot.selfdrive.modeld.constants import T_IDXS
+from openpilot.selfdrive.car.interfaces import ACCEL_MIN, ACCEL_MAX
+from openpilot.selfdrive.controls.lib.longcontrol import LongCtrlState
+from openpilot.selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import LongitudinalMpc
+from openpilot.selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import T_IDXS as T_IDXS_MPC
+from openpilot.selfdrive.controls.lib.drive_helpers import V_CRUISE_MAX, CONTROL_N, get_speed_error
+from openpilot.system.swaglog import cloudlog
LON_MPC_STEP = 0.2 # first step is 0.2s
A_CRUISE_MIN = -1.2
diff --git a/selfdrive/controls/lib/pid.py b/selfdrive/controls/lib/pid.py
index 965158131b..f4ec7e5996 100644
--- a/selfdrive/controls/lib/pid.py
+++ b/selfdrive/controls/lib/pid.py
@@ -1,7 +1,7 @@
import numpy as np
from numbers import Number
-from common.numpy_fast import clip, interp
+from openpilot.common.numpy_fast import clip, interp
class PIDController():
diff --git a/selfdrive/controls/lib/tests/test_alertmanager.py b/selfdrive/controls/lib/tests/test_alertmanager.py
index 6c1b6fc4a2..dbd42858a0 100755
--- a/selfdrive/controls/lib/tests/test_alertmanager.py
+++ b/selfdrive/controls/lib/tests/test_alertmanager.py
@@ -2,8 +2,8 @@
import random
import unittest
-from selfdrive.controls.lib.events import Alert, EVENTS
-from selfdrive.controls.lib.alertmanager import AlertManager
+from openpilot.selfdrive.controls.lib.events import Alert, EVENTS
+from openpilot.selfdrive.controls.lib.alertmanager import AlertManager
class TestAlertManager(unittest.TestCase):
diff --git a/selfdrive/controls/lib/tests/test_latcontrol.py b/selfdrive/controls/lib/tests/test_latcontrol.py
index b504b3d125..4ff7ef7c93 100755
--- a/selfdrive/controls/lib/tests/test_latcontrol.py
+++ b/selfdrive/controls/lib/tests/test_latcontrol.py
@@ -4,14 +4,14 @@ import unittest
from parameterized import parameterized
from cereal import car, log
-from selfdrive.car.car_helpers import interfaces
-from selfdrive.car.honda.values import CAR as HONDA
-from selfdrive.car.toyota.values import CAR as TOYOTA
-from selfdrive.car.nissan.values import CAR as NISSAN
-from selfdrive.controls.lib.latcontrol_pid import LatControlPID
-from selfdrive.controls.lib.latcontrol_torque import LatControlTorque
-from selfdrive.controls.lib.latcontrol_angle import LatControlAngle
-from selfdrive.controls.lib.vehicle_model import VehicleModel
+from openpilot.selfdrive.car.car_helpers import interfaces
+from openpilot.selfdrive.car.honda.values import CAR as HONDA
+from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
+from openpilot.selfdrive.car.nissan.values import CAR as NISSAN
+from openpilot.selfdrive.controls.lib.latcontrol_pid import LatControlPID
+from openpilot.selfdrive.controls.lib.latcontrol_torque import LatControlTorque
+from openpilot.selfdrive.controls.lib.latcontrol_angle import LatControlAngle
+from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel
class TestLatControl(unittest.TestCase):
diff --git a/selfdrive/controls/lib/tests/test_vehicle_model.py b/selfdrive/controls/lib/tests/test_vehicle_model.py
index 03d97a7e3f..fc8ef2fb56 100755
--- a/selfdrive/controls/lib/tests/test_vehicle_model.py
+++ b/selfdrive/controls/lib/tests/test_vehicle_model.py
@@ -5,9 +5,9 @@ import unittest
import numpy as np
from control import StateSpace
-from selfdrive.car.honda.interface import CarInterface
-from selfdrive.car.honda.values import CAR
-from selfdrive.controls.lib.vehicle_model import VehicleModel, dyn_ss_sol, create_dyn_state_matrices
+from openpilot.selfdrive.car.honda.interface import CarInterface
+from openpilot.selfdrive.car.honda.values import CAR
+from openpilot.selfdrive.controls.lib.vehicle_model import VehicleModel, dyn_ss_sol, create_dyn_state_matrices
class TestVehicleModel(unittest.TestCase):
diff --git a/selfdrive/controls/plannerd.py b/selfdrive/controls/plannerd.py
index 7e61efcf45..2b23a0440e 100755
--- a/selfdrive/controls/plannerd.py
+++ b/selfdrive/controls/plannerd.py
@@ -2,12 +2,12 @@
import os
import numpy as np
from cereal import car
-from common.params import Params
-from common.realtime import Priority, config_realtime_process
-from system.swaglog import cloudlog
-from selfdrive.modeld.constants import T_IDXS
-from selfdrive.controls.lib.longitudinal_planner import LongitudinalPlanner
-from selfdrive.controls.lib.lateral_planner import LateralPlanner
+from openpilot.common.params import Params
+from openpilot.common.realtime import Priority, config_realtime_process
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.modeld.constants import T_IDXS
+from openpilot.selfdrive.controls.lib.longitudinal_planner import LongitudinalPlanner
+from openpilot.selfdrive.controls.lib.lateral_planner import LateralPlanner
import cereal.messaging as messaging
def cumtrapz(x, t):
diff --git a/selfdrive/controls/radard.py b/selfdrive/controls/radard.py
index cce866a093..8a21fdd8ab 100755
--- a/selfdrive/controls/radard.py
+++ b/selfdrive/controls/radard.py
@@ -6,12 +6,12 @@ from typing import Optional, Dict, Any
import capnp
from cereal import messaging, log, car
-from common.numpy_fast import interp
-from common.params import Params
-from common.realtime import Ratekeeper, Priority, config_realtime_process
-from system.swaglog import cloudlog
+from openpilot.common.numpy_fast import interp
+from openpilot.common.params import Params
+from openpilot.common.realtime import Ratekeeper, Priority, config_realtime_process
+from openpilot.system.swaglog import cloudlog
-from common.kalman.simple_kalman import KF1D
+from openpilot.common.kalman.simple_kalman import KF1D
# Default lead acceleration decay set to 50% at 1s
diff --git a/selfdrive/controls/tests/test_alerts.py b/selfdrive/controls/tests/test_alerts.py
index c0d70b3b6f..7b4fba0dce 100755
--- a/selfdrive/controls/tests/test_alerts.py
+++ b/selfdrive/controls/tests/test_alerts.py
@@ -8,11 +8,11 @@ from PIL import Image, ImageDraw, ImageFont
from cereal import log, car
from cereal.messaging import SubMaster
-from common.basedir import BASEDIR
-from common.params import Params
-from selfdrive.controls.lib.events import Alert, EVENTS, ET
-from selfdrive.controls.lib.alertmanager import set_offroad_alert
-from selfdrive.test.process_replay.process_replay import CONFIGS
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
+from openpilot.selfdrive.controls.lib.events import Alert, EVENTS, ET
+from openpilot.selfdrive.controls.lib.alertmanager import set_offroad_alert
+from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS
AlertSize = log.ControlsState.AlertSize
diff --git a/selfdrive/controls/tests/test_cruise_speed.py b/selfdrive/controls/tests/test_cruise_speed.py
index 6d11c30ab2..c7221cfcfa 100755
--- a/selfdrive/controls/tests/test_cruise_speed.py
+++ b/selfdrive/controls/tests/test_cruise_speed.py
@@ -4,11 +4,11 @@ import unittest
from parameterized import parameterized_class
from cereal import log
-from common.params import Params
-from selfdrive.controls.lib.drive_helpers import VCruiseHelper, V_CRUISE_MIN, V_CRUISE_MAX, V_CRUISE_INITIAL, IMPERIAL_INCREMENT
+from openpilot.common.params import Params
+from openpilot.selfdrive.controls.lib.drive_helpers import VCruiseHelper, V_CRUISE_MIN, V_CRUISE_MAX, V_CRUISE_INITIAL, IMPERIAL_INCREMENT
from cereal import car
-from common.conversions import Conversions as CV
-from selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver
+from openpilot.common.conversions import Conversions as CV
+from openpilot.selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver
ButtonEvent = car.CarState.ButtonEvent
ButtonType = car.CarState.ButtonEvent.Type
diff --git a/selfdrive/controls/tests/test_following_distance.py b/selfdrive/controls/tests/test_following_distance.py
index 9ee7bdfb3b..be949764c5 100644
--- a/selfdrive/controls/tests/test_following_distance.py
+++ b/selfdrive/controls/tests/test_following_distance.py
@@ -1,10 +1,10 @@
#!/usr/bin/env python3
import unittest
-from common.params import Params
+from openpilot.common.params import Params
from cereal import log
-from selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import desired_follow_distance, get_T_FOLLOW
-from selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver
+from openpilot.selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import desired_follow_distance, get_T_FOLLOW
+from openpilot.selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver
def run_following_distance_simulation(v_lead, t_end=100.0, e2e=False):
diff --git a/selfdrive/controls/tests/test_lateral_mpc.py b/selfdrive/controls/tests/test_lateral_mpc.py
index b569da09b4..8c09f46b60 100644
--- a/selfdrive/controls/tests/test_lateral_mpc.py
+++ b/selfdrive/controls/tests/test_lateral_mpc.py
@@ -1,8 +1,8 @@
import unittest
import numpy as np
-from selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import LateralMpc
-from selfdrive.controls.lib.drive_helpers import CAR_ROTATION_RADIUS
-from selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import N as LAT_MPC_N
+from openpilot.selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import LateralMpc
+from openpilot.selfdrive.controls.lib.drive_helpers import CAR_ROTATION_RADIUS
+from openpilot.selfdrive.controls.lib.lateral_mpc_lib.lat_mpc import N as LAT_MPC_N
def run_mpc(lat_mpc=None, v_ref=30., x_init=0., y_init=0., psi_init=0., curvature_init=0.,
diff --git a/selfdrive/controls/tests/test_startup.py b/selfdrive/controls/tests/test_startup.py
index 18c8e79026..72a5b4b48f 100755
--- a/selfdrive/controls/tests/test_startup.py
+++ b/selfdrive/controls/tests/test_startup.py
@@ -5,13 +5,13 @@ from parameterized import parameterized
from cereal import log, car
import cereal.messaging as messaging
-from common.params import Params
-from selfdrive.boardd.boardd_api_impl import can_list_to_can_capnp # pylint: disable=no-name-in-module,import-error
-from selfdrive.car.fingerprints import _FINGERPRINTS
-from selfdrive.car.toyota.values import CAR as TOYOTA
-from selfdrive.car.mazda.values import CAR as MAZDA
-from selfdrive.controls.lib.events import EVENT_NAME
-from selfdrive.test.helpers import with_processes
+from openpilot.common.params import Params
+from openpilot.selfdrive.boardd.boardd_api_impl import can_list_to_can_capnp # pylint: disable=no-name-in-module,import-error
+from openpilot.selfdrive.car.fingerprints import _FINGERPRINTS
+from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
+from openpilot.selfdrive.car.mazda.values import CAR as MAZDA
+from openpilot.selfdrive.controls.lib.events import EVENT_NAME
+from openpilot.selfdrive.test.helpers import with_processes
EventName = car.CarEvent.EventName
Ecu = car.CarParams.Ecu
diff --git a/selfdrive/controls/tests/test_state_machine.py b/selfdrive/controls/tests/test_state_machine.py
index d5f468f214..bdeed9fb7a 100755
--- a/selfdrive/controls/tests/test_state_machine.py
+++ b/selfdrive/controls/tests/test_state_machine.py
@@ -2,10 +2,10 @@
import unittest
from cereal import car, log
-from common.realtime import DT_CTRL
-from selfdrive.car.car_helpers import interfaces
-from selfdrive.controls.controlsd import Controls, SOFT_DISABLE_TIME
-from selfdrive.controls.lib.events import Events, ET, Alert, Priority, AlertSize, AlertStatus, VisualAlert, \
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car.car_helpers import interfaces
+from openpilot.selfdrive.controls.controlsd import Controls, SOFT_DISABLE_TIME
+from openpilot.selfdrive.controls.lib.events import Events, ET, Alert, Priority, AlertSize, AlertStatus, VisualAlert, \
AudibleAlert, EVENTS
State = log.ControlsState.OpenpilotState
diff --git a/selfdrive/debug/can_print_changes.py b/selfdrive/debug/can_print_changes.py
index ff98c20e60..ea1160d60b 100755
--- a/selfdrive/debug/can_print_changes.py
+++ b/selfdrive/debug/can_print_changes.py
@@ -5,8 +5,8 @@ import time
from collections import defaultdict
import cereal.messaging as messaging
-from selfdrive.debug.can_table import can_table
-from tools.lib.logreader import logreader_from_route_or_segment
+from openpilot.selfdrive.debug.can_table import can_table
+from openpilot.tools.lib.logreader import logreader_from_route_or_segment
RED = '\033[91m'
CLEAR = '\033[0m'
diff --git a/selfdrive/debug/check_can_parser_performance.py b/selfdrive/debug/check_can_parser_performance.py
index 4b430e013f..c4b688ce29 100755
--- a/selfdrive/debug/check_can_parser_performance.py
+++ b/selfdrive/debug/check_can_parser_performance.py
@@ -4,9 +4,9 @@ import time
from tqdm import tqdm
from cereal import car
-from selfdrive.car.tests.routes import CarTestRoute
-from selfdrive.car.tests.test_models import TestCarModelBase
-from tools.plotjuggler.juggle import DEMO_ROUTE
+from openpilot.selfdrive.car.tests.routes import CarTestRoute
+from openpilot.selfdrive.car.tests.test_models import TestCarModelBase
+from openpilot.tools.plotjuggler.juggle import DEMO_ROUTE
N_RUNS = 10
diff --git a/selfdrive/debug/count_events.py b/selfdrive/debug/count_events.py
index a81d797b89..a8af5e6fe9 100755
--- a/selfdrive/debug/count_events.py
+++ b/selfdrive/debug/count_events.py
@@ -8,8 +8,8 @@ from tqdm import tqdm
from typing import List, Tuple, cast
from cereal.services import service_list
-from tools.lib.route import Route
-from tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.logreader import LogReader
if __name__ == "__main__":
r = Route(sys.argv[1])
diff --git a/selfdrive/debug/cpu_usage_stat.py b/selfdrive/debug/cpu_usage_stat.py
index b3294c8728..9050fbb064 100755
--- a/selfdrive/debug/cpu_usage_stat.py
+++ b/selfdrive/debug/cpu_usage_stat.py
@@ -24,7 +24,7 @@ import argparse
import re
from collections import defaultdict
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
# Do statistics every 5 seconds
PRINT_INTERVAL = 5
diff --git a/selfdrive/debug/cycle_alerts.py b/selfdrive/debug/cycle_alerts.py
index 71c7b34be5..5037208643 100755
--- a/selfdrive/debug/cycle_alerts.py
+++ b/selfdrive/debug/cycle_alerts.py
@@ -4,11 +4,11 @@ import random
from cereal import car, log
import cereal.messaging as messaging
-from common.realtime import DT_CTRL
-from selfdrive.car.honda.interface import CarInterface
-from selfdrive.controls.lib.events import ET, Events
-from selfdrive.controls.lib.alertmanager import AlertManager
-from selfdrive.manager.process_config import managed_processes
+from openpilot.common.realtime import DT_CTRL
+from openpilot.selfdrive.car.honda.interface import CarInterface
+from openpilot.selfdrive.controls.lib.events import ET, Events
+from openpilot.selfdrive.controls.lib.alertmanager import AlertManager
+from openpilot.selfdrive.manager.process_config import managed_processes
EventName = car.CarEvent.EventName
diff --git a/selfdrive/debug/dump_car_info.py b/selfdrive/debug/dump_car_info.py
index c9a21c2848..6af328926b 100755
--- a/selfdrive/debug/dump_car_info.py
+++ b/selfdrive/debug/dump_car_info.py
@@ -2,7 +2,7 @@
import argparse
import pickle
-from selfdrive.car.docs import get_all_car_info
+from openpilot.selfdrive.car.docs import get_all_car_info
def dump_car_info(path):
diff --git a/selfdrive/debug/filter_log_message.py b/selfdrive/debug/filter_log_message.py
index 8d9ce8e6a2..20cef0fcc0 100755
--- a/selfdrive/debug/filter_log_message.py
+++ b/selfdrive/debug/filter_log_message.py
@@ -4,8 +4,8 @@ import argparse
import json
import cereal.messaging as messaging
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
LEVELS = {
"DEBUG": 10,
diff --git a/selfdrive/debug/fingerprint_from_route.py b/selfdrive/debug/fingerprint_from_route.py
index b3598b105c..c2bff7c638 100755
--- a/selfdrive/debug/fingerprint_from_route.py
+++ b/selfdrive/debug/fingerprint_from_route.py
@@ -1,8 +1,8 @@
#!/usr/bin/env python3
import sys
-from tools.lib.route import Route
-from tools.lib.logreader import MultiLogIterator
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.logreader import MultiLogIterator
def get_fingerprint(lr):
diff --git a/selfdrive/debug/internal/fuzz_fw_fingerprint.py b/selfdrive/debug/internal/fuzz_fw_fingerprint.py
index 8209bbf4ce..aedb3ada1d 100755
--- a/selfdrive/debug/internal/fuzz_fw_fingerprint.py
+++ b/selfdrive/debug/internal/fuzz_fw_fingerprint.py
@@ -5,11 +5,11 @@ from collections import defaultdict
from tqdm import tqdm
-from selfdrive.car.fw_versions import match_fw_to_car_fuzzy
-from selfdrive.car.toyota.values import FW_VERSIONS as TOYOTA_FW_VERSIONS
-from selfdrive.car.honda.values import FW_VERSIONS as HONDA_FW_VERSIONS
-from selfdrive.car.hyundai.values import FW_VERSIONS as HYUNDAI_FW_VERSIONS
-from selfdrive.car.volkswagen.values import FW_VERSIONS as VW_FW_VERSIONS
+from openpilot.selfdrive.car.fw_versions import match_fw_to_car_fuzzy
+from openpilot.selfdrive.car.toyota.values import FW_VERSIONS as TOYOTA_FW_VERSIONS
+from openpilot.selfdrive.car.honda.values import FW_VERSIONS as HONDA_FW_VERSIONS
+from openpilot.selfdrive.car.hyundai.values import FW_VERSIONS as HYUNDAI_FW_VERSIONS
+from openpilot.selfdrive.car.volkswagen.values import FW_VERSIONS as VW_FW_VERSIONS
FWS = {}
diff --git a/selfdrive/debug/internal/qlog_size.py b/selfdrive/debug/internal/qlog_size.py
index be9ab5b17e..9b7f369525 100755
--- a/selfdrive/debug/internal/qlog_size.py
+++ b/selfdrive/debug/internal/qlog_size.py
@@ -6,8 +6,8 @@ from collections import defaultdict
import matplotlib.pyplot as plt
from cereal.services import service_list
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
MIN_SIZE = 0.5 # Percent size of total to show as separate entry
diff --git a/selfdrive/debug/live_cpu_and_temp.py b/selfdrive/debug/live_cpu_and_temp.py
index c35afc474b..06f1be0b00 100755
--- a/selfdrive/debug/live_cpu_and_temp.py
+++ b/selfdrive/debug/live_cpu_and_temp.py
@@ -4,7 +4,7 @@ import capnp
from collections import defaultdict
from cereal.messaging import SubMaster
-from common.numpy_fast import mean
+from openpilot.common.numpy_fast import mean
from typing import Optional, Dict
def cputime_total(ct):
diff --git a/selfdrive/debug/print_docs_diff.py b/selfdrive/debug/print_docs_diff.py
index 1cb6c3cdda..8fb6277d3b 100755
--- a/selfdrive/debug/print_docs_diff.py
+++ b/selfdrive/debug/print_docs_diff.py
@@ -4,8 +4,8 @@ from collections import defaultdict
import difflib
import pickle
-from selfdrive.car.docs import get_all_car_info
-from selfdrive.car.docs_definitions import Column
+from openpilot.selfdrive.car.docs import get_all_car_info
+from openpilot.selfdrive.car.docs_definitions import Column
FOOTNOTE_TAG = "{}"
STAR_ICON = '
'
diff --git a/selfdrive/debug/run_process_on_route.py b/selfdrive/debug/run_process_on_route.py
index c7a1434975..c7b6250d3f 100755
--- a/selfdrive/debug/run_process_on_route.py
+++ b/selfdrive/debug/run_process_on_route.py
@@ -2,10 +2,10 @@
import argparse
-from selfdrive.test.process_replay.process_replay import CONFIGS, replay_process
-from tools.lib.logreader import MultiLogIterator
-from tools.lib.route import Route
-from tools.lib.helpers import save_log
+from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS, replay_process
+from openpilot.tools.lib.logreader import MultiLogIterator
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.helpers import save_log
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Run process on route and create new logs",
diff --git a/selfdrive/debug/sensor_data_to_hist.py b/selfdrive/debug/sensor_data_to_hist.py
index ceed4b0ec3..73f98b285c 100755
--- a/selfdrive/debug/sensor_data_to_hist.py
+++ b/selfdrive/debug/sensor_data_to_hist.py
@@ -10,8 +10,8 @@ import sys
import numpy as np
from collections import defaultdict
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
import matplotlib.pyplot as plt
diff --git a/selfdrive/debug/set_car_params.py b/selfdrive/debug/set_car_params.py
index 24258db9f2..6060dfbc36 100755
--- a/selfdrive/debug/set_car_params.py
+++ b/selfdrive/debug/set_car_params.py
@@ -2,9 +2,9 @@
import sys
from cereal import car
-from common.params import Params
-from tools.lib.route import Route
-from tools.lib.logreader import LogReader
+from openpilot.common.params import Params
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.logreader import LogReader
if __name__ == "__main__":
CP = None
diff --git a/selfdrive/debug/show_matching_cars.py b/selfdrive/debug/show_matching_cars.py
index a97c41f128..19144ead7e 100755
--- a/selfdrive/debug/show_matching_cars.py
+++ b/selfdrive/debug/show_matching_cars.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-from selfdrive.car.fingerprints import eliminate_incompatible_cars, all_legacy_fingerprint_cars
+from openpilot.selfdrive.car.fingerprints import eliminate_incompatible_cars, all_legacy_fingerprint_cars
import cereal.messaging as messaging
diff --git a/selfdrive/debug/test_car_model.py b/selfdrive/debug/test_car_model.py
index 3f7a1a167b..66fe2ea65f 100755
--- a/selfdrive/debug/test_car_model.py
+++ b/selfdrive/debug/test_car_model.py
@@ -4,9 +4,9 @@ import sys
from typing import List
import unittest
-from selfdrive.car.tests.routes import CarTestRoute
-from selfdrive.car.tests.test_models import TestCarModel
-from tools.lib.route import SegmentName
+from openpilot.selfdrive.car.tests.routes import CarTestRoute
+from openpilot.selfdrive.car.tests.test_models import TestCarModel
+from openpilot.tools.lib.route import SegmentName
def create_test_models_suite(routes: List[CarTestRoute], ci=False) -> unittest.TestSuite:
diff --git a/selfdrive/debug/test_fw_query_on_routes.py b/selfdrive/debug/test_fw_query_on_routes.py
index 51cd426315..83e173244e 100755
--- a/selfdrive/debug/test_fw_query_on_routes.py
+++ b/selfdrive/debug/test_fw_query_on_routes.py
@@ -6,10 +6,10 @@ import argparse
import os
import traceback
from tqdm import tqdm
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route
-from selfdrive.car.car_helpers import interface_names
-from selfdrive.car.fw_versions import VERSIONS, match_fw_to_car
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
+from openpilot.selfdrive.car.car_helpers import interface_names
+from openpilot.selfdrive.car.fw_versions import VERSIONS, match_fw_to_car
NO_API = "NO_API" in os.environ
diff --git a/selfdrive/debug/toyota_eps_factor.py b/selfdrive/debug/toyota_eps_factor.py
index 0a459bb719..e1156c05aa 100755
--- a/selfdrive/debug/toyota_eps_factor.py
+++ b/selfdrive/debug/toyota_eps_factor.py
@@ -3,10 +3,10 @@ import sys
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model # pylint: disable=import-error
-from selfdrive.car.toyota.values import STEER_THRESHOLD
+from openpilot.selfdrive.car.toyota.values import STEER_THRESHOLD
-from tools.lib.route import Route
-from tools.lib.logreader import MultiLogIterator
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.logreader import MultiLogIterator
MIN_SAMPLES = 30 * 100
diff --git a/selfdrive/debug/uiview.py b/selfdrive/debug/uiview.py
index 93d901f7c9..f4440a912c 100755
--- a/selfdrive/debug/uiview.py
+++ b/selfdrive/debug/uiview.py
@@ -2,8 +2,8 @@
import time
from cereal import car, log, messaging
-from common.params import Params
-from selfdrive.manager.process_config import managed_processes
+from openpilot.common.params import Params
+from openpilot.selfdrive.manager.process_config import managed_processes
if __name__ == "__main__":
CP = car.CarParams(notCar=True)
diff --git a/selfdrive/locationd/calibrationd.py b/selfdrive/locationd/calibrationd.py
index 7f8fd03b98..6469ece402 100755
--- a/selfdrive/locationd/calibrationd.py
+++ b/selfdrive/locationd/calibrationd.py
@@ -14,11 +14,11 @@ from typing import List, NoReturn, Optional
from cereal import log
import cereal.messaging as messaging
-from common.conversions import Conversions as CV
-from common.params import Params, put_nonblocking
-from common.realtime import set_realtime_priority
-from common.transformations.orientation import rot_from_euler, euler_from_rot
-from system.swaglog import cloudlog
+from openpilot.common.conversions import Conversions as CV
+from openpilot.common.params import Params, put_nonblocking
+from openpilot.common.realtime import set_realtime_priority
+from openpilot.common.transformations.orientation import rot_from_euler, euler_from_rot
+from openpilot.system.swaglog import cloudlog
MIN_SPEED_FILTER = 15 * CV.MPH_TO_MS
MAX_VEL_ANGLE_STD = np.radians(0.25)
diff --git a/selfdrive/locationd/laikad.py b/selfdrive/locationd/laikad.py
index e4a408d130..2073813363 100755
--- a/selfdrive/locationd/laikad.py
+++ b/selfdrive/locationd/laikad.py
@@ -11,7 +11,7 @@ from typing import List, Optional, Dict, Any
import numpy as np
from cereal import log, messaging
-from common.params import Params, put_nonblocking
+from openpilot.common.params import Params, put_nonblocking
from laika import AstroDog
from laika.constants import SECS_IN_HR, SECS_IN_MIN
from laika.downloader import DownloadFailed
@@ -20,10 +20,10 @@ from laika.gps_time import GPSTime
from laika.helpers import ConstellationId, get_sv_id
from laika.raw_gnss import GNSSMeasurement, correct_measurements, process_measurements, read_raw_ublox, read_raw_qcom
from laika.opt import calc_pos_fix, get_posfix_sympy_fun, calc_vel_fix, get_velfix_sympy_func
-from selfdrive.locationd.models.constants import GENERATED_DIR, ObservationKind
-from selfdrive.locationd.models.gnss_kf import GNSSKalman
-from selfdrive.locationd.models.gnss_kf import States as GStates
-from system.swaglog import cloudlog
+from openpilot.selfdrive.locationd.models.constants import GENERATED_DIR, ObservationKind
+from openpilot.selfdrive.locationd.models.gnss_kf import GNSSKalman
+from openpilot.selfdrive.locationd.models.gnss_kf import States as GStates
+from openpilot.system.swaglog import cloudlog
MAX_TIME_GAP = 10
EPHEMERIS_CACHE = 'LaikadEphemerisV3'
diff --git a/selfdrive/locationd/models/car_kf.py b/selfdrive/locationd/models/car_kf.py
index a5abf8514a..6c02257a1f 100755
--- a/selfdrive/locationd/models/car_kf.py
+++ b/selfdrive/locationd/models/car_kf.py
@@ -5,9 +5,9 @@ from typing import Any, Dict
import numpy as np
-from selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
-from selfdrive.locationd.models.constants import ObservationKind
-from system.swaglog import cloudlog
+from openpilot.selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
+from openpilot.selfdrive.locationd.models.constants import ObservationKind
+from openpilot.system.swaglog import cloudlog
from rednose.helpers.kalmanfilter import KalmanFilter
diff --git a/selfdrive/locationd/models/gnss_kf.py b/selfdrive/locationd/models/gnss_kf.py
index 0d661dc321..f98434c909 100755
--- a/selfdrive/locationd/models/gnss_kf.py
+++ b/selfdrive/locationd/models/gnss_kf.py
@@ -4,8 +4,8 @@ from typing import List
import numpy as np
-from selfdrive.locationd.models.constants import ObservationKind
-from selfdrive.locationd.models.gnss_helpers import parse_pr, parse_prr
+from openpilot.selfdrive.locationd.models.constants import ObservationKind
+from openpilot.selfdrive.locationd.models.gnss_helpers import parse_pr, parse_prr
if __name__ == '__main__': # Generating sympy
import sympy as sp
diff --git a/selfdrive/locationd/models/lane_kf.py b/selfdrive/locationd/models/lane_kf.py
index 4d38fa8e09..e8fa999956 100755
--- a/selfdrive/locationd/models/lane_kf.py
+++ b/selfdrive/locationd/models/lane_kf.py
@@ -3,7 +3,7 @@ import sys
import numpy as np
import sympy as sp
-from selfdrive.locationd.models.constants import ObservationKind
+from openpilot.selfdrive.locationd.models.constants import ObservationKind
from rednose.helpers.ekf_sym import gen_code, EKF_sym
diff --git a/selfdrive/locationd/models/live_kf.py b/selfdrive/locationd/models/live_kf.py
index dc439c23f6..c4933a6129 100755
--- a/selfdrive/locationd/models/live_kf.py
+++ b/selfdrive/locationd/models/live_kf.py
@@ -4,7 +4,7 @@ import sys
import os
import numpy as np
-from selfdrive.locationd.models.constants import ObservationKind
+from openpilot.selfdrive.locationd.models.constants import ObservationKind
import sympy as sp
import inspect
diff --git a/selfdrive/locationd/models/loc_kf.py b/selfdrive/locationd/models/loc_kf.py
index d865509e95..8bd317bd58 100755
--- a/selfdrive/locationd/models/loc_kf.py
+++ b/selfdrive/locationd/models/loc_kf.py
@@ -9,8 +9,8 @@ from rednose.helpers.ekf_sym import EKF_sym, gen_code
from rednose.helpers.lst_sq_computer import LstSqComputer
from rednose.helpers.sympy_helpers import euler_rotate, quat_matrix_r, quat_rotate
-from selfdrive.locationd.models.constants import ObservationKind
-from selfdrive.locationd.models.gnss_helpers import parse_pr, parse_prr
+from openpilot.selfdrive.locationd.models.constants import ObservationKind
+from openpilot.selfdrive.locationd.models.gnss_helpers import parse_pr, parse_prr
EARTH_GM = 3.986005e14 # m^3/s^2 (gravitational constant * mass of earth)
diff --git a/selfdrive/locationd/paramsd.py b/selfdrive/locationd/paramsd.py
index 1644ceaf92..55ad62145e 100755
--- a/selfdrive/locationd/paramsd.py
+++ b/selfdrive/locationd/paramsd.py
@@ -7,12 +7,12 @@ import numpy as np
import cereal.messaging as messaging
from cereal import car
from cereal import log
-from common.params import Params, put_nonblocking
-from common.realtime import config_realtime_process, DT_MDL
-from common.numpy_fast import clip
-from selfdrive.locationd.models.car_kf import CarKalman, ObservationKind, States
-from selfdrive.locationd.models.constants import GENERATED_DIR
-from system.swaglog import cloudlog
+from openpilot.common.params import Params, put_nonblocking
+from openpilot.common.realtime import config_realtime_process, DT_MDL
+from openpilot.common.numpy_fast import clip
+from openpilot.selfdrive.locationd.models.car_kf import CarKalman, ObservationKind, States
+from openpilot.selfdrive.locationd.models.constants import GENERATED_DIR
+from openpilot.system.swaglog import cloudlog
MAX_ANGLE_OFFSET_DELTA = 20 * DT_MDL # Max 20 deg/s
diff --git a/selfdrive/locationd/test/_test_locationd_lib.py b/selfdrive/locationd/test/_test_locationd_lib.py
index 97207908e7..bf4fcbdbe9 100755
--- a/selfdrive/locationd/test/_test_locationd_lib.py
+++ b/selfdrive/locationd/test/_test_locationd_lib.py
@@ -10,7 +10,7 @@ from cffi import FFI
import cereal.messaging as messaging
from cereal import log
-from common.ffi_wrapper import suffix
+from openpilot.common.ffi_wrapper import suffix
SENSOR_DECIMATION = 1
VISION_DECIMATION = 1
diff --git a/selfdrive/locationd/test/test_calibrationd.py b/selfdrive/locationd/test/test_calibrationd.py
index e3e8c3ca7c..a5eedaf99a 100755
--- a/selfdrive/locationd/test/test_calibrationd.py
+++ b/selfdrive/locationd/test/test_calibrationd.py
@@ -6,8 +6,8 @@ import numpy as np
import cereal.messaging as messaging
from cereal import log
-from common.params import Params
-from selfdrive.locationd.calibrationd import Calibrator, INPUTS_NEEDED, INPUTS_WANTED, BLOCK_SIZE, MIN_SPEED_FILTER, \
+from openpilot.common.params import Params
+from openpilot.selfdrive.locationd.calibrationd import Calibrator, INPUTS_NEEDED, INPUTS_WANTED, BLOCK_SIZE, MIN_SPEED_FILTER, \
MAX_YAW_RATE_FILTER, SMOOTH_CYCLES, HEIGHT_INIT
diff --git a/selfdrive/locationd/test/test_laikad.py b/selfdrive/locationd/test/test_laikad.py
index c90095cdca..58c650e26c 100755
--- a/selfdrive/locationd/test/test_laikad.py
+++ b/selfdrive/locationd/test/test_laikad.py
@@ -2,7 +2,7 @@
import time
import unittest
from cereal import log
-from common.params import Params
+from openpilot.common.params import Params
from datetime import datetime
from unittest import mock
@@ -13,11 +13,11 @@ from laika.ephemeris import EphemerisType
from laika.gps_time import GPSTime
from laika.helpers import ConstellationId
from laika.raw_gnss import GNSSMeasurement, read_raw_ublox, read_raw_qcom
-from selfdrive.locationd.laikad import EPHEMERIS_CACHE, Laikad
-from selfdrive.test.openpilotci import get_url
-from tools.lib.logreader import LogReader
+from openpilot.selfdrive.locationd.laikad import EPHEMERIS_CACHE, Laikad
+from openpilot.selfdrive.test.openpilotci import get_url
+from openpilot.tools.lib.logreader import LogReader
-from selfdrive.test.process_replay.process_replay import get_process_config, replay_process
+from openpilot.selfdrive.test.process_replay.process_replay import get_process_config, replay_process
GPS_TIME_PREDICTION_ORBITS_RUSSIAN_SRC = GPSTime.from_datetime(datetime(2022, month=1, day=29, hour=12))
UBLOX_TEST_ROUTE = "4cf7a6ad03080c90|2021-09-29--13-46-36"
diff --git a/selfdrive/locationd/test/test_locationd.py b/selfdrive/locationd/test/test_locationd.py
index 96233f5320..6c6ac33431 100755
--- a/selfdrive/locationd/test/test_locationd.py
+++ b/selfdrive/locationd/test/test_locationd.py
@@ -7,10 +7,10 @@ import capnp
import cereal.messaging as messaging
from cereal.services import service_list
-from common.params import Params
-from common.transformations.coordinates import ecef2geodetic
+from openpilot.common.params import Params
+from openpilot.common.transformations.coordinates import ecef2geodetic
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
class TestLocationdProc(unittest.TestCase):
diff --git a/selfdrive/locationd/torqued.py b/selfdrive/locationd/torqued.py
index 2bac2a8988..ddb95e944c 100755
--- a/selfdrive/locationd/torqued.py
+++ b/selfdrive/locationd/torqued.py
@@ -7,11 +7,11 @@ from collections import deque, defaultdict
import cereal.messaging as messaging
from cereal import car, log
-from common.params import Params
-from common.realtime import config_realtime_process, DT_MDL
-from common.filter_simple import FirstOrderFilter
-from system.swaglog import cloudlog
-from selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
+from openpilot.common.params import Params
+from openpilot.common.realtime import config_realtime_process, DT_MDL
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.controls.lib.vehicle_model import ACCELERATION_DUE_TO_GRAVITY
HISTORY = 5 # secs
POINTS_PER_BUCKET = 1500
diff --git a/selfdrive/manager/build.py b/selfdrive/manager/build.py
index 26003cd1de..c877e6ed97 100755
--- a/selfdrive/manager/build.py
+++ b/selfdrive/manager/build.py
@@ -5,12 +5,12 @@ import textwrap
from pathlib import Path
# NOTE: Do NOT import anything here that needs be built (e.g. params)
-from common.basedir import BASEDIR
-from common.spinner import Spinner
-from common.text_window import TextWindow
-from system.hardware import AGNOS
-from system.swaglog import cloudlog, add_file_handler
-from system.version import is_dirty
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.spinner import Spinner
+from openpilot.common.text_window import TextWindow
+from openpilot.system.hardware import AGNOS
+from openpilot.system.swaglog import cloudlog, add_file_handler
+from openpilot.system.version import is_dirty
MAX_CACHE_SIZE = 4e9 if "CI" in os.environ else 2e9
CACHE_DIR = Path("/data/scons_cache" if AGNOS else "/tmp/scons_cache")
diff --git a/selfdrive/manager/manager.py b/selfdrive/manager/manager.py
index e9a1b2cb5b..a739437de7 100755
--- a/selfdrive/manager/manager.py
+++ b/selfdrive/manager/manager.py
@@ -9,18 +9,18 @@ from typing import List, Tuple, Union
from cereal import log
import cereal.messaging as messaging
-import selfdrive.sentry as sentry
-from common.basedir import BASEDIR
-from common.params import Params, ParamKeyType
-from common.text_window import TextWindow
-from selfdrive.boardd.set_time import set_time
-from system.hardware import HARDWARE, PC
-from selfdrive.manager.helpers import unblock_stdout, write_onroad_params
-from selfdrive.manager.process import ensure_running
-from selfdrive.manager.process_config import managed_processes
-from selfdrive.athena.registration import register, UNREGISTERED_DONGLE_ID
-from system.swaglog import cloudlog, add_file_handler
-from system.version import is_dirty, get_commit, get_version, get_origin, get_short_branch, \
+import openpilot.selfdrive.sentry as sentry
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params, ParamKeyType
+from openpilot.common.text_window import TextWindow
+from openpilot.selfdrive.boardd.set_time import set_time
+from openpilot.system.hardware import HARDWARE, PC
+from openpilot.selfdrive.manager.helpers import unblock_stdout, write_onroad_params
+from openpilot.selfdrive.manager.process import ensure_running
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.athena.registration import register, UNREGISTERED_DONGLE_ID
+from openpilot.system.swaglog import cloudlog, add_file_handler
+from openpilot.system.version import is_dirty, get_commit, get_version, get_origin, get_short_branch, \
get_normalized_origin, terms_version, training_version, \
is_tested_branch, is_release_branch
diff --git a/selfdrive/manager/process.py b/selfdrive/manager/process.py
index e6c2c52bec..8328f1cee9 100644
--- a/selfdrive/manager/process.py
+++ b/selfdrive/manager/process.py
@@ -10,13 +10,12 @@ from multiprocessing import Process
from setproctitle import setproctitle # pylint: disable=no-name-in-module
+from cereal import car, log
import cereal.messaging as messaging
-import selfdrive.sentry as sentry
-from cereal import car
-from common.basedir import BASEDIR
-from common.params import Params
-from system.swaglog import cloudlog
-from cereal import log
+import openpilot.selfdrive.sentry as sentry
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
+from openpilot.system.swaglog import cloudlog
WATCHDOG_FN = "/dev/shm/wd_"
ENABLE_WATCHDOG = os.getenv("NO_WATCHDOG") is None
diff --git a/selfdrive/manager/process_config.py b/selfdrive/manager/process_config.py
index 7cd1ed9489..936dff883b 100644
--- a/selfdrive/manager/process_config.py
+++ b/selfdrive/manager/process_config.py
@@ -1,9 +1,9 @@
import os
from cereal import car
-from common.params import Params
-from system.hardware import PC, TICI
-from selfdrive.manager.process import PythonProcess, NativeProcess, DaemonProcess
+from openpilot.common.params import Params
+from openpilot.system.hardware import PC, TICI
+from openpilot.selfdrive.manager.process import PythonProcess, NativeProcess, DaemonProcess
WEBCAM = os.getenv("USE_WEBCAM") is not None
diff --git a/selfdrive/manager/test/test_manager.py b/selfdrive/manager/test/test_manager.py
index 39bda1e156..8ae872d3df 100755
--- a/selfdrive/manager/test/test_manager.py
+++ b/selfdrive/manager/test/test_manager.py
@@ -5,11 +5,11 @@ import time
import unittest
from cereal import car
-from common.params import Params
-import selfdrive.manager.manager as manager
-from selfdrive.manager.process import ensure_running
-from selfdrive.manager.process_config import managed_processes
-from system.hardware import HARDWARE
+from openpilot.common.params import Params
+import openpilot.selfdrive.manager.manager as manager
+from openpilot.selfdrive.manager.process import ensure_running
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.hardware import HARDWARE
os.environ['FAKEUPLOAD'] = "1"
diff --git a/selfdrive/modeld/modeld.cc b/selfdrive/modeld/modeld.cc
index f19138b179..d1769c4bec 100644
--- a/selfdrive/modeld/modeld.cc
+++ b/selfdrive/modeld/modeld.cc
@@ -23,7 +23,7 @@ ExitHandler do_exit;
mat3 update_calibration(Eigen::Vector3d device_from_calib_euler, bool wide_camera, bool bigmodel_frame) {
/*
import numpy as np
- from common.transformations.model import medmodel_frame_from_calib_frame
+ from openpilot.common.transformations.model import medmodel_frame_from_calib_frame
medmodel_frame_from_calib_frame = medmodel_frame_from_calib_frame[:, :3]
calib_from_smedmodel_frame = np.linalg.inv(medmodel_frame_from_calib_frame)
*/
diff --git a/selfdrive/modeld/tests/test_modeld.py b/selfdrive/modeld/tests/test_modeld.py
index 758948811e..c3d3b3daa1 100755
--- a/selfdrive/modeld/tests/test_modeld.py
+++ b/selfdrive/modeld/tests/test_modeld.py
@@ -6,10 +6,10 @@ import random
import cereal.messaging as messaging
from cereal.visionipc import VisionIpcServer, VisionStreamType
-from common.transformations.camera import tici_f_frame_size
-from common.realtime import DT_MDL
-from selfdrive.manager.process_config import managed_processes
-from selfdrive.test.process_replay.vision_meta import meta_from_camera_state
+from openpilot.common.transformations.camera import tici_f_frame_size
+from openpilot.common.realtime import DT_MDL
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.test.process_replay.vision_meta import meta_from_camera_state
IMG = np.zeros(int(tici_f_frame_size[0]*tici_f_frame_size[1]*(3/2)), dtype=np.uint8)
IMG_BYTES = IMG.flatten().tobytes()
diff --git a/selfdrive/modeld/tests/timing/benchmark.py b/selfdrive/modeld/tests/timing/benchmark.py
index f4fddaab40..1463342a6a 100755
--- a/selfdrive/modeld/tests/timing/benchmark.py
+++ b/selfdrive/modeld/tests/timing/benchmark.py
@@ -7,7 +7,7 @@ import time
import numpy as np
import cereal.messaging as messaging
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
N = int(os.getenv("N", "5"))
diff --git a/selfdrive/monitoring/dmonitoringd.py b/selfdrive/monitoring/dmonitoringd.py
index 836ed9cc4f..c7cff88f3e 100755
--- a/selfdrive/monitoring/dmonitoringd.py
+++ b/selfdrive/monitoring/dmonitoringd.py
@@ -4,10 +4,10 @@ import gc
import cereal.messaging as messaging
from cereal import car
from cereal import log
-from common.params import Params, put_bool_nonblocking
-from common.realtime import set_realtime_priority
-from selfdrive.controls.lib.events import Events
-from selfdrive.monitoring.driver_monitor import DriverStatus
+from openpilot.common.params import Params, put_bool_nonblocking
+from openpilot.common.realtime import set_realtime_priority
+from openpilot.selfdrive.controls.lib.events import Events
+from openpilot.selfdrive.monitoring.driver_monitor import DriverStatus
def dmonitoringd_thread(sm=None, pm=None):
diff --git a/selfdrive/monitoring/driver_monitor.py b/selfdrive/monitoring/driver_monitor.py
index 97407e25eb..ab82da301f 100644
--- a/selfdrive/monitoring/driver_monitor.py
+++ b/selfdrive/monitoring/driver_monitor.py
@@ -1,11 +1,11 @@
from math import atan2
from cereal import car
-from common.numpy_fast import interp
-from common.realtime import DT_DMON
-from common.filter_simple import FirstOrderFilter
-from common.stat_live import RunningStatFilter
-from common.transformations.camera import tici_d_frame_size
+from openpilot.common.numpy_fast import interp
+from openpilot.common.realtime import DT_DMON
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.common.stat_live import RunningStatFilter
+from openpilot.common.transformations.camera import tici_d_frame_size
EventName = car.CarEvent.EventName
diff --git a/selfdrive/monitoring/test_monitoring.py b/selfdrive/monitoring/test_monitoring.py
index 98d3f43f12..b1011fb306 100755
--- a/selfdrive/monitoring/test_monitoring.py
+++ b/selfdrive/monitoring/test_monitoring.py
@@ -3,9 +3,9 @@ import unittest
import numpy as np
from cereal import car, log
-from common.realtime import DT_DMON
-from selfdrive.controls.lib.events import Events
-from selfdrive.monitoring.driver_monitor import DriverStatus, DRIVER_MONITOR_SETTINGS
+from openpilot.common.realtime import DT_DMON
+from openpilot.selfdrive.controls.lib.events import Events
+from openpilot.selfdrive.monitoring.driver_monitor import DriverStatus, DRIVER_MONITOR_SETTINGS
EventName = car.CarEvent.EventName
dm_settings = DRIVER_MONITOR_SETTINGS()
diff --git a/selfdrive/navd/helpers.py b/selfdrive/navd/helpers.py
index 5957816334..55c3f88a9a 100644
--- a/selfdrive/navd/helpers.py
+++ b/selfdrive/navd/helpers.py
@@ -4,9 +4,9 @@ import json
import math
from typing import Any, Dict, List, Optional, Tuple, Union, cast
-from common.conversions import Conversions
-from common.numpy_fast import clip
-from common.params import Params
+from openpilot.common.conversions import Conversions
+from openpilot.common.numpy_fast import clip
+from openpilot.common.params import Params
DIRECTIONS = ('left', 'right', 'straight')
MODIFIABLE_DIRECTIONS = ('left', 'right')
diff --git a/selfdrive/navd/map_renderer.py b/selfdrive/navd/map_renderer.py
index 57d5e0593c..8d525ac73e 100755
--- a/selfdrive/navd/map_renderer.py
+++ b/selfdrive/navd/map_renderer.py
@@ -7,8 +7,8 @@ import numpy as np
import polyline
from cffi import FFI
-from common.ffi_wrapper import suffix
-from common.basedir import BASEDIR
+from openpilot.common.ffi_wrapper import suffix
+from openpilot.common.basedir import BASEDIR
HEIGHT = WIDTH = SIZE = 256
METERS_PER_PIXEL = 2
diff --git a/selfdrive/navd/navd.py b/selfdrive/navd/navd.py
index 3a8897e8e2..6a6a0846b7 100755
--- a/selfdrive/navd/navd.py
+++ b/selfdrive/navd/navd.py
@@ -9,15 +9,15 @@ import numpy as np
import cereal.messaging as messaging
from cereal import log
-from common.api import Api
-from common.params import Params
-from common.realtime import Ratekeeper
-from common.transformations.coordinates import ecef2geodetic
-from selfdrive.navd.helpers import (Coordinate, coordinate_from_param,
+from openpilot.common.api import Api
+from openpilot.common.params import Params
+from openpilot.common.realtime import Ratekeeper
+from openpilot.common.transformations.coordinates import ecef2geodetic
+from openpilot.selfdrive.navd.helpers import (Coordinate, coordinate_from_param,
distance_along_geometry, maxspeed_to_ms,
minimum_distance,
parse_banner_instructions)
-from system.swaglog import cloudlog
+from openpilot.system.swaglog import cloudlog
REROUTE_DISTANCE = 25
MANEUVER_TRANSITION_THRESHOLD = 10
diff --git a/selfdrive/navd/set_destination.py b/selfdrive/navd/set_destination.py
index e6158dbdee..811aa576d1 100755
--- a/selfdrive/navd/set_destination.py
+++ b/selfdrive/navd/set_destination.py
@@ -2,7 +2,7 @@
import json
import sys
-from common.params import Params
+from openpilot.common.params import Params
if __name__ == "__main__":
params = Params()
diff --git a/selfdrive/navd/tests/test_map_renderer.py b/selfdrive/navd/tests/test_map_renderer.py
index e3eda8bdef..1c3d8acd7f 100755
--- a/selfdrive/navd/tests/test_map_renderer.py
+++ b/selfdrive/navd/tests/test_map_renderer.py
@@ -8,7 +8,7 @@ import cereal.messaging as messaging
from typing import Any
from cereal.visionipc import VisionIpcClient, VisionStreamType
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
LLK_DECIMATION = 10
CACHE_PATH = "/data/mbgl-cache-navd.db"
diff --git a/selfdrive/rtshield.py b/selfdrive/rtshield.py
index 45571fe2db..68dc4989cd 100755
--- a/selfdrive/rtshield.py
+++ b/selfdrive/rtshield.py
@@ -3,7 +3,7 @@ import os
import time
from typing import NoReturn
-from common.realtime import set_core_affinity, set_realtime_priority
+from openpilot.common.realtime import set_core_affinity, set_realtime_priority
# RT shield - ensure CPU 3 always remains available for RT processes
# runs as SCHED_FIFO with minimum priority to ensure kthreads don't
diff --git a/selfdrive/sentry.py b/selfdrive/sentry.py
index aa409ea394..02d9d17550 100644
--- a/selfdrive/sentry.py
+++ b/selfdrive/sentry.py
@@ -3,11 +3,11 @@ import sentry_sdk
from enum import Enum
from sentry_sdk.integrations.threading import ThreadingIntegration
-from common.params import Params
-from selfdrive.athena.registration import is_registered_device
-from system.hardware import HARDWARE, PC
-from system.swaglog import cloudlog
-from system.version import get_branch, get_commit, get_origin, get_version, \
+from openpilot.common.params import Params
+from openpilot.selfdrive.athena.registration import is_registered_device
+from openpilot.system.hardware import HARDWARE, PC
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.version import get_branch, get_commit, get_origin, get_version, \
is_comma_remote, is_dirty, is_tested_branch
diff --git a/selfdrive/statsd.py b/selfdrive/statsd.py
index a444a62312..8acf406515 100755
--- a/selfdrive/statsd.py
+++ b/selfdrive/statsd.py
@@ -7,13 +7,13 @@ from collections import defaultdict
from datetime import datetime, timezone
from typing import NoReturn, Union, List, Dict
-from common.params import Params
+from openpilot.common.params import Params
from cereal.messaging import SubMaster
-from system.swaglog import cloudlog
-from system.hardware import HARDWARE
-from common.file_helpers import atomic_write_in_dir
-from system.version import get_normalized_origin, get_short_branch, get_short_version, is_dirty
-from system.loggerd.config import STATS_DIR, STATS_DIR_FILE_LIMIT, STATS_SOCKET, STATS_FLUSH_TIME_S
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.hardware import HARDWARE
+from openpilot.common.file_helpers import atomic_write_in_dir
+from openpilot.system.version import get_normalized_origin, get_short_branch, get_short_version, is_dirty
+from openpilot.system.loggerd.config import STATS_DIR, STATS_DIR_FILE_LIMIT, STATS_SOCKET, STATS_FLUSH_TIME_S
class METRIC_TYPE:
diff --git a/selfdrive/test/ciui.py b/selfdrive/test/ciui.py
index 291f9f6e44..ba55f3af24 100755
--- a/selfdrive/test/ciui.py
+++ b/selfdrive/test/ciui.py
@@ -7,7 +7,7 @@ signal.signal(signal.SIGTERM, signal.SIG_DFL)
from PyQt5.QtCore import QTimer # pylint: disable=no-name-in-module, import-error
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel # pylint: disable=no-name-in-module, import-error
-from selfdrive.ui.qt.python_helpers import set_main_window
+from openpilot.selfdrive.ui.qt.python_helpers import set_main_window
class Window(QWidget):
def __init__(self, parent=None):
diff --git a/selfdrive/test/helpers.py b/selfdrive/test/helpers.py
index f7dab576f3..f5ba67b407 100644
--- a/selfdrive/test/helpers.py
+++ b/selfdrive/test/helpers.py
@@ -3,10 +3,10 @@ import time
from functools import wraps
import cereal.messaging as messaging
-from common.params import Params
-from selfdrive.manager.process_config import managed_processes
-from system.hardware import PC
-from system.version import training_version, terms_version
+from openpilot.common.params import Params
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.hardware import PC
+from openpilot.system.version import training_version, terms_version
def set_params_enabled():
diff --git a/selfdrive/test/longitudinal_maneuvers/maneuver.py b/selfdrive/test/longitudinal_maneuvers/maneuver.py
index 00ddfe627e..000225ab77 100644
--- a/selfdrive/test/longitudinal_maneuvers/maneuver.py
+++ b/selfdrive/test/longitudinal_maneuvers/maneuver.py
@@ -1,5 +1,5 @@
import numpy as np
-from selfdrive.test.longitudinal_maneuvers.plant import Plant
+from openpilot.selfdrive.test.longitudinal_maneuvers.plant import Plant
class Maneuver:
diff --git a/selfdrive/test/longitudinal_maneuvers/plant.py b/selfdrive/test/longitudinal_maneuvers/plant.py
index 541f7d8747..9373eb6d89 100755
--- a/selfdrive/test/longitudinal_maneuvers/plant.py
+++ b/selfdrive/test/longitudinal_maneuvers/plant.py
@@ -4,11 +4,11 @@ import numpy as np
from cereal import log
import cereal.messaging as messaging
-from common.realtime import Ratekeeper, DT_MDL
-from selfdrive.controls.lib.longcontrol import LongCtrlState
-from selfdrive.modeld.constants import T_IDXS
-from selfdrive.controls.lib.longitudinal_planner import LongitudinalPlanner
-from selfdrive.controls.radard import _LEAD_ACCEL_TAU
+from openpilot.common.realtime import Ratekeeper, DT_MDL
+from openpilot.selfdrive.controls.lib.longcontrol import LongCtrlState
+from openpilot.selfdrive.modeld.constants import T_IDXS
+from openpilot.selfdrive.controls.lib.longitudinal_planner import LongitudinalPlanner
+from openpilot.selfdrive.controls.radard import _LEAD_ACCEL_TAU
class Plant:
@@ -46,8 +46,8 @@ class Plant:
time.sleep(1)
self.sm = messaging.SubMaster(['longitudinalPlan'])
- from selfdrive.car.honda.values import CAR
- from selfdrive.car.honda.interface import CarInterface
+ from openpilot.selfdrive.car.honda.values import CAR
+ from openpilot.selfdrive.car.honda.interface import CarInterface
self.planner = LongitudinalPlanner(CarInterface.get_non_essential_params(CAR.CIVIC), init_v=self.speed)
diff --git a/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py b/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py
index bc477ca9fe..a3b307ccba 100755
--- a/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py
+++ b/selfdrive/test/longitudinal_maneuvers/test_longitudinal.py
@@ -4,9 +4,9 @@ import os
from parameterized import parameterized_class
import unittest
-from common.params import Params
-from selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import STOP_DISTANCE
-from selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver
+from openpilot.common.params import Params
+from openpilot.selfdrive.controls.lib.longitudinal_mpc_lib.long_mpc import STOP_DISTANCE
+from openpilot.selfdrive.test.longitudinal_maneuvers.maneuver import Maneuver
# TODO: make new FCW tests
diff --git a/selfdrive/test/process_replay/README.md b/selfdrive/test/process_replay/README.md
index d1743ac539..1174dbab83 100644
--- a/selfdrive/test/process_replay/README.md
+++ b/selfdrive/test/process_replay/README.md
@@ -62,8 +62,8 @@ def replay_process(
Example usage:
```py
-from selfdrive.test.process_replay import replay_process_with_name
-from tools.lib.logreader import LogReader
+from openpilot.selfdrive.test.process_replay import replay_process_with_name
+from openpilot.tools.lib.logreader import LogReader
lr = LogReader(...)
@@ -91,7 +91,7 @@ Supported processes:
Certain processes may require an initial state, which is usually supplied within `Params` and persisting from segment to segment (e.g CalibrationParams, LiveParameters). The `custom_params` is dictionary used to prepopulate `Params` with arbitrary values. The `get_custom_params_from_lr` helper is provided to fetch meaningful values from log files.
```py
-from selfdrive.test.process_replay import get_custom_params_from_lr
+from openpilot.selfdrive.test.process_replay import get_custom_params_from_lr
previous_segment_lr = LogReader(...)
current_segment_lr = LogReader(...)
@@ -104,7 +104,7 @@ output_logs = replay_process_with_name('calibrationd', lr, custom_params=custom_
Replaying processes that use VisionIPC (e.g. modeld, dmonitoringmodeld) require additional `frs` dictionary with camera states as keys and `FrameReader` objects as values.
```py
-from tools.lib.framereader import FrameReader
+from openpilot.tools.lib.framereader import FrameReader
frs = {
'roadCameraState': FrameReader(...),
@@ -125,4 +125,4 @@ output_logs = replay_process_with_name(['radard', 'plannerd'], lr, captured_outp
# entries with captured output in format { 'out': '...', 'err': '...' } will be added to provided dictionary for each replayed process
print(output_store['radard']['out']) # radard stdout
print(output_store['radard']['err']) # radard stderr
-```
\ No newline at end of file
+```
diff --git a/selfdrive/test/process_replay/__init__.py b/selfdrive/test/process_replay/__init__.py
index a872c310d7..b994277186 100644
--- a/selfdrive/test/process_replay/__init__.py
+++ b/selfdrive/test/process_replay/__init__.py
@@ -1,2 +1,2 @@
-from selfdrive.test.process_replay.process_replay import CONFIGS, get_process_config, get_custom_params_from_lr, \
+from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS, get_process_config, get_custom_params_from_lr, \
replay_process, replay_process_with_name # noqa: F401
diff --git a/selfdrive/test/process_replay/compare_logs.py b/selfdrive/test/process_replay/compare_logs.py
index a2a355805b..7de0a25761 100755
--- a/selfdrive/test/process_replay/compare_logs.py
+++ b/selfdrive/test/process_replay/compare_logs.py
@@ -6,7 +6,7 @@ import numbers
import dictdiffer
from collections import Counter
-from tools.lib.logreader import LogReader
+from openpilot.tools.lib.logreader import LogReader
EPSILON = sys.float_info.epsilon
diff --git a/selfdrive/test/process_replay/helpers.py b/selfdrive/test/process_replay/helpers.py
index 5cf1acfa59..0af8ff6c76 100644
--- a/selfdrive/test/process_replay/helpers.py
+++ b/selfdrive/test/process_replay/helpers.py
@@ -4,7 +4,7 @@ import uuid
from typing import List, Optional
-from common.params import Params
+from openpilot.common.params import Params
class OpenpilotPrefix(object):
def __init__(self, prefix: Optional[str] = None, clean_dirs_on_exit: bool = True):
diff --git a/selfdrive/test/process_replay/migration.py b/selfdrive/test/process_replay/migration.py
index eb2aba8799..4560a66b97 100644
--- a/selfdrive/test/process_replay/migration.py
+++ b/selfdrive/test/process_replay/migration.py
@@ -1,7 +1,7 @@
from collections import defaultdict
from cereal import messaging
-from selfdrive.test.process_replay.vision_meta import meta_from_encode_index
+from openpilot.selfdrive.test.process_replay.vision_meta import meta_from_encode_index
def migrate_all(lr, old_logtime=False, camera_states=False):
diff --git a/selfdrive/test/process_replay/model_replay.py b/selfdrive/test/process_replay/model_replay.py
index 56bb3e1b3e..f576e07a40 100755
--- a/selfdrive/test/process_replay/model_replay.py
+++ b/selfdrive/test/process_replay/model_replay.py
@@ -6,18 +6,18 @@ from collections import defaultdict
from typing import Any
import cereal.messaging as messaging
-from common.params import Params
-from common.spinner import Spinner
-from system.hardware import PC
-from selfdrive.manager.process_config import managed_processes
-from selfdrive.test.openpilotci import BASE_URL, get_url
-from selfdrive.test.process_replay.compare_logs import compare_logs
-from selfdrive.test.process_replay.test_processes import format_diff
-from selfdrive.test.process_replay.process_replay import get_process_config, replay_process
-from system.version import get_commit
-from tools.lib.framereader import FrameReader
-from tools.lib.logreader import LogReader
-from tools.lib.helpers import save_log
+from openpilot.common.params import Params
+from openpilot.common.spinner import Spinner
+from openpilot.system.hardware import PC
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.test.openpilotci import BASE_URL, get_url
+from openpilot.selfdrive.test.process_replay.compare_logs import compare_logs
+from openpilot.selfdrive.test.process_replay.test_processes import format_diff
+from openpilot.selfdrive.test.process_replay.process_replay import get_process_config, replay_process
+from openpilot.system.version import get_commit
+from openpilot.tools.lib.framereader import FrameReader
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.helpers import save_log
TEST_ROUTE = "2f4452b03ccb98f0|2022-12-03--13-45-30"
SEGMENT = 6
@@ -161,7 +161,7 @@ if __name__ == "__main__":
import requests
import threading
import http.server
- from selfdrive.test.openpilotci import upload_bytes
+ from openpilot.selfdrive.test.openpilotci import upload_bytes
os.environ['MAPS_HOST'] = 'http://localhost:5000'
class HTTPRequestHandler(http.server.BaseHTTPRequestHandler):
@@ -244,7 +244,7 @@ if __name__ == "__main__":
# upload new refs
if (update or failed) and not PC:
- from selfdrive.test.openpilotci import upload_file
+ from openpilot.selfdrive.test.openpilotci import upload_file
print("Uploading new refs")
diff --git a/selfdrive/test/process_replay/process_replay.py b/selfdrive/test/process_replay/process_replay.py
index eb2c7dad47..9256b6015c 100755
--- a/selfdrive/test/process_replay/process_replay.py
+++ b/selfdrive/test/process_replay/process_replay.py
@@ -16,17 +16,17 @@ import cereal.messaging as messaging
from cereal import car
from cereal.services import service_list
from cereal.visionipc import VisionIpcServer, get_endpoint_name as vipc_get_endpoint_name
-from common.params import Params
-from common.timeout import Timeout
-from common.realtime import DT_CTRL
+from openpilot.common.params import Params
+from openpilot.common.timeout import Timeout
+from openpilot.common.realtime import DT_CTRL
from panda.python import ALTERNATIVE_EXPERIENCE
-from selfdrive.car.car_helpers import get_car, interfaces
-from selfdrive.manager.process_config import managed_processes
-from selfdrive.test.process_replay.helpers import OpenpilotPrefix, DummySocket
-from selfdrive.test.process_replay.vision_meta import meta_from_camera_state, available_streams
-from selfdrive.test.process_replay.migration import migrate_all
-from selfdrive.test.process_replay.capture import ProcessOutputCapture
-from tools.lib.logreader import LogReader
+from openpilot.selfdrive.car.car_helpers import get_car, interfaces
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.test.process_replay.helpers import OpenpilotPrefix, DummySocket
+from openpilot.selfdrive.test.process_replay.vision_meta import meta_from_camera_state, available_streams
+from openpilot.selfdrive.test.process_replay.migration import migrate_all
+from openpilot.selfdrive.test.process_replay.capture import ProcessOutputCapture
+from openpilot.tools.lib.logreader import LogReader
# Numpy gives different results based on CPU features after version 19
NUMPY_TOLERANCE = 1e-7
diff --git a/selfdrive/test/process_replay/regen.py b/selfdrive/test/process_replay/regen.py
index 07d3c04e37..81f27b7d0e 100755
--- a/selfdrive/test/process_replay/regen.py
+++ b/selfdrive/test/process_replay/regen.py
@@ -6,13 +6,13 @@ import capnp
from typing import Union, Iterable, Optional, List, Any, Dict, Tuple
-from selfdrive.test.process_replay.process_replay import CONFIGS, FAKEDATA, replay_process, get_process_config, \
+from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS, FAKEDATA, replay_process, get_process_config, \
check_openpilot_enabled, get_custom_params_from_lr
-from selfdrive.test.update_ci_routes import upload_route
-from tools.lib.route import Route
-from tools.lib.framereader import FrameReader
-from tools.lib.logreader import LogReader
-from tools.lib.helpers import save_log
+from openpilot.selfdrive.test.update_ci_routes import upload_route
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.framereader import FrameReader
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.helpers import save_log
def regen_segment(
diff --git a/selfdrive/test/process_replay/regen_all.py b/selfdrive/test/process_replay/regen_all.py
index f69d07eb69..f42686ac6a 100755
--- a/selfdrive/test/process_replay/regen_all.py
+++ b/selfdrive/test/process_replay/regen_all.py
@@ -6,10 +6,10 @@ import random
import traceback
from tqdm import tqdm
-from selfdrive.test.process_replay.helpers import OpenpilotPrefix
-from selfdrive.test.process_replay.regen import regen_and_save
-from selfdrive.test.process_replay.test_processes import FAKEDATA, source_segments as segments
-from tools.lib.route import SegmentName
+from openpilot.selfdrive.test.process_replay.helpers import OpenpilotPrefix
+from openpilot.selfdrive.test.process_replay.regen import regen_and_save
+from openpilot.selfdrive.test.process_replay.test_processes import FAKEDATA, source_segments as segments
+from openpilot.tools.lib.route import SegmentName
def regen_job(segment, upload, disable_tqdm):
diff --git a/selfdrive/test/process_replay/test_debayer.py b/selfdrive/test/process_replay/test_debayer.py
index 2ed2be61ac..a6e6955dbf 100755
--- a/selfdrive/test/process_replay/test_debayer.py
+++ b/selfdrive/test/process_replay/test_debayer.py
@@ -6,13 +6,13 @@ import numpy as np
import pyopencl as cl # install with `PYOPENCL_CL_PRETEND_VERSION=2.0 pip install pyopencl`
-from system.hardware import PC, TICI
-from common.basedir import BASEDIR
-from selfdrive.test.openpilotci import BASE_URL, get_url
-from system.version import get_commit
-from system.camerad.snapshot.snapshot import yuv_to_rgb
-from tools.lib.logreader import LogReader
-from tools.lib.filereader import FileReader
+from openpilot.system.hardware import PC, TICI
+from openpilot.common.basedir import BASEDIR
+from openpilot.selfdrive.test.openpilotci import BASE_URL, get_url
+from openpilot.system.version import get_commit
+from openpilot.system.camerad.snapshot.snapshot import yuv_to_rgb
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.filereader import FileReader
TEST_ROUTE = "8345e3b82948d454|2022-05-04--13-45-33"
SEGMENT = 0
@@ -172,7 +172,7 @@ if __name__ == "__main__":
# upload new refs
if update or (failed and TICI):
- from selfdrive.test.openpilotci import upload_file
+ from openpilot.selfdrive.test.openpilotci import upload_file
print("Uploading new refs")
diff --git a/selfdrive/test/process_replay/test_fuzzy.py b/selfdrive/test/process_replay/test_fuzzy.py
index c58599caee..f3f48d0159 100755
--- a/selfdrive/test/process_replay/test_fuzzy.py
+++ b/selfdrive/test/process_replay/test_fuzzy.py
@@ -6,9 +6,9 @@ from parameterized import parameterized
import unittest
from cereal import log
-from selfdrive.car.toyota.values import CAR as TOYOTA
-from selfdrive.test.fuzzy_generation import FuzzyGenerator
-import selfdrive.test.process_replay.process_replay as pr
+from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
+from openpilot.selfdrive.test.fuzzy_generation import FuzzyGenerator
+import openpilot.selfdrive.test.process_replay.process_replay as pr
# These processes currently fail because of unrealistic data breaking assumptions
# that openpilot makes causing error with NaN, inf, int size, array indexing ...
diff --git a/selfdrive/test/process_replay/test_processes.py b/selfdrive/test/process_replay/test_processes.py
index fe80bc17a5..9c8b5bfcd8 100755
--- a/selfdrive/test/process_replay/test_processes.py
+++ b/selfdrive/test/process_replay/test_processes.py
@@ -7,14 +7,14 @@ from collections import defaultdict
from tqdm import tqdm
from typing import Any, DefaultDict, Dict
-from selfdrive.car.car_helpers import interface_names
-from selfdrive.test.openpilotci import get_url, upload_file
-from selfdrive.test.process_replay.compare_logs import compare_logs
-from selfdrive.test.process_replay.process_replay import CONFIGS, PROC_REPLAY_DIR, FAKEDATA, check_openpilot_enabled, replay_process
-from system.version import get_commit
-from tools.lib.filereader import FileReader
-from tools.lib.logreader import LogReader
-from tools.lib.helpers import save_log
+from openpilot.selfdrive.car.car_helpers import interface_names
+from openpilot.selfdrive.test.openpilotci import get_url, upload_file
+from openpilot.selfdrive.test.process_replay.compare_logs import compare_logs
+from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS, PROC_REPLAY_DIR, FAKEDATA, check_openpilot_enabled, replay_process
+from openpilot.system.version import get_commit
+from openpilot.tools.lib.filereader import FileReader
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.helpers import save_log
source_segments = [
("BODY", "937ccb7243511b65|2022-05-24--16-03-09--1"), # COMMA.BODY
diff --git a/selfdrive/test/process_replay/vision_meta.py b/selfdrive/test/process_replay/vision_meta.py
index 77c6b0345d..2994b77452 100644
--- a/selfdrive/test/process_replay/vision_meta.py
+++ b/selfdrive/test/process_replay/vision_meta.py
@@ -1,7 +1,7 @@
from collections import namedtuple
from cereal.visionipc import VisionStreamType
-from common.realtime import DT_MDL, DT_DMON
-from common.transformations.camera import tici_f_frame_size, tici_d_frame_size, tici_e_frame_size, eon_f_frame_size, eon_d_frame_size
+from openpilot.common.realtime import DT_MDL, DT_DMON
+from openpilot.common.transformations.camera import tici_f_frame_size, tici_d_frame_size, tici_e_frame_size, eon_f_frame_size, eon_d_frame_size
VideoStreamMeta = namedtuple("VideoStreamMeta", ["camera_state", "encode_index", "stream", "dt", "frame_sizes"])
ROAD_CAMERA_FRAME_SIZES = {"tici": tici_f_frame_size, "tizi": tici_f_frame_size, "eon": eon_f_frame_size}
diff --git a/selfdrive/test/profiling/profiler.py b/selfdrive/test/profiling/profiler.py
index 28e3b34e40..984907b870 100755
--- a/selfdrive/test/profiling/profiler.py
+++ b/selfdrive/test/profiling/profiler.py
@@ -5,13 +5,13 @@ import cProfile # pylint: disable=import-error
import pprofile
import pyprof2calltree
-from common.params import Params
-from tools.lib.logreader import LogReader
-from selfdrive.test.profiling.lib import SubMaster, PubMaster, SubSocket, ReplayDone
-from selfdrive.test.process_replay.process_replay import CONFIGS
-from selfdrive.car.toyota.values import CAR as TOYOTA
-from selfdrive.car.honda.values import CAR as HONDA
-from selfdrive.car.volkswagen.values import CAR as VW
+from openpilot.common.params import Params
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.selfdrive.test.profiling.lib import SubMaster, PubMaster, SubSocket, ReplayDone
+from openpilot.selfdrive.test.process_replay.process_replay import CONFIGS
+from openpilot.selfdrive.car.toyota.values import CAR as TOYOTA
+from openpilot.selfdrive.car.honda.values import CAR as HONDA
+from openpilot.selfdrive.car.volkswagen.values import CAR as VW
BASE_URL = "https://commadataci.blob.core.windows.net/openpilotci/"
@@ -79,11 +79,11 @@ def profile(proc, func, car='toyota'):
if __name__ == '__main__':
- from selfdrive.controls.controlsd import main as controlsd_thread
- from selfdrive.controls.radard import radard_thread
- from selfdrive.locationd.paramsd import main as paramsd_thread
- from selfdrive.controls.plannerd import main as plannerd_thread
- from selfdrive.locationd.laikad import main as laikad_thread
+ from openpilot.selfdrive.controls.controlsd import main as controlsd_thread
+ from openpilot.selfdrive.controls.radard import radard_thread
+ from openpilot.selfdrive.locationd.paramsd import main as paramsd_thread
+ from openpilot.selfdrive.controls.plannerd import main as plannerd_thread
+ from openpilot.selfdrive.locationd.laikad import main as laikad_thread
procs = {
'radard': radard_thread,
diff --git a/selfdrive/test/test_onroad.py b/selfdrive/test/test_onroad.py
index d71f49dc3a..0fa9d9c711 100755
--- a/selfdrive/test/test_onroad.py
+++ b/selfdrive/test/test_onroad.py
@@ -14,14 +14,14 @@ from pathlib import Path
from cereal import car
import cereal.messaging as messaging
from cereal.services import service_list
-from common.basedir import BASEDIR
-from common.timeout import Timeout
-from common.params import Params
-from selfdrive.controls.lib.events import EVENTS, ET
-from system.hardware import HARDWARE
-from system.loggerd.config import ROOT
-from selfdrive.test.helpers import set_params_enabled, release_only
-from tools.lib.logreader import LogReader
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.timeout import Timeout
+from openpilot.common.params import Params
+from openpilot.selfdrive.controls.lib.events import EVENTS, ET
+from openpilot.system.hardware import HARDWARE
+from openpilot.system.loggerd.config import ROOT
+from openpilot.selfdrive.test.helpers import set_params_enabled, release_only
+from openpilot.tools.lib.logreader import LogReader
# Baseline CPU usage by process
PROCS = {
diff --git a/selfdrive/test/test_time_to_onroad.py b/selfdrive/test/test_time_to_onroad.py
index 5991250945..429feca344 100755
--- a/selfdrive/test/test_time_to_onroad.py
+++ b/selfdrive/test/test_time_to_onroad.py
@@ -4,9 +4,9 @@ import time
import subprocess
import cereal.messaging as messaging
-from common.basedir import BASEDIR
-from common.timeout import Timeout
-from selfdrive.test.helpers import set_params_enabled
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.timeout import Timeout
+from openpilot.selfdrive.test.helpers import set_params_enabled
def test_time_to_onroad():
diff --git a/selfdrive/test/test_updated.py b/selfdrive/test/test_updated.py
index aab8b256ac..e679cd2c3b 100755
--- a/selfdrive/test/test_updated.py
+++ b/selfdrive/test/test_updated.py
@@ -9,8 +9,8 @@ import signal
import subprocess
import random
-from common.basedir import BASEDIR
-from common.params import Params
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
class TestUpdated(unittest.TestCase):
diff --git a/selfdrive/test/test_valgrind_replay.py b/selfdrive/test/test_valgrind_replay.py
index a831ad6e2e..dbcf3b18d4 100755
--- a/selfdrive/test/test_valgrind_replay.py
+++ b/selfdrive/test/test_valgrind_replay.py
@@ -14,9 +14,9 @@ else:
import cereal.messaging as messaging
from collections import namedtuple
-from tools.lib.logreader import LogReader
-from selfdrive.test.openpilotci import get_url
-from common.basedir import BASEDIR
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.selfdrive.test.openpilotci import get_url
+from openpilot.common.basedir import BASEDIR
ProcessConfig = namedtuple('ProcessConfig', ['proc_name', 'pub_sub', 'ignore', 'command', 'path', 'segment', 'wait_for_response'])
diff --git a/selfdrive/test/update_ci_routes.py b/selfdrive/test/update_ci_routes.py
index cee2f49e56..a69eb80cef 100755
--- a/selfdrive/test/update_ci_routes.py
+++ b/selfdrive/test/update_ci_routes.py
@@ -5,9 +5,9 @@ import subprocess
from tqdm import tqdm
from azure.storage.blob import BlockBlobService # pylint: disable=import-error
-from selfdrive.car.tests.routes import routes as test_car_models_routes
-from selfdrive.locationd.test.test_laikad import UBLOX_TEST_ROUTE, QCOM_TEST_ROUTE
-from selfdrive.test.process_replay.test_processes import source_segments as replay_segments
+from openpilot.selfdrive.car.tests.routes import routes as test_car_models_routes
+from openpilot.selfdrive.locationd.test.test_laikad import UBLOX_TEST_ROUTE, QCOM_TEST_ROUTE
+from openpilot.selfdrive.test.process_replay.test_processes import source_segments as replay_segments
from xx.chffr.lib import azureutil # pylint: disable=import-error
from xx.chffr.lib.storage import _DATA_ACCOUNT_PRODUCTION, _DATA_ACCOUNT_CI, _DATA_BUCKET_PRODUCTION # pylint: disable=import-error
diff --git a/selfdrive/thermald/fan_controller.py b/selfdrive/thermald/fan_controller.py
index f3e822da51..64cd4c78ee 100644
--- a/selfdrive/thermald/fan_controller.py
+++ b/selfdrive/thermald/fan_controller.py
@@ -1,10 +1,10 @@
#!/usr/bin/env python3
from abc import ABC, abstractmethod
-from common.realtime import DT_TRML
-from common.numpy_fast import interp
-from system.swaglog import cloudlog
-from selfdrive.controls.lib.pid import PIDController
+from openpilot.common.realtime import DT_TRML
+from openpilot.common.numpy_fast import interp
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.controls.lib.pid import PIDController
class BaseFanController(ABC):
@abstractmethod
diff --git a/selfdrive/thermald/power_monitoring.py b/selfdrive/thermald/power_monitoring.py
index e9b07da1f6..0b3c73a1c0 100644
--- a/selfdrive/thermald/power_monitoring.py
+++ b/selfdrive/thermald/power_monitoring.py
@@ -2,10 +2,10 @@ import time
import threading
from typing import Optional
-from common.params import Params, put_nonblocking
-from system.hardware import HARDWARE
-from system.swaglog import cloudlog
-from selfdrive.statsd import statlog
+from openpilot.common.params import Params, put_nonblocking
+from openpilot.system.hardware import HARDWARE
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.statsd import statlog
CAR_VOLTAGE_LOW_PASS_K = 0.011 # LPF gain for 45s tau (dt/tau / (dt/tau + 1))
diff --git a/selfdrive/thermald/tests/test_fan_controller.py b/selfdrive/thermald/tests/test_fan_controller.py
index 22d618485c..7081e1353e 100755
--- a/selfdrive/thermald/tests/test_fan_controller.py
+++ b/selfdrive/thermald/tests/test_fan_controller.py
@@ -3,7 +3,7 @@ import unittest
from unittest.mock import Mock, patch
from parameterized import parameterized
-from selfdrive.thermald.fan_controller import TiciFanController
+from openpilot.selfdrive.thermald.fan_controller import TiciFanController
ALL_CONTROLLERS = [(TiciFanController,)]
diff --git a/selfdrive/thermald/tests/test_power_monitoring.py b/selfdrive/thermald/tests/test_power_monitoring.py
index 57b16accff..5d6531ff49 100755
--- a/selfdrive/thermald/tests/test_power_monitoring.py
+++ b/selfdrive/thermald/tests/test_power_monitoring.py
@@ -2,35 +2,35 @@
import unittest
from unittest.mock import patch
-from common.params import Params
-params = Params()
+from openpilot.common.params import Params
+from openpilot.selfdrive.thermald.power_monitoring import PowerMonitoring, CAR_BATTERY_CAPACITY_uWh, \
+ CAR_CHARGING_RATE_W, VBATT_PAUSE_CHARGING, DELAY_SHUTDOWN_TIME_S
+
# Create fake time
-ssb = 0
-def mock_sec_since_boot():
+ssb = 0.
+def mock_time_monotonic():
global ssb
- ssb += 1
+ ssb += 1.
return ssb
-with patch("common.realtime.sec_since_boot", new=mock_sec_since_boot):
- with patch("common.params.put_nonblocking", new=params.put):
- from selfdrive.thermald.power_monitoring import PowerMonitoring, CAR_BATTERY_CAPACITY_uWh, \
- CAR_CHARGING_RATE_W, VBATT_PAUSE_CHARGING, DELAY_SHUTDOWN_TIME_S
-
TEST_DURATION_S = 50
GOOD_VOLTAGE = 12 * 1e3
VOLTAGE_BELOW_PAUSE_CHARGING = (VBATT_PAUSE_CHARGING - 1) * 1e3
def pm_patch(name, value, constant=False):
if constant:
- return patch(f"selfdrive.thermald.power_monitoring.{name}", value)
- return patch(f"selfdrive.thermald.power_monitoring.{name}", return_value=value)
+ return patch(f"openpilot.selfdrive.thermald.power_monitoring.{name}", value)
+ return patch(f"openpilot.selfdrive.thermald.power_monitoring.{name}", return_value=value)
+
+@patch("time.monotonic", new=mock_time_monotonic)
+@patch("openpilot.selfdrive.thermald.power_monitoring.put_nonblocking", new=lambda x, y: Params().put(x, y))
class TestPowerMonitoring(unittest.TestCase):
def setUp(self):
- # Clear stored capacity before each test
- params.remove("CarBatteryCapacity")
- params.remove("DisablePowerDown")
+ self.params = Params()
+ self.params.remove("CarBatteryCapacity")
+ self.params.remove("DisablePowerDown")
# Test to see that it doesn't do anything when pandaState is None
def test_pandaState_present(self):
@@ -139,7 +139,7 @@ class TestPowerMonitoring(unittest.TestCase):
def test_disable_power_down(self):
POWER_DRAW = 0 # To stop shutting down for other reasons
TEST_TIME = 100
- params.put_bool("DisablePowerDown", True)
+ self.params.put_bool("DisablePowerDown", True)
with pm_patch("HARDWARE.get_current_power_draw", POWER_DRAW):
pm = PowerMonitoring()
pm.car_battery_capacity_uWh = CAR_BATTERY_CAPACITY_uWh
diff --git a/selfdrive/thermald/thermald.py b/selfdrive/thermald/thermald.py
index d2ab8ff733..b80ce71aea 100755
--- a/selfdrive/thermald/thermald.py
+++ b/selfdrive/thermald/thermald.py
@@ -13,19 +13,19 @@ import psutil
import cereal.messaging as messaging
from cereal import log
-from common.dict_helpers import strip_deprecated_keys
-from common.time import MIN_DATE
-from common.filter_simple import FirstOrderFilter
-from common.params import Params
-from common.realtime import DT_TRML
-from selfdrive.controls.lib.alertmanager import set_offroad_alert
-from system.hardware import HARDWARE, TICI, AGNOS
-from system.loggerd.config import get_available_percent
-from selfdrive.statsd import statlog
-from system.swaglog import cloudlog
-from selfdrive.thermald.power_monitoring import PowerMonitoring
-from selfdrive.thermald.fan_controller import TiciFanController
-from system.version import terms_version, training_version
+from openpilot.common.dict_helpers import strip_deprecated_keys
+from openpilot.common.time import MIN_DATE
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.common.params import Params
+from openpilot.common.realtime import DT_TRML
+from openpilot.selfdrive.controls.lib.alertmanager import set_offroad_alert
+from openpilot.system.hardware import HARDWARE, TICI, AGNOS
+from openpilot.system.loggerd.config import get_available_percent
+from openpilot.selfdrive.statsd import statlog
+from openpilot.system.swaglog import cloudlog
+from openpilot.selfdrive.thermald.power_monitoring import PowerMonitoring
+from openpilot.selfdrive.thermald.fan_controller import TiciFanController
+from openpilot.system.version import terms_version, training_version
ThermalStatus = log.DeviceState.ThermalStatus
NetworkType = log.DeviceState.NetworkType
diff --git a/selfdrive/tombstoned.py b/selfdrive/tombstoned.py
index b1086305b7..25f2a61f98 100755
--- a/selfdrive/tombstoned.py
+++ b/selfdrive/tombstoned.py
@@ -9,11 +9,11 @@ import time
import glob
from typing import NoReturn
-from common.file_helpers import mkdirs_exists_ok
-from system.loggerd.config import ROOT
-import selfdrive.sentry as sentry
-from system.swaglog import cloudlog
-from system.version import get_commit
+from openpilot.common.file_helpers import mkdirs_exists_ok
+from openpilot.system.loggerd.config import ROOT
+import openpilot.selfdrive.sentry as sentry
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.version import get_commit
MAX_SIZE = 1_000_000 * 100 # allow up to 100M
MAX_TOMBSTONE_FN_LEN = 62 # 85 - 23 ("/crash/")
diff --git a/selfdrive/ui/qt/python_helpers.py b/selfdrive/ui/qt/python_helpers.py
index 905d41a634..59e51a5517 100644
--- a/selfdrive/ui/qt/python_helpers.py
+++ b/selfdrive/ui/qt/python_helpers.py
@@ -3,8 +3,8 @@ from cffi import FFI
import sip # pylint: disable=import-error
-from common.ffi_wrapper import suffix
-from common.basedir import BASEDIR
+from openpilot.common.ffi_wrapper import suffix
+from openpilot.common.basedir import BASEDIR
def get_ffi():
diff --git a/selfdrive/ui/tests/cycle_offroad_alerts.py b/selfdrive/ui/tests/cycle_offroad_alerts.py
index 8a3d9ec45a..75b19ceb90 100755
--- a/selfdrive/ui/tests/cycle_offroad_alerts.py
+++ b/selfdrive/ui/tests/cycle_offroad_alerts.py
@@ -4,9 +4,9 @@ import sys
import time
import json
-from common.basedir import BASEDIR
-from common.params import Params
-from selfdrive.controls.lib.alertmanager import set_offroad_alert
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
+from openpilot.selfdrive.controls.lib.alertmanager import set_offroad_alert
if __name__ == "__main__":
params = Params()
diff --git a/selfdrive/ui/tests/test_soundd.py b/selfdrive/ui/tests/test_soundd.py
index 8cc9215b74..80a261e6d9 100755
--- a/selfdrive/ui/tests/test_soundd.py
+++ b/selfdrive/ui/tests/test_soundd.py
@@ -5,10 +5,10 @@ import unittest
from cereal import log, car
import cereal.messaging as messaging
-from selfdrive.test.helpers import phone_only, with_processes
+from openpilot.selfdrive.test.helpers import phone_only, with_processes
# TODO: rewrite for unittest
-from common.realtime import DT_CTRL
-from system.hardware import HARDWARE
+from openpilot.common.realtime import DT_CTRL
+from openpilot.system.hardware import HARDWARE
AudibleAlert = car.CarControl.HUDControl.AudibleAlert
diff --git a/selfdrive/ui/tests/test_translations.py b/selfdrive/ui/tests/test_translations.py
index 8321e2e4c0..1ff203b97d 100755
--- a/selfdrive/ui/tests/test_translations.py
+++ b/selfdrive/ui/tests/test_translations.py
@@ -6,7 +6,7 @@ import shutil
import unittest
import xml.etree.ElementTree as ET
-from selfdrive.ui.update_translations import TRANSLATIONS_DIR, LANGUAGES_FILE, update_translations
+from openpilot.selfdrive.ui.update_translations import TRANSLATIONS_DIR, LANGUAGES_FILE, update_translations
TMP_TRANSLATIONS_DIR = os.path.join(TRANSLATIONS_DIR, "tmp")
UNFINISHED_TRANSLATION_TAG = " None:
def handle_agnos_update() -> None:
- from system.hardware.tici.agnos import flash_agnos_update, get_target_slot_number
+ from openpilot.system.hardware.tici.agnos import flash_agnos_update, get_target_slot_number
cur_version = HARDWARE.get_os_version()
updated_version = run(["bash", "-c", r"unset AGNOS_VERSION && source launch_env.sh && \
diff --git a/system/camerad/snapshot/snapshot.py b/system/camerad/snapshot/snapshot.py
index 447062fb2e..ede97d1a79 100755
--- a/system/camerad/snapshot/snapshot.py
+++ b/system/camerad/snapshot/snapshot.py
@@ -7,11 +7,11 @@ from PIL import Image
import cereal.messaging as messaging
from cereal.visionipc import VisionIpcClient, VisionStreamType
-from common.params import Params
-from common.realtime import DT_MDL
-from system.hardware import PC
-from selfdrive.controls.lib.alertmanager import set_offroad_alert
-from selfdrive.manager.process_config import managed_processes
+from openpilot.common.params import Params
+from openpilot.common.realtime import DT_MDL
+from openpilot.system.hardware import PC
+from openpilot.selfdrive.controls.lib.alertmanager import set_offroad_alert
+from openpilot.selfdrive.manager.process_config import managed_processes
LM_THRESH = 120 # defined in system/camerad/imgproc/utils.h
diff --git a/system/camerad/test/get_thumbnails_for_segment.py b/system/camerad/test/get_thumbnails_for_segment.py
index 898377b111..97667ede86 100755
--- a/system/camerad/test/get_thumbnails_for_segment.py
+++ b/system/camerad/test/get_thumbnails_for_segment.py
@@ -4,9 +4,9 @@ import os
from tqdm import tqdm
-from common.file_helpers import mkdirs_exists_ok
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route
+from openpilot.common.file_helpers import mkdirs_exists_ok
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
import argparse
diff --git a/system/camerad/test/test_camerad.py b/system/camerad/test/test_camerad.py
index f03c531b20..6669df301c 100755
--- a/system/camerad/test/test_camerad.py
+++ b/system/camerad/test/test_camerad.py
@@ -7,8 +7,8 @@ from collections import defaultdict
import cereal.messaging as messaging
from cereal import log
from cereal.services import service_list
-from selfdrive.manager.process_config import managed_processes
-from system.hardware import TICI
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.hardware import TICI
TEST_TIMESPAN = 30
LAG_FRAME_TOLERANCE = {log.FrameData.ImageSensor.ar0231: 0.5, # ARs use synced pulses for frame starts
diff --git a/system/camerad/test/test_exposure.py b/system/camerad/test/test_exposure.py
index 8f65744da3..50467f9db4 100755
--- a/system/camerad/test/test_exposure.py
+++ b/system/camerad/test/test_exposure.py
@@ -3,8 +3,8 @@ import time
import unittest
import numpy as np
-from selfdrive.test.helpers import with_processes, phone_only
-from system.camerad.snapshot.snapshot import get_snapshots
+from openpilot.selfdrive.test.helpers import with_processes, phone_only
+from openpilot.system.camerad.snapshot.snapshot import get_snapshots
TEST_TIME = 45
REPEAT = 5
diff --git a/system/hardware/__init__.py b/system/hardware/__init__.py
index 77bb0e5e2a..99079b5ef3 100644
--- a/system/hardware/__init__.py
+++ b/system/hardware/__init__.py
@@ -1,9 +1,9 @@
import os
from typing import cast
-from system.hardware.base import HardwareBase
-from system.hardware.tici.hardware import Tici
-from system.hardware.pc.hardware import Pc
+from openpilot.system.hardware.base import HardwareBase
+from openpilot.system.hardware.tici.hardware import Tici
+from openpilot.system.hardware.pc.hardware import Pc
TICI = os.path.isfile('/TICI')
AGNOS = os.path.isfile('/AGNOS')
diff --git a/system/hardware/pc/hardware.py b/system/hardware/pc/hardware.py
index 564f9e483a..27c05f5904 100644
--- a/system/hardware/pc/hardware.py
+++ b/system/hardware/pc/hardware.py
@@ -1,7 +1,7 @@
import random
from cereal import log
-from system.hardware.base import HardwareBase, ThermalConfig
+from openpilot.system.hardware.base import HardwareBase, ThermalConfig
NetworkType = log.DeviceState.NetworkType
NetworkStrength = log.DeviceState.NetworkStrength
diff --git a/system/hardware/tici/agnos.py b/system/hardware/tici/agnos.py
index 5f446a8e90..ef7d9adb79 100755
--- a/system/hardware/tici/agnos.py
+++ b/system/hardware/tici/agnos.py
@@ -10,7 +10,7 @@ from typing import Dict, Generator, List, Tuple, Union
import requests
-import system.hardware.tici.casync as casync
+import openpilot.system.hardware.tici.casync as casync
SPARSE_CHUNK_FMT = struct.Struct('H2xI4x')
CAIBX_URL = "https://commadist.azureedge.net/agnosupdate/"
diff --git a/system/hardware/tici/hardware.py b/system/hardware/tici/hardware.py
index 6932ea08b6..3cd3427842 100644
--- a/system/hardware/tici/hardware.py
+++ b/system/hardware/tici/hardware.py
@@ -8,11 +8,11 @@ from functools import cached_property, lru_cache
from pathlib import Path
from cereal import log
-from common.gpio import gpio_set, gpio_init, get_irqs_for_action
-from system.hardware.base import HardwareBase, ThermalConfig
-from system.hardware.tici import iwlist
-from system.hardware.tici.pins import GPIO
-from system.hardware.tici.amplifier import Amplifier
+from openpilot.common.gpio import gpio_set, gpio_init, get_irqs_for_action
+from openpilot.system.hardware.base import HardwareBase, ThermalConfig
+from openpilot.system.hardware.tici import iwlist
+from openpilot.system.hardware.tici.pins import GPIO
+from openpilot.system.hardware.tici.amplifier import Amplifier
NM = 'org.freedesktop.NetworkManager'
NM_CON_ACT = NM + '.Connection.Active'
diff --git a/system/hardware/tici/power_draw_test.py b/system/hardware/tici/power_draw_test.py
index 3c303ff61f..28113ad073 100755
--- a/system/hardware/tici/power_draw_test.py
+++ b/system/hardware/tici/power_draw_test.py
@@ -2,9 +2,9 @@
import os
import time
import numpy as np
-from system.hardware.tici.hardware import Tici
-from system.hardware.tici.pins import GPIO
-from common.gpio import gpio_init, gpio_set, gpio_export
+from openpilot.system.hardware.tici.hardware import Tici
+from openpilot.system.hardware.tici.pins import GPIO
+from openpilot.common.gpio import gpio_init, gpio_set, gpio_export
def read_power():
with open("/sys/bus/i2c/devices/0-0040/hwmon/hwmon1/in1_input") as f:
diff --git a/system/hardware/tici/power_monitor.py b/system/hardware/tici/power_monitor.py
index f9d1e3cc41..0a54319398 100755
--- a/system/hardware/tici/power_monitor.py
+++ b/system/hardware/tici/power_monitor.py
@@ -5,8 +5,8 @@ import datetime
import numpy as np
from typing import List
-from common.realtime import Ratekeeper
-from common.filter_simple import FirstOrderFilter
+from openpilot.common.realtime import Ratekeeper
+from openpilot.common.filter_simple import FirstOrderFilter
def read_power():
diff --git a/system/hardware/tici/precise_power_measure.py b/system/hardware/tici/precise_power_measure.py
index 5d68851367..e186ba4aea 100755
--- a/system/hardware/tici/precise_power_measure.py
+++ b/system/hardware/tici/precise_power_measure.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
import numpy as np
-from system.hardware.tici.power_monitor import sample_power
+from openpilot.system.hardware.tici.power_monitor import sample_power
if __name__ == '__main__':
print("measuring for 5 seconds")
diff --git a/system/hardware/tici/tests/compare_casync_manifest.py b/system/hardware/tici/tests/compare_casync_manifest.py
index 6d7232bd64..835985b0b5 100755
--- a/system/hardware/tici/tests/compare_casync_manifest.py
+++ b/system/hardware/tici/tests/compare_casync_manifest.py
@@ -8,7 +8,7 @@ from typing import Dict, List
import requests
from tqdm import tqdm
-import system.hardware.tici.casync as casync
+import openpilot.system.hardware.tici.casync as casync
def get_chunk_download_size(chunk):
diff --git a/system/hardware/tici/tests/test_amplifier.py b/system/hardware/tici/tests/test_amplifier.py
index 6019495449..cd3b0f90fe 100755
--- a/system/hardware/tici/tests/test_amplifier.py
+++ b/system/hardware/tici/tests/test_amplifier.py
@@ -5,9 +5,9 @@ import unittest
import subprocess
from panda import Panda
-from system.hardware import TICI, HARDWARE
-from system.hardware.tici.hardware import Tici
-from system.hardware.tici.amplifier import Amplifier
+from openpilot.system.hardware import TICI, HARDWARE
+from openpilot.system.hardware.tici.hardware import Tici
+from openpilot.system.hardware.tici.amplifier import Amplifier
class TestAmplifier(unittest.TestCase):
diff --git a/system/hardware/tici/tests/test_casync.py b/system/hardware/tici/tests/test_casync.py
index 8724575ad6..94b32a9f76 100755
--- a/system/hardware/tici/tests/test_casync.py
+++ b/system/hardware/tici/tests/test_casync.py
@@ -4,7 +4,7 @@ import unittest
import tempfile
import subprocess
-import system.hardware.tici.casync as casync
+import openpilot.system.hardware.tici.casync as casync
# dd if=/dev/zero of=/tmp/img.raw bs=1M count=2
# sudo losetup -f /tmp/img.raw
diff --git a/system/hardware/tici/tests/test_hardware.py b/system/hardware/tici/tests/test_hardware.py
index bb22cb1594..7d377ac3fb 100755
--- a/system/hardware/tici/tests/test_hardware.py
+++ b/system/hardware/tici/tests/test_hardware.py
@@ -3,8 +3,8 @@ import time
import unittest
import numpy as np
-from system.hardware import TICI
-from system.hardware.tici.hardware import Tici
+from openpilot.system.hardware import TICI
+from openpilot.system.hardware.tici.hardware import Tici
HARDWARE = Tici()
diff --git a/system/hardware/tici/tests/test_power_draw.py b/system/hardware/tici/tests/test_power_draw.py
index a35f231c4e..fbca95f6f6 100755
--- a/system/hardware/tici/tests/test_power_draw.py
+++ b/system/hardware/tici/tests/test_power_draw.py
@@ -9,11 +9,11 @@ from typing import List
import cereal.messaging as messaging
from cereal.services import service_list
-from system.hardware import HARDWARE, TICI
-from system.hardware.tici.power_monitor import get_power
-from selfdrive.manager.process_config import managed_processes
-from selfdrive.manager.manager import manager_cleanup
-from selfdrive.navd.tests.test_map_renderer import gen_llk
+from openpilot.system.hardware import HARDWARE, TICI
+from openpilot.system.hardware.tici.power_monitor import get_power
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.manager import manager_cleanup
+from openpilot.selfdrive.navd.tests.test_map_renderer import gen_llk
SAMPLE_TIME = 8 # seconds to sample power
diff --git a/system/loggerd/config.py b/system/loggerd/config.py
index df187a48c0..dfc117f2c1 100644
--- a/system/loggerd/config.py
+++ b/system/loggerd/config.py
@@ -1,6 +1,6 @@
import os
from pathlib import Path
-from system.hardware import PC
+from openpilot.system.hardware import PC
if os.environ.get('LOG_ROOT', False):
ROOT = os.environ['LOG_ROOT']
diff --git a/system/loggerd/deleter.py b/system/loggerd/deleter.py
index 5e7b31f583..ab4a0b97c1 100644
--- a/system/loggerd/deleter.py
+++ b/system/loggerd/deleter.py
@@ -4,10 +4,10 @@ import shutil
import threading
from typing import List
-from system.swaglog import cloudlog
-from system.loggerd.config import ROOT, get_available_bytes, get_available_percent
-from system.loggerd.uploader import listdir_by_creation
-from system.loggerd.xattr_cache import getxattr
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.loggerd.config import ROOT, get_available_bytes, get_available_percent
+from openpilot.system.loggerd.uploader import listdir_by_creation
+from openpilot.system.loggerd.xattr_cache import getxattr
MIN_BYTES = 5 * 1024 * 1024 * 1024
MIN_PERCENT = 10
diff --git a/system/loggerd/tests/fill.py b/system/loggerd/tests/fill.py
index 4bf4f73604..c749f42b97 100755
--- a/system/loggerd/tests/fill.py
+++ b/system/loggerd/tests/fill.py
@@ -3,8 +3,8 @@
from pathlib import Path
-from system.loggerd.config import ROOT, get_available_percent
-from system.loggerd.tests.loggerd_tests_common import create_random_file
+from openpilot.system.loggerd.config import ROOT, get_available_percent
+from openpilot.system.loggerd.tests.loggerd_tests_common import create_random_file
if __name__ == "__main__":
diff --git a/system/loggerd/tests/loggerd_tests_common.py b/system/loggerd/tests/loggerd_tests_common.py
index 7d71516dfe..89ddbd658c 100644
--- a/system/loggerd/tests/loggerd_tests_common.py
+++ b/system/loggerd/tests/loggerd_tests_common.py
@@ -7,9 +7,9 @@ import unittest
from pathlib import Path
from typing import Optional
-import system.loggerd.deleter as deleter
-import system.loggerd.uploader as uploader
-from system.loggerd.xattr_cache import setxattr
+import openpilot.system.loggerd.deleter as deleter
+import openpilot.system.loggerd.uploader as uploader
+from openpilot.system.loggerd.xattr_cache import setxattr
def create_random_file(file_path: Path, size_mb: float, lock: bool = False, upload_xattr: Optional[bytes] = None) -> None:
diff --git a/system/loggerd/tests/test_deleter.py b/system/loggerd/tests/test_deleter.py
index 9474b30f82..86152b05f8 100755
--- a/system/loggerd/tests/test_deleter.py
+++ b/system/loggerd/tests/test_deleter.py
@@ -6,9 +6,9 @@ from collections import namedtuple
from pathlib import Path
from typing import Sequence
-import system.loggerd.deleter as deleter
-from common.timeout import Timeout, TimeoutException
-from system.loggerd.tests.loggerd_tests_common import UploaderTestCase
+import openpilot.system.loggerd.deleter as deleter
+from openpilot.common.timeout import Timeout, TimeoutException
+from openpilot.system.loggerd.tests.loggerd_tests_common import UploaderTestCase
Stats = namedtuple("Stats", ['f_bavail', 'f_blocks', 'f_frsize'])
diff --git a/system/loggerd/tests/test_encoder.py b/system/loggerd/tests/test_encoder.py
index 81f4e9fb9d..41b83c0821 100755
--- a/system/loggerd/tests/test_encoder.py
+++ b/system/loggerd/tests/test_encoder.py
@@ -11,12 +11,12 @@ from pathlib import Path
from parameterized import parameterized
from tqdm import trange
-from common.params import Params
-from common.timeout import Timeout
-from system.hardware import TICI
-from system.loggerd.config import ROOT
-from selfdrive.manager.process_config import managed_processes
-from tools.lib.logreader import LogReader
+from openpilot.common.params import Params
+from openpilot.common.timeout import Timeout
+from openpilot.system.hardware import TICI
+from openpilot.system.loggerd.config import ROOT
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.tools.lib.logreader import LogReader
SEGMENT_LENGTH = 2
FULL_SIZE = 2507572
diff --git a/system/loggerd/tests/test_loggerd.py b/system/loggerd/tests/test_loggerd.py
index c151afb24f..b43f597c25 100755
--- a/system/loggerd/tests/test_loggerd.py
+++ b/system/loggerd/tests/test_loggerd.py
@@ -13,17 +13,17 @@ from typing import Dict, List
import cereal.messaging as messaging
from cereal import log
from cereal.services import service_list
-from common.basedir import BASEDIR
-from common.params import Params
-from common.timeout import Timeout
-from system.loggerd.config import ROOT
-from system.loggerd.xattr_cache import getxattr
-from system.loggerd.deleter import PRESERVE_ATTR_NAME, PRESERVE_ATTR_VALUE
-from selfdrive.manager.process_config import managed_processes
-from system.version import get_version
-from tools.lib.logreader import LogReader
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.params import Params
+from openpilot.common.timeout import Timeout
+from openpilot.system.loggerd.config import ROOT
+from openpilot.system.loggerd.xattr_cache import getxattr
+from openpilot.system.loggerd.deleter import PRESERVE_ATTR_NAME, PRESERVE_ATTR_VALUE
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.version import get_version
+from openpilot.tools.lib.logreader import LogReader
from cereal.visionipc import VisionIpcServer, VisionStreamType
-from common.transformations.camera import tici_f_frame_size, tici_d_frame_size, tici_e_frame_size
+from openpilot.common.transformations.camera import tici_f_frame_size, tici_d_frame_size, tici_e_frame_size
SentinelType = log.Sentinel.SentinelType
diff --git a/system/loggerd/tests/test_uploader.py b/system/loggerd/tests/test_uploader.py
index 580d1efae2..bf21d8d7a9 100755
--- a/system/loggerd/tests/test_uploader.py
+++ b/system/loggerd/tests/test_uploader.py
@@ -8,10 +8,10 @@ import json
from pathlib import Path
from typing import List, Optional
-from system.swaglog import cloudlog
-from system.loggerd.uploader import uploader_fn, UPLOAD_ATTR_NAME, UPLOAD_ATTR_VALUE
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.loggerd.uploader import uploader_fn, UPLOAD_ATTR_NAME, UPLOAD_ATTR_VALUE
-from system.loggerd.tests.loggerd_tests_common import UploaderTestCase
+from openpilot.system.loggerd.tests.loggerd_tests_common import UploaderTestCase
class TestLogHandler(logging.Handler):
diff --git a/system/loggerd/tools/mark_all_uploaded.py b/system/loggerd/tools/mark_all_uploaded.py
index c963014748..84b9c20d78 100644
--- a/system/loggerd/tools/mark_all_uploaded.py
+++ b/system/loggerd/tools/mark_all_uploaded.py
@@ -1,7 +1,7 @@
import os
-from system.loggerd.uploader import UPLOAD_ATTR_NAME, UPLOAD_ATTR_VALUE
+from openpilot.system.loggerd.uploader import UPLOAD_ATTR_NAME, UPLOAD_ATTR_VALUE
-from system.loggerd.config import ROOT
+from openpilot.system.loggerd.config import ROOT
for folder in os.walk(ROOT):
for file1 in folder[2]:
full_path = os.path.join(folder[0], file1)
diff --git a/system/loggerd/tools/mark_unuploaded.py b/system/loggerd/tools/mark_unuploaded.py
index 3d1d4472b0..ef50280441 100755
--- a/system/loggerd/tools/mark_unuploaded.py
+++ b/system/loggerd/tools/mark_unuploaded.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import os
import sys
-from system.loggerd.uploader import UPLOAD_ATTR_NAME
+from openpilot.system.loggerd.uploader import UPLOAD_ATTR_NAME
for fn in sys.argv[1:]:
print(f"unmarking {fn}")
diff --git a/system/loggerd/uploader.py b/system/loggerd/uploader.py
index 196e5b3c2b..8ed60dac56 100644
--- a/system/loggerd/uploader.py
+++ b/system/loggerd/uploader.py
@@ -13,13 +13,13 @@ from typing import BinaryIO, Iterator, List, Optional, Tuple, Union
from cereal import log
import cereal.messaging as messaging
-from common.api import Api
-from common.params import Params
-from common.realtime import set_core_affinity
-from system.hardware import TICI
-from system.loggerd.xattr_cache import getxattr, setxattr
-from system.loggerd.config import ROOT
-from system.swaglog import cloudlog
+from openpilot.common.api import Api
+from openpilot.common.params import Params
+from openpilot.common.realtime import set_core_affinity
+from openpilot.system.hardware import TICI
+from openpilot.system.loggerd.xattr_cache import getxattr, setxattr
+from openpilot.system.loggerd.config import ROOT
+from openpilot.system.swaglog import cloudlog
NetworkType = log.DeviceState.NetworkType
UPLOAD_ATTR_NAME = 'user.upload'
diff --git a/system/logmessaged.py b/system/logmessaged.py
index 04101d042b..cab8cdd80d 100755
--- a/system/logmessaged.py
+++ b/system/logmessaged.py
@@ -3,8 +3,8 @@ import zmq
from typing import NoReturn
import cereal.messaging as messaging
-from common.logging_extra import SwagLogFileFormatter
-from system.swaglog import get_file_handler
+from openpilot.common.logging_extra import SwagLogFileFormatter
+from openpilot.system.swaglog import get_file_handler
def main() -> NoReturn:
diff --git a/system/micd.py b/system/micd.py
index 97ba0c262e..ae2bf86730 100755
--- a/system/micd.py
+++ b/system/micd.py
@@ -2,9 +2,9 @@
import numpy as np
from cereal import messaging
-from common.filter_simple import FirstOrderFilter
-from common.realtime import Ratekeeper
-from system.swaglog import cloudlog
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.common.realtime import Ratekeeper
+from openpilot.system.swaglog import cloudlog
RATE = 10
FFT_SAMPLES = 4096
diff --git a/system/sensord/pigeond.py b/system/sensord/pigeond.py
index f9ac2eaf95..a2b6b08de0 100755
--- a/system/sensord/pigeond.py
+++ b/system/sensord/pigeond.py
@@ -10,11 +10,11 @@ from datetime import datetime
from typing import List, Optional, Tuple
from cereal import messaging
-from common.params import Params
-from system.swaglog import cloudlog
-from system.hardware import TICI
-from common.gpio import gpio_init, gpio_set
-from system.hardware.tici.pins import GPIO
+from openpilot.common.params import Params
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.hardware import TICI
+from openpilot.common.gpio import gpio_init, gpio_set
+from openpilot.system.hardware.tici.pins import GPIO
UBLOX_TTY = "/dev/ttyHS0"
diff --git a/system/sensord/rawgps/rawgpsd.py b/system/sensord/rawgps/rawgpsd.py
index d9b2c37731..bb228812dc 100755
--- a/system/sensord/rawgps/rawgpsd.py
+++ b/system/sensord/rawgps/rawgpsd.py
@@ -15,14 +15,14 @@ from struct import unpack_from, calcsize, pack
from cereal import log
import cereal.messaging as messaging
-from common.gpio import gpio_init, gpio_set
+from openpilot.common.gpio import gpio_init, gpio_set
from laika.gps_time import GPSTime, utc_to_gpst, get_leap_seconds
from laika.helpers import get_prn_from_nmea_id
from laika.constants import SECS_IN_HR, SECS_IN_DAY, SECS_IN_WEEK
-from system.hardware.tici.pins import GPIO
-from system.swaglog import cloudlog
-from system.sensord.rawgps.modemdiag import ModemDiag, DIAG_LOG_F, setup_logs, send_recv
-from system.sensord.rawgps.structs import (dict_unpacker, position_report, relist,
+from openpilot.system.hardware.tici.pins import GPIO
+from openpilot.system.swaglog import cloudlog
+from openpilot.system.sensord.rawgps.modemdiag import ModemDiag, DIAG_LOG_F, setup_logs, send_recv
+from openpilot.system.sensord.rawgps.structs import (dict_unpacker, position_report, relist,
gps_measurement_report, gps_measurement_report_sv,
glonass_measurement_report, glonass_measurement_report_sv,
oemdre_measurement_report, oemdre_measurement_report_sv, oemdre_svpoly_report,
diff --git a/system/sensord/rawgps/test_rawgps.py b/system/sensord/rawgps/test_rawgps.py
index 8c2e246764..02777d5a1d 100755
--- a/system/sensord/rawgps/test_rawgps.py
+++ b/system/sensord/rawgps/test_rawgps.py
@@ -8,10 +8,10 @@ import subprocess
import numpy as np
import cereal.messaging as messaging
-from system.hardware import TICI
-from system.sensord.rawgps.rawgpsd import at_cmd, wait_for_modem
-from selfdrive.manager.process_config import managed_processes
-from common.transformations.coordinates import ecef_from_geodetic
+from openpilot.system.hardware import TICI
+from openpilot.system.sensord.rawgps.rawgpsd import at_cmd, wait_for_modem
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.common.transformations.coordinates import ecef_from_geodetic
GOOD_SIGNAL = bool(int(os.getenv("GOOD_SIGNAL", '0')))
diff --git a/system/sensord/tests/test_pigeond.py b/system/sensord/tests/test_pigeond.py
index 9519183aac..d7c7567e4f 100755
--- a/system/sensord/tests/test_pigeond.py
+++ b/system/sensord/tests/test_pigeond.py
@@ -4,11 +4,11 @@ import unittest
import cereal.messaging as messaging
from cereal.services import service_list
-from common.gpio import gpio_read
-from selfdrive.test.helpers import with_processes
-from selfdrive.manager.process_config import managed_processes
-from system.hardware import TICI
-from system.hardware.tici.pins import GPIO
+from openpilot.common.gpio import gpio_read
+from openpilot.selfdrive.test.helpers import with_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.hardware import TICI
+from openpilot.system.hardware.tici.pins import GPIO
# TODO: test TTFF when we have good A-GNSS
diff --git a/system/sensord/tests/test_sensord.py b/system/sensord/tests/test_sensord.py
index eea527ed63..b394a86b59 100755
--- a/system/sensord/tests/test_sensord.py
+++ b/system/sensord/tests/test_sensord.py
@@ -7,9 +7,9 @@ from collections import namedtuple, defaultdict
import cereal.messaging as messaging
from cereal import log
-from common.gpio import get_irqs_for_action
-from system.hardware import TICI
-from selfdrive.manager.process_config import managed_processes
+from openpilot.common.gpio import get_irqs_for_action
+from openpilot.system.hardware import TICI
+from openpilot.selfdrive.manager.process_config import managed_processes
BMX = {
('bmx055', 'acceleration'),
diff --git a/system/sensord/tests/ttff_test.py b/system/sensord/tests/ttff_test.py
index e2cbc6d144..e023489ed5 100755
--- a/system/sensord/tests/ttff_test.py
+++ b/system/sensord/tests/ttff_test.py
@@ -4,7 +4,7 @@ import time
import atexit
from cereal import messaging
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
TIMEOUT = 10*60
diff --git a/system/swaglog.py b/system/swaglog.py
index 28beb5a4d1..5fe1c2f27f 100644
--- a/system/swaglog.py
+++ b/system/swaglog.py
@@ -7,8 +7,8 @@ from logging.handlers import BaseRotatingHandler
import zmq
-from common.logging_extra import SwagLogger, SwagFormatter, SwagLogFileFormatter
-from system.hardware import PC
+from openpilot.common.logging_extra import SwagLogger, SwagFormatter, SwagLogFileFormatter
+from openpilot.system.hardware import PC
if PC:
SWAGLOG_DIR = os.path.join(str(Path.home()), ".comma", "log")
diff --git a/system/tests/test_logmessaged.py b/system/tests/test_logmessaged.py
index 08335517ae..955272d403 100755
--- a/system/tests/test_logmessaged.py
+++ b/system/tests/test_logmessaged.py
@@ -6,8 +6,8 @@ import time
import unittest
import cereal.messaging as messaging
-from selfdrive.manager.process_config import managed_processes
-from system.swaglog import cloudlog, SWAGLOG_DIR
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.system.swaglog import cloudlog, SWAGLOG_DIR
class TestLogmessaged(unittest.TestCase):
diff --git a/system/timezoned.py b/system/timezoned.py
index 884a5c3812..37e813c561 100755
--- a/system/timezoned.py
+++ b/system/timezoned.py
@@ -8,9 +8,9 @@ from typing import NoReturn
import requests
from timezonefinder import TimezoneFinder
-from common.params import Params
-from system.hardware import AGNOS
-from system.swaglog import cloudlog
+from openpilot.common.params import Params
+from openpilot.system.hardware import AGNOS
+from openpilot.system.swaglog import cloudlog
def set_timezone(valid_timezones, timezone):
diff --git a/system/ubloxd/tests/test_ublox_processing.py b/system/ubloxd/tests/test_ublox_processing.py
index cd4ce0de04..b1709cd9bb 100755
--- a/system/ubloxd/tests/test_ublox_processing.py
+++ b/system/ubloxd/tests/test_ublox_processing.py
@@ -6,9 +6,9 @@ from laika import AstroDog
from laika.helpers import ConstellationId
from laika.raw_gnss import correct_measurements, process_measurements, read_raw_ublox
from laika.opt import calc_pos_fix
-from selfdrive.test.openpilotci import get_url
-from tools.lib.logreader import LogReader
-from selfdrive.test.helpers import with_processes
+from openpilot.selfdrive.test.openpilotci import get_url
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.selfdrive.test.helpers import with_processes
import cereal.messaging as messaging
def get_gnss_measurements(log_reader):
diff --git a/system/ubloxd/tests/ubloxd.py b/system/ubloxd/tests/ubloxd.py
index 7c7e68b23b..783eb1eb0d 100755
--- a/system/ubloxd/tests/ubloxd.py
+++ b/system/ubloxd/tests/ubloxd.py
@@ -2,7 +2,7 @@
# type: ignore
# pylint: skip-file
-from selfdrive.locationd.test import ublox
+from openpilot.selfdrive.locationd.test import ublox
import struct
baudrate = 460800
diff --git a/system/version.py b/system/version.py
index c9ab443694..82e99fd416 100644
--- a/system/version.py
+++ b/system/version.py
@@ -4,8 +4,8 @@ import subprocess
from typing import List, Optional
from functools import lru_cache
-from common.basedir import BASEDIR
-from system.swaglog import cloudlog
+from openpilot.common.basedir import BASEDIR
+from openpilot.system.swaglog import cloudlog
RELEASE_BRANCHES = ['release3-staging', 'dashcam3-staging', 'release3', 'dashcam3', 'nightly']
TESTED_BRANCHES = RELEASE_BRANCHES + ['devel', 'devel-staging']
@@ -127,7 +127,7 @@ def is_dirty() -> bool:
if __name__ == "__main__":
- from common.params import Params
+ from openpilot.common.params import Params
params = Params()
params.put("TermsVersion", terms_version)
diff --git a/tools/bodyteleop/web.py b/tools/bodyteleop/web.py
index ed94cb6d83..717afdeaf8 100644
--- a/tools/bodyteleop/web.py
+++ b/tools/bodyteleop/web.py
@@ -15,8 +15,8 @@ from aiohttp import web
from aiortc import RTCPeerConnection, RTCSessionDescription
import cereal.messaging as messaging
-from common.basedir import BASEDIR
-from tools.bodyteleop.bodyav import BodyMic, WebClientSpeaker, force_codec, play_sound, MediaBlackhole, EncodedBodyVideo
+from openpilot.common.basedir import BASEDIR
+from openpilot.tools.bodyteleop.bodyav import BodyMic, WebClientSpeaker, force_codec, play_sound, MediaBlackhole, EncodedBodyVideo
logger = logging.getLogger("pc")
logging.basicConfig(level=logging.INFO)
diff --git a/tools/cabana/dbc/generate_dbc_json.py b/tools/cabana/dbc/generate_dbc_json.py
index cb122e2eb2..da19e27b77 100755
--- a/tools/cabana/dbc/generate_dbc_json.py
+++ b/tools/cabana/dbc/generate_dbc_json.py
@@ -2,7 +2,7 @@
import argparse
import json
-from selfdrive.car.car_helpers import get_interface_attr
+from openpilot.selfdrive.car.car_helpers import get_interface_attr
def generate_dbc_json() -> str:
diff --git a/tools/camerastream/receive.py b/tools/camerastream/receive.py
index 6f8d67c78f..bf6929c039 100755
--- a/tools/camerastream/receive.py
+++ b/tools/camerastream/receive.py
@@ -4,7 +4,7 @@ import sys
import numpy as np
os.environ['ZMQ'] = '1'
-from common.window import Window
+from openpilot.common.window import Window
import cereal.messaging as messaging
# start camerad with 'SEND_ROAD=1 SEND_DRIVER=1 SEND_WIDE_ROAD=1 XMIN=771 XMAX=1156 YMIN=483 YMAX=724 ./camerad'
diff --git a/tools/gpstest/rpc_server.py b/tools/gpstest/rpc_server.py
index be8dbb61b8..060446370b 100644
--- a/tools/gpstest/rpc_server.py
+++ b/tools/gpstest/rpc_server.py
@@ -7,9 +7,9 @@ from collections import defaultdict
import rpyc # pylint: disable=import-error
from rpyc.utils.server import ThreadedServer # pylint: disable=import-error
-#from common.params import Params
+#from openpilot.common.params import Params
import cereal.messaging as messaging
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
from laika.lib.coordinates import ecef2geodetic
DELTA = 0.001
diff --git a/tools/gpstest/test_gps.py b/tools/gpstest/test_gps.py
index 5043e484fd..98f1ad84b8 100644
--- a/tools/gpstest/test_gps.py
+++ b/tools/gpstest/test_gps.py
@@ -3,11 +3,11 @@ import time
import unittest
import struct
-from common.params import Params
+from openpilot.common.params import Params
import cereal.messaging as messaging
-import system.sensord.pigeond as pd
-from system.hardware import TICI
-from selfdrive.test.helpers import with_processes
+import openpilot.system.sensord.pigeond as pd
+from openpilot.system.hardware import TICI
+from openpilot.selfdrive.test.helpers import with_processes
def read_events(service, duration_sec):
diff --git a/tools/gpstest/test_gps_qcom.py b/tools/gpstest/test_gps_qcom.py
index b3ce93fc81..c399671715 100644
--- a/tools/gpstest/test_gps_qcom.py
+++ b/tools/gpstest/test_gps_qcom.py
@@ -3,10 +3,10 @@ import time
import unittest
import subprocess as sp
-from common.params import Params
-from system.hardware import TICI
+from openpilot.common.params import Params
+from openpilot.system.hardware import TICI
import cereal.messaging as messaging
-from selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.manager.process_config import managed_processes
def exec_mmcli(cmd):
diff --git a/tools/gpstest/test_laikad.py b/tools/gpstest/test_laikad.py
index 689b0f0b9f..abb47d4bfc 100644
--- a/tools/gpstest/test_laikad.py
+++ b/tools/gpstest/test_laikad.py
@@ -4,12 +4,12 @@ import time
import unittest
import cereal.messaging as messaging
-import system.sensord.pigeond as pd
+import openpilot.system.sensord.pigeond as pd
-from common.params import Params
-from system.hardware import TICI
-from selfdrive.manager.process_config import managed_processes
-from selfdrive.test.helpers import with_processes
+from openpilot.common.params import Params
+from openpilot.system.hardware import TICI
+from openpilot.selfdrive.manager.process_config import managed_processes
+from openpilot.selfdrive.test.helpers import with_processes
def wait_for_location(sm, timeout, con=10):
diff --git a/tools/joystick/joystickd.py b/tools/joystick/joystickd.py
index b31dab83fe..82847e3fa1 100755
--- a/tools/joystick/joystickd.py
+++ b/tools/joystick/joystickd.py
@@ -5,10 +5,10 @@ import threading
from inputs import get_gamepad
import cereal.messaging as messaging
-from common.realtime import Ratekeeper
-from common.numpy_fast import interp, clip
-from common.params import Params
-from tools.lib.kbhit import KBHit
+from openpilot.common.realtime import Ratekeeper
+from openpilot.common.numpy_fast import interp, clip
+from openpilot.common.params import Params
+from openpilot.tools.lib.kbhit import KBHit
class Keyboard:
diff --git a/tools/latencylogger/latency_logger.py b/tools/latencylogger/latency_logger.py
index 81a4790dea..f2adc97e01 100755
--- a/tools/latencylogger/latency_logger.py
+++ b/tools/latencylogger/latency_logger.py
@@ -8,7 +8,7 @@ import sys
from bisect import bisect_left, bisect_right
from collections import defaultdict
-from tools.lib.logreader import logreader_from_route_or_segment
+from openpilot.tools.lib.logreader import logreader_from_route_or_segment
DEMO_ROUTE = "9f583b1d93915c31|2022-05-18--10-49-51--0"
diff --git a/tools/lib/README.md b/tools/lib/README.md
index 8f540a5c82..daf74aaf40 100644
--- a/tools/lib/README.md
+++ b/tools/lib/README.md
@@ -3,8 +3,8 @@
Route is a class for conveniently accessing all the [logs](/system/loggerd/) from your routes. The LogReader class reads the non-video logs, i.e. rlog.bz2 and qlog.bz2. There's also a matching FrameReader class for reading the videos.
```python
-from tools.lib.route import Route
-from tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.logreader import LogReader
r = Route("a2a0ccea32023010|2023-07-27--13-01-19")
@@ -37,8 +37,8 @@ for msg in lr:
`MultiLogIterator` is similar to `LogReader`, but reads multiple logs.
```python
-from tools.lib.route import Route
-from tools.lib.logreader import MultiLogIterator
+from openpilot.tools.lib.route import Route
+from openpilot.tools.lib.logreader import MultiLogIterator
# setup a MultiLogIterator to read all the logs in the route
r = Route("a2a0ccea32023010|2023-07-27--13-01-19")
diff --git a/tools/lib/auth.py b/tools/lib/auth.py
index a1bcdb1c58..7fc71b6895 100755
--- a/tools/lib/auth.py
+++ b/tools/lib/auth.py
@@ -29,8 +29,8 @@ from http.server import BaseHTTPRequestHandler, HTTPServer
from typing import Any, Dict
from urllib.parse import parse_qs, urlencode
-from tools.lib.api import APIError, CommaApi, UnauthorizedError
-from tools.lib.auth_config import set_token, get_token
+from openpilot.tools.lib.api import APIError, CommaApi, UnauthorizedError
+from openpilot.tools.lib.auth_config import set_token, get_token
PORT = 3000
diff --git a/tools/lib/auth_config.py b/tools/lib/auth_config.py
index 7952fee495..8863dd57a2 100644
--- a/tools/lib/auth_config.py
+++ b/tools/lib/auth_config.py
@@ -1,7 +1,7 @@
import json
import os
-from common.file_helpers import mkdirs_exists_ok
-from system.hardware import PC
+from openpilot.common.file_helpers import mkdirs_exists_ok
+from openpilot.system.hardware import PC
class MissingAuthConfigError(Exception):
diff --git a/tools/lib/bootlog.py b/tools/lib/bootlog.py
index 1e474e5dde..01756bb5e9 100644
--- a/tools/lib/bootlog.py
+++ b/tools/lib/bootlog.py
@@ -3,9 +3,9 @@ import functools
import re
from typing import List, Optional
-from tools.lib.auth_config import get_token
-from tools.lib.api import CommaApi
-from tools.lib.helpers import RE, timestamp_to_datetime
+from openpilot.tools.lib.auth_config import get_token
+from openpilot.tools.lib.api import CommaApi
+from openpilot.tools.lib.helpers import RE, timestamp_to_datetime
@functools.total_ordering
diff --git a/tools/lib/cache.py b/tools/lib/cache.py
index 82b2298730..d142955e59 100644
--- a/tools/lib/cache.py
+++ b/tools/lib/cache.py
@@ -1,6 +1,6 @@
import os
import urllib.parse
-from common.file_helpers import mkdirs_exists_ok
+from openpilot.common.file_helpers import mkdirs_exists_ok
DEFAULT_CACHE_DIR = os.path.expanduser("~/.commacache")
diff --git a/tools/lib/filereader.py b/tools/lib/filereader.py
index 718b853b1a..5ac23d57ec 100644
--- a/tools/lib/filereader.py
+++ b/tools/lib/filereader.py
@@ -1,5 +1,5 @@
import os
-from tools.lib.url_file import URLFile
+from openpilot.tools.lib.url_file import URLFile
DATA_ENDPOINT = os.getenv("DATA_ENDPOINT", "http://data-raw.comma.internal/")
diff --git a/tools/lib/framereader.py b/tools/lib/framereader.py
index b4845b9f0d..27984514e9 100644
--- a/tools/lib/framereader.py
+++ b/tools/lib/framereader.py
@@ -13,11 +13,11 @@ import numpy as np
from lru import LRU
import _io
-from tools.lib.cache import cache_path_for_file_path
-from tools.lib.exceptions import DataUnreadableError
-from common.file_helpers import atomic_write_in_dir
+from openpilot.tools.lib.cache import cache_path_for_file_path
+from openpilot.tools.lib.exceptions import DataUnreadableError
+from openpilot.common.file_helpers import atomic_write_in_dir
-from tools.lib.filereader import FileReader
+from openpilot.tools.lib.filereader import FileReader
HEVC_SLICE_B = 0
HEVC_SLICE_P = 1
diff --git a/tools/lib/logreader.py b/tools/lib/logreader.py
index 8f1e5b9f80..e528996f32 100755
--- a/tools/lib/logreader.py
+++ b/tools/lib/logreader.py
@@ -8,8 +8,8 @@ import warnings
from cereal import log as capnp_log
-from tools.lib.filereader import FileReader
-from tools.lib.route import Route, SegmentName
+from openpilot.tools.lib.filereader import FileReader
+from openpilot.tools.lib.route import Route, SegmentName
# this is an iterator itself, and uses private variables from LogReader
class MultiLogIterator:
diff --git a/tools/lib/route.py b/tools/lib/route.py
index 388cb003e6..e37b7d4434 100644
--- a/tools/lib/route.py
+++ b/tools/lib/route.py
@@ -5,9 +5,9 @@ from collections import defaultdict
from itertools import chain
from typing import Optional
-from tools.lib.auth_config import get_token
-from tools.lib.api import CommaApi
-from tools.lib.helpers import RE
+from openpilot.tools.lib.auth_config import get_token
+from openpilot.tools.lib.api import CommaApi
+from openpilot.tools.lib.helpers import RE
QLOG_FILENAMES = ['qlog', 'qlog.bz2']
QCAMERA_FILENAMES = ['qcamera.ts']
diff --git a/tools/lib/tests/test_caching.py b/tools/lib/tests/test_caching.py
index d2a2a6872f..1e44b96489 100644
--- a/tools/lib/tests/test_caching.py
+++ b/tools/lib/tests/test_caching.py
@@ -4,7 +4,7 @@ import shutil
import unittest
os.environ["COMMA_CACHE"] = "/tmp/__test_cache__"
-from tools.lib.url_file import URLFile, CACHE_DIR
+from openpilot.tools.lib.url_file import URLFile, CACHE_DIR
class TestFileDownload(unittest.TestCase):
diff --git a/tools/lib/tests/test_readers.py b/tools/lib/tests/test_readers.py
index 6efa0dc351..1f24ae5c8e 100755
--- a/tools/lib/tests/test_readers.py
+++ b/tools/lib/tests/test_readers.py
@@ -5,8 +5,8 @@ import tempfile
from collections import defaultdict
import numpy as np
-from tools.lib.framereader import FrameReader
-from tools.lib.logreader import LogReader
+from openpilot.tools.lib.framereader import FrameReader
+from openpilot.tools.lib.logreader import LogReader
class TestReaders(unittest.TestCase):
diff --git a/tools/lib/tests/test_route_library.py b/tools/lib/tests/test_route_library.py
index 814017c9cc..7977f17be2 100755
--- a/tools/lib/tests/test_route_library.py
+++ b/tools/lib/tests/test_route_library.py
@@ -2,7 +2,7 @@
import unittest
from collections import namedtuple
-from tools.lib.route import SegmentName
+from openpilot.tools.lib.route import SegmentName
class TestRouteLibrary(unittest.TestCase):
def test_segment_name_formats(self):
diff --git a/tools/lib/url_file.py b/tools/lib/url_file.py
index 1e94a588f1..c2c7fc9d38 100644
--- a/tools/lib/url_file.py
+++ b/tools/lib/url_file.py
@@ -9,7 +9,7 @@ import pycurl
from hashlib import sha256
from io import BytesIO
from tenacity import retry, wait_random_exponential, stop_after_attempt
-from common.file_helpers import mkdirs_exists_ok, atomic_write_in_dir
+from openpilot.common.file_helpers import mkdirs_exists_ok, atomic_write_in_dir
# Cache chunk size
K = 1000
CHUNK_SIZE = 1000 * K
diff --git a/tools/plotjuggler/juggle.py b/tools/plotjuggler/juggle.py
index a5d6974f9c..02858b1edf 100755
--- a/tools/plotjuggler/juggle.py
+++ b/tools/plotjuggler/juggle.py
@@ -10,11 +10,11 @@ import tempfile
import requests
import argparse
-from common.basedir import BASEDIR
-from selfdrive.test.openpilotci import get_url
-from tools.lib.logreader import LogReader
-from tools.lib.route import Route, SegmentName
-from tools.lib.helpers import save_log
+from openpilot.common.basedir import BASEDIR
+from openpilot.selfdrive.test.openpilotci import get_url
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.tools.lib.route import Route, SegmentName
+from openpilot.tools.lib.helpers import save_log
from urllib.parse import urlparse, parse_qs
juggle_dir = os.path.dirname(os.path.realpath(__file__))
@@ -129,7 +129,7 @@ def juggle_route(route_or_segment_name, segment_count, qlog, can, layout, dbc=No
if dbc is None:
for cp in [m for m in all_data if m.which() == 'carParams']:
try:
- DBC = __import__(f"selfdrive.car.{cp.carParams.carName}.values", fromlist=['DBC']).DBC
+ DBC = __import__(f"openpilot.selfdrive.car.{cp.carParams.carName}.values", fromlist=['DBC']).DBC
dbc = DBC[cp.carParams.carFingerprint]['pt']
except Exception:
pass
diff --git a/tools/plotjuggler/test_plotjuggler.py b/tools/plotjuggler/test_plotjuggler.py
index 8fc032042a..e29e33f921 100755
--- a/tools/plotjuggler/test_plotjuggler.py
+++ b/tools/plotjuggler/test_plotjuggler.py
@@ -6,9 +6,9 @@ import subprocess
import time
import unittest
-from common.basedir import BASEDIR
-from common.timeout import Timeout
-from tools.plotjuggler.juggle import install
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.timeout import Timeout
+from openpilot.tools.plotjuggler.juggle import install
PJ_DIR = os.path.join(BASEDIR, "tools/plotjuggler")
diff --git a/tools/replay/can_replay.py b/tools/replay/can_replay.py
index 44b109514f..032c29824a 100755
--- a/tools/replay/can_replay.py
+++ b/tools/replay/can_replay.py
@@ -8,10 +8,10 @@ from tqdm import tqdm
os.environ['FILEREADER_CACHE'] = '1'
-from common.realtime import config_realtime_process, Ratekeeper, DT_CTRL
-from selfdrive.boardd.boardd import can_capnp_to_can_list
-from tools.plotjuggler.juggle import load_segment
-from tools.lib.logreader import logreader_from_route_or_segment
+from openpilot.common.realtime import config_realtime_process, Ratekeeper, DT_CTRL
+from openpilot.selfdrive.boardd.boardd import can_capnp_to_can_list
+from openpilot.tools.plotjuggler.juggle import load_segment
+from openpilot.tools.lib.logreader import logreader_from_route_or_segment
from panda import Panda, PandaJungle
def send_thread(s, flock):
diff --git a/tools/replay/lib/ui_helpers.py b/tools/replay/lib/ui_helpers.py
index 4ab8efab61..aa13502143 100644
--- a/tools/replay/lib/ui_helpers.py
+++ b/tools/replay/lib/ui_helpers.py
@@ -7,10 +7,10 @@ import pygame # pylint: disable=import-error
from matplotlib.backends.backend_agg import FigureCanvasAgg
-from common.transformations.camera import (eon_f_frame_size, eon_f_focal_length,
+from openpilot.common.transformations.camera import (eon_f_frame_size, eon_f_focal_length,
tici_f_frame_size, tici_f_focal_length,
get_view_frame_from_calib_frame)
-from selfdrive.controls.radard import RADAR_TO_CAMERA
+from openpilot.selfdrive.controls.radard import RADAR_TO_CAMERA
RED = (255, 0, 0)
diff --git a/tools/replay/ui.py b/tools/replay/ui.py
index a222e8e5b6..1659a024a4 100755
--- a/tools/replay/ui.py
+++ b/tools/replay/ui.py
@@ -8,9 +8,9 @@ import numpy as np
import pygame # pylint: disable=import-error
import cereal.messaging as messaging
-from common.numpy_fast import clip
-from common.basedir import BASEDIR
-from tools.replay.lib.ui_helpers import (_BB_TO_FULL_FRAME, UP,
+from openpilot.common.numpy_fast import clip
+from openpilot.common.basedir import BASEDIR
+from openpilot.tools.replay.lib.ui_helpers import (_BB_TO_FULL_FRAME, UP,
_INTRINSICS, BLACK, GREEN,
YELLOW, Calibration,
get_blank_lid_overlay, init_plots,
diff --git a/tools/replay/unlog_ci_segment.py b/tools/replay/unlog_ci_segment.py
index c008a7aeff..8d69ae954b 100755
--- a/tools/replay/unlog_ci_segment.py
+++ b/tools/replay/unlog_ci_segment.py
@@ -11,9 +11,9 @@ import tty
from collections import defaultdict
import cereal.messaging as messaging
-from tools.lib.framereader import FrameReader
-from tools.lib.logreader import LogReader
-from selfdrive.test.openpilotci import get_url
+from openpilot.tools.lib.framereader import FrameReader
+from openpilot.tools.lib.logreader import LogReader
+from openpilot.selfdrive.test.openpilotci import get_url
IGNORE = ['initData', 'sentinel']
diff --git a/tools/scripts/fetch_image_from_route.py b/tools/scripts/fetch_image_from_route.py
index 139373f665..471db7ee3e 100755
--- a/tools/scripts/fetch_image_from_route.py
+++ b/tools/scripts/fetch_image_from_route.py
@@ -8,8 +8,8 @@ if len(sys.argv) < 4:
import requests
from PIL import Image
-from tools.lib.auth_config import get_token
-from tools.lib.framereader import FrameReader
+from openpilot.tools.lib.auth_config import get_token
+from openpilot.tools.lib.framereader import FrameReader
jwt = get_token()
diff --git a/tools/scripts/save_ubloxraw_stream.py b/tools/scripts/save_ubloxraw_stream.py
index 3fefd45ba8..541252d270 100644
--- a/tools/scripts/save_ubloxraw_stream.py
+++ b/tools/scripts/save_ubloxraw_stream.py
@@ -2,9 +2,9 @@
import argparse
import os
import sys
-from common.basedir import BASEDIR
-from tools.lib.logreader import MultiLogIterator
-from tools.lib.route import Route
+from openpilot.common.basedir import BASEDIR
+from openpilot.tools.lib.logreader import MultiLogIterator
+from openpilot.tools.lib.route import Route
os.environ['BASEDIR'] = BASEDIR
diff --git a/tools/scripts/setup_ssh_keys.py b/tools/scripts/setup_ssh_keys.py
index 8f03303b59..699765eee1 100755
--- a/tools/scripts/setup_ssh_keys.py
+++ b/tools/scripts/setup_ssh_keys.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import requests
-from common.params import Params
+from openpilot.common.params import Params
import sys
diff --git a/tools/sim/Dockerfile.sim b/tools/sim/Dockerfile.sim
index 48aa12ebc6..d312f34ecd 100644
--- a/tools/sim/Dockerfile.sim
+++ b/tools/sim/Dockerfile.sim
@@ -14,6 +14,7 @@ RUN mkdir -p $HOME/openpilot
COPY SConstruct $HOME/openpilot/
+COPY ./openpilot $HOME/openpilot/openpilot
COPY ./body $HOME/openpilot/body
COPY ./third_party $HOME/openpilot/third_party
COPY ./site_scons $HOME/openpilot/site_scons
@@ -30,4 +31,4 @@ COPY ./tools $HOME/openpilot/tools
WORKDIR $HOME/openpilot
RUN scons --cache-readonly -j12
-RUN python -c "from selfdrive.test.helpers import set_params_enabled; set_params_enabled()"
+RUN python -c "from openpilot.selfdrive.test.helpers import set_params_enabled; set_params_enabled()"
diff --git a/tools/sim/bridge.py b/tools/sim/bridge.py
index 64446e1115..bacf38296e 100755
--- a/tools/sim/bridge.py
+++ b/tools/sim/bridge.py
@@ -16,13 +16,13 @@ import pyopencl.array as cl_array
import cereal.messaging as messaging
from cereal import log
from cereal.visionipc import VisionIpcServer, VisionStreamType
-from common.basedir import BASEDIR
-from common.numpy_fast import clip
-from common.params import Params
-from common.realtime import DT_DMON, Ratekeeper
-from selfdrive.car.honda.values import CruiseButtons
-from selfdrive.test.helpers import set_params_enabled
-from tools.sim.lib.can import can_function
+from openpilot.common.basedir import BASEDIR
+from openpilot.common.numpy_fast import clip
+from openpilot.common.params import Params
+from openpilot.common.realtime import DT_DMON, Ratekeeper
+from openpilot.selfdrive.car.honda.values import CruiseButtons
+from openpilot.selfdrive.test.helpers import set_params_enabled
+from openpilot.tools.sim.lib.can import can_function
W, H = 1928, 1208
REPEAT_COUNTER = 5
@@ -550,12 +550,12 @@ if __name__ == "__main__":
if args.joystick:
# start input poll for joystick
- from tools.sim.lib.manual_ctrl import wheel_poll_thread
+ from openpilot.tools.sim.lib.manual_ctrl import wheel_poll_thread
wheel_poll_thread(q)
else:
# start input poll for keyboard
- from tools.sim.lib.keyboard_ctrl import keyboard_poll_thread
+ from openpilot.tools.sim.lib.keyboard_ctrl import keyboard_poll_thread
keyboard_poll_thread(q)
p.join()
diff --git a/tools/sim/lib/can.py b/tools/sim/lib/can.py
index d0b5888392..4cecbb2a67 100755
--- a/tools/sim/lib/can.py
+++ b/tools/sim/lib/can.py
@@ -2,8 +2,8 @@
import cereal.messaging as messaging
from opendbc.can.packer import CANPacker
from opendbc.can.parser import CANParser
-from selfdrive.boardd.boardd_api_impl import can_list_to_can_capnp # pylint: disable=no-name-in-module,import-error
-from selfdrive.car import crc8_pedal
+from openpilot.selfdrive.boardd.boardd_api_impl import can_list_to_can_capnp # pylint: disable=no-name-in-module,import-error
+from openpilot.selfdrive.car import crc8_pedal
packer = CANPacker("honda_civic_touring_2016_can_generated")
rpacker = CANPacker("acura_ilx_2016_nidec")
diff --git a/tools/sim/tests/test_carla_integration.py b/tools/sim/tests/test_carla_integration.py
index cfaf95ca01..65f5f4a30f 100755
--- a/tools/sim/tests/test_carla_integration.py
+++ b/tools/sim/tests/test_carla_integration.py
@@ -6,10 +6,10 @@ import os
from multiprocessing import Queue
from cereal import messaging
-from common.basedir import BASEDIR
-from selfdrive.manager.helpers import unblock_stdout
-from tools.sim import bridge
-from tools.sim.bridge import CarlaBridge
+from openpilot.common.basedir import BASEDIR
+from openpilot.selfdrive.manager.helpers import unblock_stdout
+from openpilot.tools.sim import bridge
+from openpilot.tools.sim.bridge import CarlaBridge
CI = "CI" in os.environ
diff --git a/tools/tuning/measure_steering_accuracy.py b/tools/tuning/measure_steering_accuracy.py
index b816d82f91..c615608852 100755
--- a/tools/tuning/measure_steering_accuracy.py
+++ b/tools/tuning/measure_steering_accuracy.py
@@ -8,7 +8,7 @@ import signal
from collections import defaultdict
import cereal.messaging as messaging
-from tools.lib.logreader import logreader_from_route_or_segment
+from openpilot.tools.lib.logreader import logreader_from_route_or_segment
def sigint_handler(signal, frame):
exit(0)
diff --git a/tools/webcam/front_mount_helper.py b/tools/webcam/front_mount_helper.py
index 2ae35992ec..d4f7d71b41 100755
--- a/tools/webcam/front_mount_helper.py
+++ b/tools/webcam/front_mount_helper.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
import numpy as np
-# copied from common.transformations/camera.py
+# copied from openpilot.common.transformations/camera.py
eon_dcam_focal_length = 860.0 # pixels
webcam_focal_length = 908.0 # pixels
diff --git a/tools/webcam/warp_vis.py b/tools/webcam/warp_vis.py
index 4331614acf..a9ae25ee67 100755
--- a/tools/webcam/warp_vis.py
+++ b/tools/webcam/warp_vis.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
import numpy as np
-# copied from common.transformations/camera.py
+# copied from openpilot.common.transformations/camera.py
eon_focal_length = 910.0 # pixels
eon_dcam_focal_length = 860.0 # pixels
diff --git a/tools/zookeeper/check_consumption.py b/tools/zookeeper/check_consumption.py
index 1345b90571..dab948318f 100755
--- a/tools/zookeeper/check_consumption.py
+++ b/tools/zookeeper/check_consumption.py
@@ -2,7 +2,7 @@
import sys
import time
-from tools.zookeeper import Zookeeper
+from openpilot.tools.zookeeper import Zookeeper
# Usage: check_consumption.py
# Exit code: 0 -> passed
diff --git a/tools/zookeeper/disable.py b/tools/zookeeper/disable.py
index 6c1eecc18b..4bea3e7ed0 100755
--- a/tools/zookeeper/disable.py
+++ b/tools/zookeeper/disable.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
-from tools.zookeeper import Zookeeper
+from openpilot.tools.zookeeper import Zookeeper
if __name__ == "__main__":
z = Zookeeper()
diff --git a/tools/zookeeper/enable_and_wait.py b/tools/zookeeper/enable_and_wait.py
index 6907e6017c..51b8dc0a5c 100755
--- a/tools/zookeeper/enable_and_wait.py
+++ b/tools/zookeeper/enable_and_wait.py
@@ -3,7 +3,7 @@ import os
import sys
import time
from socket import gethostbyname, gaierror
-from tools.zookeeper import Zookeeper
+from openpilot.tools.zookeeper import Zookeeper
def is_online(ip):
try:
diff --git a/tools/zookeeper/ignition.py b/tools/zookeeper/ignition.py
index 5c85be203d..d5f01c362f 100755
--- a/tools/zookeeper/ignition.py
+++ b/tools/zookeeper/ignition.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import sys
-from tools.zookeeper import Zookeeper
+from openpilot.tools.zookeeper import Zookeeper
if __name__ == "__main__":
diff --git a/tools/zookeeper/power_monitor.py b/tools/zookeeper/power_monitor.py
index fa1f442bbc..a081baa72a 100755
--- a/tools/zookeeper/power_monitor.py
+++ b/tools/zookeeper/power_monitor.py
@@ -3,9 +3,9 @@ import sys
import time
import datetime
-from common.realtime import Ratekeeper
-from common.filter_simple import FirstOrderFilter
-from tools.zookeeper import Zookeeper
+from openpilot.common.realtime import Ratekeeper
+from openpilot.common.filter_simple import FirstOrderFilter
+from openpilot.tools.zookeeper import Zookeeper
if __name__ == "__main__":
z = Zookeeper()
diff --git a/tools/zookeeper/test_zookeeper.py b/tools/zookeeper/test_zookeeper.py
index ba395ad7ba..89f7f28975 100755
--- a/tools/zookeeper/test_zookeeper.py
+++ b/tools/zookeeper/test_zookeeper.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
import time
-from tools.zookeeper import Zookeeper
+from openpilot.tools.zookeeper import Zookeeper
if __name__ == "__main__":