Skip to main content

ruff-odoo

PyPI CI Docs

ruff-odoo is Vauxoo's fork of Ruff, shipping every upstream linter and formatter rule plus the OD and OAPP rule groups, ported from pylint-odoo and odoo-pre-commit-hooks.

This file covers what differs from upstream Ruff for anyone installing or building the fork: why it exists at all, the command name, the packaging, and the version scheme.

Why this exists

Vauxoo's Odoo checks used to live in pylint-odoo (a Pylint plugin) and odoo-pre-commit-hooks, running next to the autofixing tools already present in the pre-commit stack. Three problems pushed us to port those checks into Ruff instead, and none of them was something a patch to those projects could have fixed.

Autofixes corrupted each other. Every tool rewrote the file on its own, with no idea of what the others had done to it. A fix applied by one hook routinely invalidated a fix another hook had just applied, or uncovered a violation that only became reachable after the first rewrite. So the run ended dirty, the command had to be run a second time, and that run pulled in yet another fix. Getting a repository to a fixed point — a run that proposes no changes — commonly took three or four passes of the same command. That is confusing on a developer machine and simply broken in CI, where there is one run and a dirty tree is a failure.

Ruff does that iteration internally: it lints, applies every non-overlapping fix, re-parses the result, and repeats until the file stops changing, discarding any fix that would have introduced a syntax error. One invocation, one stable file.

Pylint has no autofixes. Pylint only reports. Any check we also wanted fixed automatically had to be written twice — once as a Pylint checker that reports it and once as a separate fixer that rewrites it — with two sets of tests, two notions of what the pattern is, and no guarantee the two stayed in agreement as they were maintained. In Ruff a fix is attached to the diagnostic that produced it, so the rule that finds a problem is the same code that repairs it, and its fixture covers both.

Speed, which mattered more than anything else. A linter is only run as often as it is cheap to run. Pylint infers types through astroid, and a stack of separate hooks pays for a process start and a fresh parse of every file per tool. Ruff parses each file once, in Rust, in parallel across cores, and caches unchanged files between runs — fast enough to run on save and on every commit rather than only in CI, which is what makes the rules actually shape the code being written instead of being discovered at review time.

Why a fork, and not a separate repository

The obvious alternative was to keep the Odoo rules in their own project and just depend on Ruff. It does not work, for reasons that are structural rather than incidental:

  • Ruff has no plugin system. Rules are compiled into the binary; there is no dynamic loading, no stable ABI, and no "register a rule" entry point to call from the outside. That is a deliberate design choice upstream — it is part of why a single static binary can dispatch rules with no per-rule overhead — not a gap waiting to be filled.
  • A rule is not self-contained. Adding one touches files that upstream owns: the code-to-rule map in codes.rs, the linter enum in registry.rs, the dispatch inside the AST visitor in checkers/ast/analyze/, the settings struct behind lint.odoo, and the generated JSON schema and docs. There is no seam an external crate could attach to.
  • The internal crates are not a public API. ruff_linter describes itself as "an internal component crate of Ruff": it is versioned with the binary and refactored freely. A separate project built on it would break on close to every upstream release, which is a worse maintenance burden than a rebase.
  • A second tool would recreate the original problem. Even with all of the above solved, shipping the Odoo rules as a second binary means a second process, a second parse, a second fix pass over the same file, a second configuration file, and a second suppression syntax. The whole point is that the Odoo rules run in the same pass as everything else: one command, one AST, one --fix, one # noqa, one cache, one pyproject.toml.

The cost of this choice is having to rebase onto upstream Ruff, and that is accepted knowingly. The fork is arranged to keep that cost low: the Odoo rules live in their own directory, upstream files are touched as little as possible, and the ruff crate and its binary are left untouched behind a thin wrapper crate.

The ruff-odoo command

The published command is ruff-odoo, not ruff. It is the exact same CLI, only under a name that cannot collide with an upstream ruff installation, so both can live in the same environment:

$ ruff-odoo check   # Lint all files in the current directory.
$ ruff-odoo format  # Format all files in the current directory.

The Python module is ruff_odoo, so the CLI is also reachable without the console script:

