Skip to content

Replace git submodules with Python package dependencies#37302

Closed
adeebshihadeh wants to merge 6 commits intomasterfrom
fix_packages
Closed

Replace git submodules with Python package dependencies#37302
adeebshihadeh wants to merge 6 commits intomasterfrom
fix_packages

Conversation

@adeebshihadeh
Copy link
Copy Markdown
Contributor

@adeebshihadeh adeebshihadeh commented Feb 21, 2026

Summary

  • Convert teleoprtc, panda, opendbc, rednose, and msgq from git submodules/symlinks to git URL dependencies in pyproject.toml
  • Inline msgq and rednose SCons build logic into the top-level SConstruct (sourcing files from installed package paths)
  • Source opendbc DBC generation from installed package path
  • Remove panda firmware SConscript call (firmware builds stay in panda repo)
  • Clean up tool config exclusions (ruff, codespell, ty, pytest, lint.sh, labeler, CI workflows) for removed submodule dirs
  • Regenerate uv.lock with new package dependencies

Companion PRs

Test plan

  • Verify scons -j$(nproc) compiles successfully (msgq, visionipc, rednose C++ libs + Cython extensions)
  • Verify python -c "import msgq; print(msgq.BASEDIR)" resolves to installed package
  • Verify python -c "import rednose; print(rednose.HELPERS_PATH)" resolves to installed package
  • Verify python -c "import opendbc; print(opendbc.DBC_PATH)" resolves to installed package
  • Verify pytest selfdrive/locationd/ passes (rednose filter compilation)
  • Verify cabana builds on non-larch64
  • Full CI green

🤖 Generated with Claude Code

@adeebshihadeh adeebshihadeh force-pushed the fix_packages branch 12 times, most recently from 8312f0d to 6f6e40c Compare February 21, 2026 19:39
Convert teleoprtc, panda, opendbc, rednose, and msgq from git
submodules/symlinks to git URL dependencies in pyproject.toml. Inline
msgq and rednose SCons build logic into the top-level SConstruct, and
source opendbc DBC generation from the installed package path. Remove
panda firmware SConscript call. Clean up tool config exclusions and
CI references for removed submodule dirs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
adeebshihadeh and others added 5 commits February 21, 2026 11:55
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The test failures were caused by missing torque_data files in the
opendbc package, not by slow test execution. The fix in the opendbc
package should resolve the failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The msgq and rednose packages now build their Cython extensions
(ipc_pyx.so, visionipc_pyx.so, ekf_sym_pyx.so) during pip install
via setup.py. Remove the duplicate scons builds of these extensions
from SConstruct. Keep the static library builds (libmsgq.a,
libvisionipc.a, ekf_sym.a) since openpilot's own C++ binaries link
against them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- cereal/__init__.py: replace runtime symlink creation with a real
  car.capnp file (copied from opendbc). Simplify to the original
  straightforward schema loading code.
- SConstruct: redirect all intermediate build artifacts (.os files,
  .a libraries) to build/ instead of polluting site-packages.
- Update msgq to pick up try/except ImportError cleanup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

This PR has had no activity for 24 days. It will be automatically closed in 7 days if there is no activity.

@github-actions github-actions bot added the stale label Mar 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes.

@github-actions github-actions bot closed this Mar 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This PR has been automatically closed due to inactivity. Feel free to re-open once activity resumes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant