Skip to content
GetFluvoPublic

About

Odoo Developer eXtension: one Rust CLI to aggregate, lock, port, migrate and lint Odoo projects from pyproject.toml

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

79 Commits

Folders and files

Repository files navigation

odx logo

odx

PyPI crates.io Tests Documentation License: MIT

Odoo Developer eXtension: one Rust CLI for Odoo projects, driven by a single [tool.odx] table in pyproject.toml.

odx builds a project's addon repositories from upstream branches plus the pull requests you need, pins and vaults every commit so rebuilds never break, keeps an eye on what upstream merged, ports fixes across Odoo series, migrates addons the OCA way, and lints with project context. It replaces git-aggregator, uvault and a handful of scripts with one fast binary.

Install

$ uv tool install odx-cli       # or: pipx install odx-cli
$ cargo install odx-cli

Binary wheels are published for Linux (glibc and musl, x86_64 and aarch64), macOS (Intel and Apple silicon) and Windows; no Rust toolchain needed.

Quick start

$ odx import repos.yaml --write     # start from an existing git-aggregator setup
$ odx aggregate                     # fetch and build every repository
$ odx lock                          # pin and vault every merged commit
$ odx status                        # what upstream merged, what changed
$ odx lint --only-changed           # odoo-lint with the project's context

What it does

Area Commands
Aggregate and lock aggregate, lock, verify, add, drop, import, export
Packages and deployment vendor, build, platform profiles (wheels, vendored source, Odoo.sh)
Local development dev, doctor, auth, sync, cache, daemon
Upstream insight status, suggest, verdict, dashboard, check-deps, upgrade, sniff, stats
Porting and migration port pr/addon/sweep, migrate plan/addon/pr/update/pin/unpin/own
Linting lint, with odoo-lint built in and project rules on top

Every command supports --json. The full reference, configuration and compatibility notes are on Read the Docs.

The aggregation engine is also available as a drop-in replacement for git-aggregator's gitaggregate: odx git-aggregate, or the standalone git-aggregate-rs package.

Status

Pre-alpha (0.0.x): the configuration and the CLI may still change between releases. Environment promotion (odx promote, odx env) and the CI bot (odx bot) are planned.

Packages

Package Registry Purpose
odx-cli PyPI, crates.io the odx command
git-aggregate-rs PyPI, crates.io the gitaggregate drop-in
odx-* crates.io the libraries odx is built from; no stable API

Contributing

Contributions are welcome: see CONTRIBUTING.md for the development setup and the quality gates (clippy pedantic, 100% coverage, MSRV 1.97). This project follows the Contributor Covenant.

License

MIT, see LICENSE. Maintained by Strategic Efficiency B.V. under the getfluvo organization.

Built with Rust & AI-accelerated engineering

About

Odoo Developer eXtension: one Rust CLI to aggregate, lock, port, migrate and lint Odoo projects from pyproject.toml

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages