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.2.tar.gz (27.4 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.2-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odoo_config-0.2.2.tar.gz
  • Upload date:
  • Size: 27.4 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.2.tar.gz
Algorithm Hash digest
SHA256 fdadf37fd923a2d76d518fa17aab530cb2c82870f3e0fc781a5dd25ef2d9b9a7
MD5 8cb2949dad2f7bbc49862bc5289f8ed4
BLAKE2b-256 7a6daab568814df34f2b23bf2a5f0f83c80d3496731e163e6b794909a8c3afe1

See more details on using hashes here.

Provenance

The following attestation bundles were made for odoo_config-0.2.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: odoo_config-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 28.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4cc0348026e51a33495fc5d7ee407b17f15c448a86e2cd4632c0964f1b93d3cd
MD5 0cdcc89f0ff26f2cf6176c094d7afdb3
BLAKE2b-256 c2c522eb392875c1560ef64d9aba6cb87a9dae3e9c4e3bb5a3b909d55b5bb473

See more details on using hashes here.

Provenance

The following attestation bundles were made for odoo_config-0.2.2-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