Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

odoo-lint

Blazing fast Rust-native linter for Odoo modules. The CLI is called odl.

Installation

uv tool install odoo-linter   # or: pipx install odoo-linter
cargo install odoo-lint     # from crates.io

Usage

odl check path/to/addons            # target Odoo version from config, default 17.0
odl check . --version 18.0          # override the target version
odl check . --config odoo-lint.toml # use an explicit config file

Exit codes: 0 no violations, 1 violations found, 2 configuration error.

Rules

Code Description
ODOO001 Compute method referenced by compute= lacks @api.depends
ODOO010 __manifest__.py author does not match the configured author

Configuration

odl looks for odoo-lint.toml or a pyproject.toml with a [tool.odoo-lint] table, starting at the linted path and walking up.

[tool.odoo-lint]
target-version = "17.0"

[tool.odoo-lint.rules.manifest-author]
# Used when no pattern matches
default = "Odoo Community Association (OCA)"

# Company-specific overrides by module folder name. An exact name wins,
# otherwise the longest matching `prefix*` pattern.
[tool.odoo-lint.rules.manifest-author.mapping]
"mijnbedrijf_*" = "MijnBedrijf B.V."
"acme_*" = "Acme Corp"

In odoo-lint.toml the same keys live at the top level ([rules.manifest-author]).

Development

Rust builds the binary, maturin packages it as a wheel and uv manages the virtual environment.

uv sync --all-groups   # builds `odl` into .venv via maturin
uv run nox             # pre-commit, fmt, clippy, cargo tests, CLI tests
uv run nox -s clippy   # a single session

License

MIT

Metadata

Release files for odoo-linter 0.1.0a1

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-linter 0.1.0a1
File Size Uploaded
odoo_linter-0.1.0a1.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for odoo-linter 0.1.0a1
File Interpreter ABI Platform
odoo_linter-0.1.0a1-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details

Total release size: 1.3 MB

Release files / odoo_linter-0.1.0a1.tar.gz

Download URL odoo_linter-0.1.0a1.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a9f843b539ec525e0eed37f0b7987b4611f1204e2a4372af2d1aa279cb2a5d58
BLAKE2b-256 checksum
How to use checksums
5d3061f3a1914a4b42932193a71767bea7fa6ded2bd2c14ef27921ebf22f8eb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / odoo_linter-0.1.0a1-py3-none-manylinux_2_34_x86_64.whl

Download URL odoo_linter-0.1.0a1-py3-none-manylinux_2_34_x86_64.whl
Size 1.3 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
321da55ed98d8731b083297cff82b6b38586afda7812c074967bb7bea6dfcd32
BLAKE2b-256 checksum
How to use checksums
7109af5e6be311b32f65969ca90b150c1b634d0d3df6759103e7ad3841c85608
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
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