Skip to main content

Assista CLI

Developer tooling for Odoo: environment diagnostics, project scaffolding, and module generation.

uv tool install assista-cli      # or: pipx install assista-cli
cd ~/my-odoo-project
assista init
assista doctor

Supports Odoo 12.0 – 19.0. Default target: 19.0.


Why

Odoo tells you it crashed. It does not tell you that your psycopg2 was built for python 3.11 while your venv is 3.12, that your PostgreSQL role lacks CREATEDB, or that your wkhtmltopdf is the unpatched build that silently drops report footers.

assista doctor answers "will my project run, and if not, exactly why" — and every failure it reports ends in a command you can run.

Commands

assista doctor                      # diagnose everything, 38 checks across 4 tiers
assista doctor --db mydb            # include per-database checks
assista doctor --format json        # versioned contract, for CI and editors
assista doctor --explain <check-id> # what a check means

assista init                        # adopt an existing checkout
assista create myproject            # new project: source + venv + odoo.conf

assista env resolve -V 19.0 -p 3.12 # exact dependencies Odoo declares
assista env create -V 13.0          # per-version venv, correct python
assista env sync                    # reconcile against Odoo's pins
assista env list / remove

assista source pull -V 19.0         # shallow clone, shared between projects
assista source list / update

assista module create sale_ext      # models, views, security, tests, i18n, README
assista module create --owl         # with an OWL component
assista module install / upgrade

assista run                         # start the server
assista run --watch --db mydb       # restart on .py, upgrade one module on .xml
assista shell                       # interactive ORM shell

assista db list                     # databases with size and Odoo version
assista db dump / duplicate / drop / neutralize

assista test sale_ext --db mydb     # run module tests
assista doctor --compare prod.json  # diff two environments
assista --install-completion        # shell completion

Note: odoo-bin db only exists from Odoo 16.0. On 12.0-15.0 the db commands refuse with the version that added them and what to use instead, rather than passing through a raw odoo-bin usage error.

What makes it useful

Dependency expectations are derived, never hand-maintained. Odoo's own requirements.txt encodes python-conditional pins as PEP 508 markers. assista evaluates them against your interpreter, so it knows Odoo 19 wants werkzeug==2.0.2 on python 3.10 and 3.0.1 on 3.12 — and stays correct through future Odoo releases with no updates from us.

Checks nothing else performs:

Check Why it matters
wkhtmltopdf patched-qt build Unpatched silently drops headers, footers and logos. No error is raised.
Wheel ABI tags A cp311 wheel in a 3.12 venv at the right version passes a version comparison silently.
Import smoke tests python-ldap installs fine and fails at import when libldap.so is missing.
Duplicate module names Odoo loads whichever addons path comes first; editing the other copy does nothing.
Multiple PostgreSQL clusters Connecting to the wrong one reports a database as missing when it exists.
Schema vs source version The direct cause of "column does not exist" after adding a field.

Version-correct scaffolding. Generated modules use <list> from 17.0, and group_ids / privilege_id from 19.0 — using the old names raises at install. Every generated module is validated in CI: python compiles, XML parses, the manifest is a valid literal, and every declared file exists.

Safe by default. db drop requires typing the database name; --yes is not accepted. Generated odoo.conf gets a random master password at mode 600 and binds to localhost. --dev warns when combined with a non-local bind, because a traceback then exposes an interactive python console.

Version support

Tier Versions Meaning
First-class 17.0, 18.0, 19.0 Odoo-supported. Exercised in CI.
Supported 12.0 – 16.0 Environment, source, run and db work.
Out of scope ≤ 11.0 Needs python 3.7 or 2.7, which cannot be provisioned.

Requirements

  • Python 3.10+ (the CLI runs in its own isolated environment)
  • uv for environment provisioning
  • PostgreSQL client (psql, pg_dump) for database work

Development

uv venv --python 3.12 && uv pip install -e ".[dev]"
uv run pytest -q

Licence

LGPL-3.0-or-later

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

assista_cli-0.1.0.tar.gz (146.8 kB view details)

Uploaded Source

Built Distribution

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

assista_cli-0.1.0-py3-none-any.whl (101.3 kB view details)

Uploaded Python 3

File details

Details for the file assista_cli-0.1.0.tar.gz.

File metadata

  • Download URL: assista_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 146.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for assista_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dbacb421af131d4b28a91f860293cea0b7574db42c1a14f889fac18e2de69911
MD5 197d146bcab16de3ce0f9e2de15347c1
BLAKE2b-256 4cfca91351b72f55a7ab64cecef58faae1be66650baa1dd5a66f0b500c6acee6

See more details on using hashes here.

File details

Details for the file assista_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: assista_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 101.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for assista_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e5ae738b2feb4401c1a44673df28d84fe5fad75244edbb97f4eda1901516baa
MD5 737bc0758ebd9bdccf89d785b1d2caac
BLAKE2b-256 b43c3a9e37c9e15f264e83d8c365306104c97c626abc85c0dc3e476404cc75b0

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page