$ python -m ruff_odoo check

Installation

The package is published to PyPI as ruff-odoo. It is not distributed through Homebrew, conda, Docker, or the standalone astral.sh installers — those channels ship upstream Ruff only.

$ # Run it without installing.
$ uvx ruff-odoo check

$ # Install it globally.
$ uv tool install ruff-odoo@latest

$ # Or add it to your project.
$ uv add --dev ruff-odoo

$ # With pip.
$ pip install ruff-odoo

Installing ruff-odoo alongside the upstream ruff package is supported, even in the same environment: ruff-odoo owns the ruff-odoo entry point and never touches ruff.

pre-commit

Use the mirror repository, which installs the prebuilt wheels:

repos:
  - repo: https://github.com/vauxoo/ruff-pre-commit
    # Use the latest release tag; see the version scheme below.
    rev: 0.16.3.28
    hooks:
      - id: ruff-check
      - id: ruff-format

The hook ids match astral-sh/ruff-pre-commit, so switching between upstream and this fork means changing only repo and rev.

This repository also defines the hooks directly (see .pre-commit-hooks.yaml), but pointing repo at it builds Ruff from source with maturin on every environment creation, which is slow and requires a Rust toolchain. Prefer the mirror.

Version scheme

Fork releases use four components, x.y.z.w:

  • x.y.z is the upstream Ruff release this fork is based on (for example 0.16.2).
  • w counts the fork's own releases, independently of that upstream base.

So 0.16.2.4 is the fourth Vauxoo release, built on upstream Ruff 0.16.2. When the fork is synced onto a newer upstream, x.y.z follows it and w carries over untouched: syncing 0.16.2.4 onto upstream 0.16.3 gives 0.16.3.4, and the next release is 0.16.3.5. The counter never restarts, so a fork version is never reused and never goes backwards.

The version lives in [project] version of the root pyproject.toml and is bumped by bump2version (see .bumpversion.cfg), which also creates the release tag. Tags are the bare version with no prefix (0.16.2.4, not v0.16.2.4); pushing one triggers the PyPI release workflow. Because every fork tag has four components, it can never be confused with one of upstream's three-component tags.

Cargo cannot express a four-component version, so crates/ruff_odoo/Cargo.toml keeps the three-component x.y.z and crates/ruff/build.rs reads the real version out of pyproject.toml at build time, exposing it as RUFF_ODOO_VERSION. A build made outside a checkout of this repository falls back to the Cargo version.

Reporting the version

--version prints the bare version and nothing else:

$ ruff-odoo --version
ruff-odoo 0.16.3.28

It stays bare on purpose: tools that shell out to the binary (ruff-lsp, for one) parse that output as a PEP 440 version and fail on anything appended to it.

The version subcommand is the verbose one. It adds the number of commits since the release tag and the commit the binary was built from:

$ ruff-odoo version
ruff-odoo 0.16.3.28+3 (b45cfcb38 2026-08-15)

The leading name is the binary that was actually invoked, so a locally built ruff dev binary introduces itself as ruff. A release build sitting exactly on its tag has no +N suffix.

For machine-readable output, ask for JSON:

$ ruff-odoo version --output-format json
{
  "version": "0.16.3.28",
  "commit_info": {
    "short_commit_hash": "b45cfcb38",
    "commit_hash": "b45cfcb38d111d9f446b195125290a19e4cf8a4e",
    "commit_date": "2026-08-15",
    "last_tag": "0.16.3.28",
    "commits_since_last_tag": 3
  }
}

Building from source

The ruff-odoo binary is a thin wrapper crate (crates/ruff_odoo) around the untouched upstream ruff crate; the only differences are the displayed command name and the error prefix. Keeping the ruff crate and its binary unmodified is what keeps rebases onto upstream cheap.

Both binaries build from this checkout, and either one is fine for development:

cargo run --bin ruff-odoo -- check path/to/file.py
cargo run --bin ruff -- check path/to/file.py

See AGENTS.md for the full development workflow, and CONTRIBUTING.md for upstream's.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruff_odoo-0.16.3.28.tar.gz (5.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ruff_odoo-0.16.3.28-py3-none-win_arm64.whl (11.7 MB view details)

