Skip to main content

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 12.0–20.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,20.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.

Metadata

Release files for odoo-config 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for odoo-config 0.6.0
File Size Uploaded Provenance Actions
odoo_config-0.6.0.tar.gz 28.1 kB With provenance Details for odoo_config-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for odoo-config 0.6.0
File Interpreter ABI Platform Actions
odoo_config-0.6.0-py3-none-any.whl Python 3 none any Details for odoo_config-0.6.0-py3-none-any.whl

Total release size: 57.2 kB

Release files / odoo_config-0.6.0.tar.gz

Download URL odoo_config-0.6.0.tar.gz
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
250268bad7a1e2cfa1f01acafdba89313e950d2aac7e7745f230e05cc6aee737
BLAKE2b-256 checksum
How to use checksums
ad022c01510f3559e75263d07857011d20a42574da4fe267fb56244bd6781eb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / odoo_config-0.6.0-py3-none-any.whl

Download URL odoo_config-0.6.0-py3-none-any.whl
Size 29.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d5bc1cd313420698288004c51eaab485c087fbb746953f7a1af62caceccec479
BLAKE2b-256 checksum
How to use checksums
2acf4f659f6c652f7548d72a8d8defbdc3ee99ca9ec645392506758229236bac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for odoo-config 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for odoo_config-0.6.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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