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.

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.0.tar.gz (26.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_config-0.2.0-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odoo_config-0.2.0.tar.gz
  • Upload date:
  • Size: 26.5 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.0.tar.gz
Algorithm Hash digest
SHA256 919b035e68f77b3d94574892bd5fbd62bd3646b229b7c9a53079635837e94aad
MD5 f0a5ac31dcee82f41b3ebc46ff9ebc23
BLAKE2b-256 2aab0f18851829aa0fac70dea148f1371f9fa6587a3f52bda32382cdb72cc6e3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: odoo_config-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 27.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 856729ab3808dbb3cf44767b9d57b79975b8ce99e8c9705f41c90a496cd885b7
MD5 e54c38d766ce914d1ccacb22b4566610
BLAKE2b-256 ea9b5175243daf35aa6baf5b18e16c16a0bbce08fcf4f277f3608726a26b72f8

See more details on using hashes here.

Provenance

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