Skip to main content

Generate, compare and update Odoo config files per version.

Project description

odoo-config

A small CLI that generates an Odoo config file, adapted for the target Odoo version. Replaces the hand-maintained server.conf template in remoteoi and is meant to be called as a configuration step by deploy.py, with per-instance values coming from deploy.yml.

Local development

Standard template tooling (uv + make):

make install   # uv sync + pre-commit install
make check     # lock check + pre-commit + ty
make test      # pytest

Other tasks: regenerate the CLI reference with uv run typer odoo_config.main utils docs --name odoo-config --output CLI.md, and the schema with uv run python scripts/build_schema.py (see Schema below).

Commands

See CLI.md — generated from the code, the source of truth — or odoo-config <command> --help for every command and flag (including the --output-format values).

Two behaviours the flag list can't express:

  • Ad-hoc overrides: beyond the documented flags, any --<key>=<value> overrides a single option, e.g. --max-cron-threads=0 (dashes → underscores).
  • Merge precedence, low to high: preset → --from files → environment → --* overrides.

Schema

The schema is two files, merged at runtime by schema.load_schema():

  • odoo_config/options.toml — the odoo standard: option set, defaults, version availability (min/max_version) and per-version default drift (by_version), mined from Odoo's tools/config.py across 13.0–19.0. It is generated (a vendored snapshot, like a lockfile) — do not edit by hand. Regenerate it only when the supported odoo version set changes:

    uv run python scripts/build_schema.py --odoo /path/to/odoo   # or set ODOO_PATH
    

    The odoo root is a parameter, but its layout is fixed: one numeric version directory per version, each holding odoo/tools/config.py. Limit the set with --versions 17.0,18.0,19.0.

  • odoo_config/overlay.toml — the trobz layer: customized defaults, comments, sections (ir.config_parameter, queue_job), presets, and non-core extras (sentry_*, legacy networking, etc.). Edit this freely; changes take effect immediately, no regeneration needed.

    Dotted keys in presets (e.g. ir.config_parameter options like ribbon.name) must be quoted in TOML so the dot is treated as part of the name, not a sub-table separator: "ribbon.name" = "" — not ribbon.name = "".

Overlay values win. A pinned overlay default forces that value on every version (the mined by_version is dropped); to keep per-version trobz values, add a [options.<key>.by_version] table in the overlay.

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_config-0.2.1.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

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

odoo_config-0.2.1-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

Details for the file odoo_config-0.2.1.tar.gz.

File metadata

  • Download URL: odoo_config-0.2.1.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for odoo_config-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f44b338d803b96b0b4d8a51e9e8e7cf12347e599ba2952fc17105584452573f7
MD5 5dd0660622d0d75ffb1f7707dfd54d7f
BLAKE2b-256 31a37fe3584c1201fdc5a92d70aa6818bf3a5f67fb5605f1bd42478b5cb1b145

See more details on using hashes here.

Provenance

The following attestation bundles were made for odoo_config-0.2.1.tar.gz:

Publisher: release.yaml on trobz/odoo-config

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odoo_config-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: odoo_config-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for odoo_config-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f654e6d9f943f9d6380c0088c8099e039826e4c0daaca6707f14939b8ee483a1
MD5 66a31d5fec0f4c1e4a2146abe61ef5a9
BLAKE2b-256 db3c499e0e24992ee465c56b59078398b3a04877cc9eb19685398499bc78fd04

See more details on using hashes here.

Provenance

The following attestation bundles were made for odoo_config-0.2.1-py3-none-any.whl:

Publisher: release.yaml on trobz/odoo-config

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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