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

  • create — generate a new config for a target version.
  • compare — show a value comparison table across files, versions or presets.
  • update — update a config in place, preserving existing keys and sections.

The full flag reference is generated from the code — see CLI.md or odoo-config <command> --help.

Beyond the documented flags, any --<key>=<value> overrides a single option, e.g. --max-cron-threads=0; keys map to config options with dashes turned into underscores.

Output formats (--output-format)

  • bare — only the keys that were given (preset / --from / env / overrides).
  • explicit — given keys plus all mandatory keys (filled from defaults). Default.
  • all — every option valid for the version; optional examples emitted commented. Reproduces the full server.conf for that version.

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.1.0.tar.gz (23.9 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.1.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: odoo_config-0.1.0.tar.gz
  • Upload date:
  • Size: 23.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 adffba87810bbb744783bfabb7912356ac3ef56083bd1afe1e7175e1d8857f1e
MD5 9986e504e6085bbdec191bfbcaac49ca
BLAKE2b-256 80bc7e79f3e3b227545e56e47b1a96f74e826bd7205dd934794cbda5a3632839

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: odoo_config-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06979cd40eae33589c64a7ff22df029e0e3d9e685dc4f9fb06810b39a72e21dd
MD5 d14d3e9433e88db71e27c18b2299fee9
BLAKE2b-256 40023c811d560bab0952b6331624e03d45c80659abefd6f9c5f55e3f4c22aa22

See more details on using hashes here.

Provenance

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