Modern TUI-driven Odoo Worktree Manager
Project description
Odoo Worktree Assistant (odoo-wt)
A professional, modern TUI-driven Git worktree manager explicitly designed for Odoo developers. Built with Python, Textual, and uv.
🚀 Overview
odoo-wt streamlines the process of spinning up new Odoo development environments. It handles the complex "handshake" between Git worktrees and Python virtual environments so you can focus on code.
Key Features
- Modern TUI: A sleek, reactive "All-in-One" form built with Textual.
- Smart Branching: Follows the Odoo standard:
[VERSION]-[description]-[SUFFIX]. - Dual Repo Support: Simultaneously creates worktrees for both
odoo(Community) andenterprise. - Automated UV Environments:
- Centralizes environments in
~/.envs/[VERSION]. - Automatically runs
uv venvanduv pip installif the environment is missing. - Instantly symlinks
.venvinto your new worktree folder for automatic VS Code detection.
- Centralizes environments in
- Proactive Status Checks: Checks
odoo-devand local remotes to detect if branches already exist before creation.
🛠️ Installation
The recommended way to install odoo-wt is using uv tool:
# From the project directory
uv tool install . --force
This creates an isolated environment for the tool and places an odoo-wt executable in your ~/.local/bin/.
⚙️ Configuration
The tool saves its configuration to ~/.config/odoo-wt.json. You can edit paths directly in the Settings tab within the application.
wt_root: Where your worktree folders live (e.g.,~/repos/Odoo/wt).env_root: Where your centralized global Python environments are stored (e.g.,~/.envs).suffix: Your default developer quadrigram (e.g.,pian).
📖 Usage
Interactive Mode (The Guide)
Simply run the command with no arguments:
odoo-wt
- Use
Tabto switch between Version, Description, and Suffix. - Type
custom...in any dropdown to reveal a custom input field. - Press
Ctrl+Sto instantly submit and deploy. - Press
Escto cancel and exit.
Fast Mode
If you already have a full branch name ready:
odoo-wt 17.0-fix-account-bug-pian
⚠️ Known Limitations
- Clipboard Interactions (Copy/Paste): Because
odoo-wtuses mouse-capture to enable clickable buttons and scrollbars in the terminal, your terminal emulator's native click-to-highlight features are disabled by default.- To copy text manually: Hold the
Shiftkey while clicking and dragging over the text to bypass the app and use your terminal's native selection, then useCtrl+Shift+C. - To paste text: Sometimes native terminal paste (
Ctrl+Shift+Vor middle-click) events are intercepted unreliably by the underlying framework. If pasting into an input field fails, you may need to type the branch name manually.
- To copy text manually: Hold the
📝 Development
The source code is located at /home/odoo/repos/Scripts/odoo-wt/.
To apply changes made to the source:
uv tool install . --force
📜 License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_wt-1.0.0.tar.gz.
File metadata
- Download URL: odoo_wt-1.0.0.tar.gz
- Upload date:
- Size: 24.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48289f0dc2cc81a7c37639dca85768d8852fcc45fbe98036429e8b9365dfab5f
|
|
| MD5 |
8c217b6950b751e256b95be99834a20d
|
|
| BLAKE2b-256 |
ecb0f9cda598cf4582f775947319cd7a9b04e846a2bfbf3f003d30a1254b95c4
|
File details
Details for the file odoo_wt-1.0.0-py3-none-any.whl.
File metadata
- Download URL: odoo_wt-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
763873fb5d4e0b144e44fa736efdaa1e86f1ff4a42fc35bd32075721d4c0060b
|
|
| MD5 |
fda9f502c45d42fb405197e3e9f510eb
|
|
| BLAKE2b-256 |
393664907c78365262c497e9da179c29264f2ee42ed18d68df02a02bd35c65ff
|