Skip to main content

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.

Python TUI Package Manager

🚀 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) and enterprise.
  • Automated UV Environments:
    • Centralizes environments in ~/.envs/[VERSION].
    • Automatically runs uv venv and uv pip install if the environment is missing.
    • Instantly symlinks .venv into your new worktree folder for automatic VS Code detection.
  • Proactive Status Checks: Checks odoo-dev and 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 Tab to switch between Version, Description, and Suffix.
  • Type custom... in any dropdown to reveal a custom input field.
  • Press Ctrl+S to instantly submit and deploy.
  • Press Esc to 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-wt uses 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 Shift key while clicking and dragging over the text to bypass the app and use your terminal's native selection, then use Ctrl+Shift+C.
    • To paste text: Sometimes native terminal paste (Ctrl+Shift+V or 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.

📝 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

odoo_wt-1.1.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

odoo_wt-1.1.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file odoo_wt-1.1.0.tar.gz.

File metadata

  • Download URL: odoo_wt-1.1.0.tar.gz
  • Upload date:
  • Size: 23.5 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

Hashes for odoo_wt-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f529baa5a331d6ed534fca20f55cd493815a9004133460fb7f21fe4a5b09f76f
MD5 76f43f8e2651863daa0bb42f4efef327
BLAKE2b-256 c5e7cc83a8f80f03aaa24fa68fa7063322305d69e837205b77e4ebc1bbfeca9b

See more details on using hashes here.

File details

Details for the file odoo_wt-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: odoo_wt-1.1.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

Hashes for odoo_wt-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b8a5552d6ed59d0f97316a3d9676b9a43e266f2c9db199550da4de12f7ee35d
MD5 d76927e14fada05c4dee840ab449be80
BLAKE2b-256 450196f152b0d8478d73d0608f207534502baa61f7b01469956f48cae54d0e48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page