diff --git a/pyproject.toml b/pyproject.toml index 9f13917190..51f07d3870 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -98,10 +98,6 @@ tools = [ #"metadrive-simulator @ git+https://github.com/commaai/metadrive.git@minimal ; (platform_machine != 'aarch64')", ] -[project.urls] -Homepage = "https://github.com/commaai/openpilot" - -[dependency-groups] submodules = [ "msgq", "opendbc", @@ -111,6 +107,14 @@ submodules = [ "tinygrad", ] +[project.urls] +Homepage = "https://github.com/commaai/openpilot" + +[dependency-groups] +standalone = [ + "openpilot[submodules]", +] + [build-system] requires = ["hatchling"] build-backend = "hatchling.build" @@ -207,7 +211,7 @@ not-subscriptable = "ignore" # false positives from dynamic types [tool.uv] python-preference = "only-managed" -default-groups = ["submodules"] +default-groups = ["standalone"] override-dependencies = [ "opendbc", # panda pins opendbc from git for standalone use; always use our submodule "av", # teleoprtc's av<13 pin is stale diff --git a/uv.lock b/uv.lock index 2284243b55..bb6a1cb59c 100644 --- a/uv.lock +++ b/uv.lock @@ -922,6 +922,14 @@ docs = [ { name = "jinja2" }, { name = "zensical" }, ] +submodules = [ + { name = "msgq" }, + { name = "opendbc" }, + { name = "pandacan" }, + { name = "rednose" }, + { name = "teleoprtc" }, + { name = "tinygrad" }, +] testing = [ { name = "codespell" }, { name = "coverage" }, @@ -940,13 +948,8 @@ tools = [ ] [package.dev-dependencies] -submodules = [ - { name = "msgq" }, - { name = "opendbc" }, - { name = "pandacan" }, - { name = "rednose" }, - { name = "teleoprtc" }, - { name = "tinygrad" }, +standalone = [ + { name = "openpilot", extra = ["submodules"] }, ] [package.metadata] @@ -977,7 +980,10 @@ requires-dist = [ { name = "jeepney" }, { name = "jinja2", marker = "extra == 'docs'" }, { name = "matplotlib", marker = "extra == 'dev'" }, + { name = "msgq", marker = "extra == 'submodules'", editable = "msgq_repo" }, { name = "numpy", specifier = ">=2.0" }, + { name = "opendbc", marker = "extra == 'submodules'", editable = "opendbc_repo" }, + { name = "pandacan", marker = "extra == 'submodules'", editable = "panda" }, { name = "pillow" }, { name = "pre-commit-hooks", marker = "extra == 'testing'" }, { name = "pycapnp", specifier = "==2.1.0" }, @@ -989,6 +995,7 @@ requires-dist = [ { name = "pytest-xdist", marker = "extra == 'testing'", git = "https://github.com/sshane/pytest-xdist?rev=2b4372bd62699fb412c4fe2f95bf9f01bd2018da" }, { name = "pyzmq" }, { name = "qrcode" }, + { name = "rednose", marker = "extra == 'submodules'", editable = "rednose_repo" }, { name = "requests" }, { name = "ruff", marker = "extra == 'testing'" }, { name = "scons" }, @@ -996,6 +1003,8 @@ requires-dist = [ { name = "setproctitle" }, { name = "setuptools" }, { name = "sounddevice" }, + { name = "teleoprtc", marker = "extra == 'submodules'", editable = "teleoprtc_repo" }, + { name = "tinygrad", marker = "extra == 'submodules'", editable = "tinygrad_repo" }, { name = "tqdm" }, { name = "ty", marker = "extra == 'testing'" }, { name = "websocket-client" }, @@ -1003,17 +1012,10 @@ requires-dist = [ { name = "zensical", marker = "extra == 'docs'" }, { name = "zstandard" }, ] -provides-extras = ["docs", "testing", "dev", "tools"] +provides-extras = ["docs", "testing", "dev", "tools", "submodules"] [package.metadata.requires-dev] -submodules = [ - { name = "msgq", editable = "msgq_repo" }, - { name = "opendbc", editable = "opendbc_repo" }, - { name = "pandacan", editable = "panda" }, - { name = "rednose", editable = "rednose_repo" }, - { name = "teleoprtc", editable = "teleoprtc_repo" }, - { name = "tinygrad", editable = "tinygrad_repo" }, -] +standalone = [{ name = "openpilot", extras = ["submodules"] }] [[package]] name = "packaging"