Uploaded Python 3Windows ARM64

ruff_odoo-0.16.3.28-py3-none-win_amd64.whl (11.6 MB view details)

Uploaded Python 3Windows x86-64

ruff_odoo-0.16.3.28-py3-none-win32.whl (11.2 MB view details)

Uploaded Python 3Windows x86

ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_x86_64.whl (11.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_i686.whl (11.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_armv7l.whl (11.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_aarch64.whl (11.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff_odoo-0.16.3.28-py3-none-manylinux_2_31_riscv64.whl (11.9 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (11.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (11.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff_odoo-0.16.3.28-py3-none-macosx_11_0_arm64.whl (10.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff_odoo-0.16.3.28-py3-none-macosx_10_12_x86_64.whl (11.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff_odoo-0.16.3.28-py3-none-linux_armv6l.whl (11.2 MB view details)

Uploaded Python 3

File details

Details for the file ruff_odoo-0.16.3.28.tar.gz.

File metadata

  • Download URL: ruff_odoo-0.16.3.28.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28.tar.gz
Algorithm Hash digest
SHA256 344ffb31151b0a1a864e230517bd06949abad3a688a40900c95511b287699c62
MD5 48c0beb7f9c25a0f462043660587ef38
BLAKE2b-256 508736fbfac3dce13f4b93465e63f5b4c58885fef78686eb702c174c7b7acd2a

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-win_arm64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-win_arm64.whl
  • Upload date:
  • Size: 11.7 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 41a707e0a220aba0a47f99d053fe1880a71bee58df3e522d316730e4482711d4
MD5 2fc8e603adac26cd5bb413329f2872bb
BLAKE2b-256 569b95e6e00d00397d4589f172165999f0e097b9ad5c3c1a69a35f6783f40f88

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-win_amd64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-win_amd64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 20af9c2f0c912881b7049c7f15c1028adffaabc74f977d49f7949f3a9c721bae
MD5 400da534f32ae3b02a03868d04bfb946
BLAKE2b-256 139418ffe241d0513c787642bbd72c14d6c16169a8d1301a1a2695bc5383ebc5

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-win32.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-win32.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-win32.whl
Algorithm Hash digest
SHA256 d16fab4009904817fcbb5c2665addd14331f79478b39871a5f766023ce3d6bd3
MD5 05e5acf966047da882427730cdaaba8e
BLAKE2b-256 4a1ddd3068e90f18635123fb361aa3a897960d952983939b7feb25617f7b34e1

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3b0c1dc16a323da64a5b5332fd326cbd811ac6c5fd1fb00349ca3fd9fb8cfbdb
MD5 08d00543b47700797cbf5a6de91e69a8
BLAKE2b-256 db0c7eb6d3cc5817f27f5475ae465e4b40e22a586bac8a860ab28c1a785f531f

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_i686.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 010b4438e2109cf062cce1294b89a05ce7aed0baafcfcf4828c87665771b7a44
MD5 dd91fcc9856e694bdecc72490d19d610
BLAKE2b-256 ad542e1f434f338929f4b9c2d2b952c5188a6905f09ca1a727b5914a4757c45b

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 d7c0c78dd0c276149c1e92f8e4160607704292347936d26e87f67a2958223eec
MD5 57ea13984e600cbe1b098ac80fc79195
BLAKE2b-256 a1406953442275eb0ef06d49c7fe72718874055028f19057e5529a54535a0bca

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4bb61d9aa84f9fad81f5e556297a862b57ff82317f787c9a8ec4e639c5c0b4ca
MD5 ccce36d519858cfbca9b56ba378eccb6
BLAKE2b-256 284c3ccd602f2c947a81234b7a603164230550f999b7d4ef44662e0bf7d12ceb

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_31_riscv64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_31_riscv64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: Python 3, manylinux: glibc 2.31+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 4d1d3f3d2ddef7fe27e87b8cf485c0a89ae590c07068bdaf3eb600382f0bc77e
MD5 0782fd54d76689a5bfe5b001b3528eae
BLAKE2b-256 4abfcae20386f9c6a53b5c1d7ef7b6d4188cda0f3bbe3d1d4e2bdb3e773bc3f7

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60b076ab778a9dd28ba8e923325b7ee456825ed3981a34c19fde4eb24af05392
MD5 d0a3a5de08538a204a1b94ed05301fea
BLAKE2b-256 630f382049e16f21620f0f3ae9056ac0c64d295272e2de929015b4682179a5f4

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 12.0 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d39a2569dfcca937d502d2822279261bc8c2f5c74b60dd599cba5cb2e757b103
MD5 d46e53ae14a204e7c8c7041a64c71826
BLAKE2b-256 b6ecceff8df4745220289762073e16e0e7fc8326ccb768f955701e7afbd61cd0

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2cc5908587d39f06aea1036f02279adb823228a52440d926a004ce4574f4d300
MD5 35345fa1bb1452e90dc3ffd44a56c998
BLAKE2b-256 d687a5f3654c83bd693828ffaafa344bd2790234bd859b7436a7a22c3cc05325

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 11.7 MB
  • Tags: Python 3, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8818bfa935182a103c7ff47e41317c68bfbc345a7767701314dd42198f92ad03
MD5 329860d37309fc44794abf90bb939b39
BLAKE2b-256 34c4558f98dc7b1c0028ed96fb3f8e797aad68168aefed16a1d2f3612a4515a8

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3f230af88f958292222ba900ddffaa9023724db2707149668350a4d31aa24338
MD5 9fde28a254c25618789763856cb8351f
BLAKE2b-256 12e58809f2be06742e34ff92c1334e28ccd5146084abb27e683185c39cb959b6

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 74a4cb2d8cb788515b097a400d7022ac4cf66431b20b619ca055df019a46bb2b
MD5 820f63fa8c782a2109d96608a20b4c89
BLAKE2b-256 dd8ded25ccbf1059c0d818b4010e1599d42557c6287124b3b4e343150a35dc92

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 940f9bc1a034b880c342650e7fe63a8f379ca52703ee37abf02476c1f45be2fb
MD5 a787b019ed23d9e041646b2dbf351897
BLAKE2b-256 10d5589668de25e975c50b9685dc33008256037f8d9770d6d4388ec62960f066

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.4 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 91856d2bd0a4700ef98c97bae5498212faced122b5f7a01ffa846c0439c7383c
MD5 d15174e1e572576ce329a596b38b74ee
BLAKE2b-256 3ae9f3307bcec5b55b8b7259eac931d309921d4c0cba05236bda78ae0d101b35

See more details on using hashes here.

File details

Details for the file ruff_odoo-0.16.3.28-py3-none-linux_armv6l.whl.

File metadata

  • Download URL: ruff_odoo-0.16.3.28-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff_odoo-0.16.3.28-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 5951d8f82d4990ee2935de2757714bbf744f4e91fea77933833b709bf5873fae
MD5 4bdf66b13838a29678c4051eb88709fb
BLAKE2b-256 9088c152c8bd3a566ee4815a96e20f192b6eb8d97821ece5f33b9da35a10a37f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.16.3.34

18 files

0.16.3.33

18 files

0.16.3.32

18 files

0.16.3.31

18 files

0.16.3.30

18 files

0.16.3.29

18 files

This release

0.16.3.28 This release

18 files

0.16.3.27

18 files

0.16.3.26

18 files

0.16.3.25

18 files

0.16.3.24

18 files

0.16.3.23

18 files

0.16.3.22

18 files

0.16.3.21

18 files

0.16.3.20

18 files

0.16.2.17

18 files

0.16.2.16

18 files

0.16.2.15

18 files

0.16.2.14

18 files

0.16.2.13

18 files

0.16.2.12

18 files

0.16.2.11

18 files

0.16.2.10

18 files

0.16.2.9

18 files

0.16.2.8

18 files

0.16.2.7

18 files

0.16.2.6

18 files

0.16.2.5

18 files

0.16.2.4

18 files

0.16.2.3

18 files

0.16.2.2

18 files

0.16.2.1

3 files

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