mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 22:54:16 +02:00
1.9 KiB
1.9 KiB
Namespace Migration (bauh -> bearhub)
This document defines the technical migration strategy for moving the Python package namespace from bauh to bearhub safely.
Current State
- Runtime implementation still lives under
bauh/. - Project/package identity is already
bearhub(metadata, binaries, releases). - Entry points still target
bauh.*modules.
Migration Goals
- Make
bearhubthe canonical Python namespace. - Keep temporary compatibility for legacy
bauhimports. - Avoid breaking AUR/PyPI/runtime while migration is in progress.
Phase Plan
Phase A: Introduce target namespace skeleton (current)
- Add
bearhub/package wrappers that delegate tobauh/. - Keep behavior unchanged.
- Do not switch entry points yet.
Phase B: Move core modules
Order:
api,commons,contextview/qtgems- CLI + app entry modules
Rules:
- Move one group at a time.
- After each move, keep compatibility imports in
bauh. - Run smoke test: start, search, install, uninstall, update.
Phase C: Flip entry points
- Change project scripts to:
bearhub = bearhub.app:mainbearhub-tray = bearhub.app:traybearhub-cli = bearhub.cli.app:main
- Keep compatibility layer for one deprecation window.
Phase D: Remove legacy compatibility
- Remove
bauhwrappers only after:- one stable release cycle without namespace-related regressions
- migration completion is documented in changelog
Compatibility Policy
- During migration, both imports should work:
import bearhubimport bauh
bearhubis canonical for new code.bauhshould only be used as temporary compatibility path.
Verification Checklist
python -m py_compilepasses for changed modules.- GUI starts and basic actions work.
- AUR
bearhubandbearhub-gitbuild/install successfully. - No user-facing regression in naming/path behavior.