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.30
    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.30

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.30+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.30",
  "commit_info": {
    "short_commit_hash": "b45cfcb38",
    "commit_hash": "b45cfcb38d111d9f446b195125290a19e4cf8a4e",
    "commit_date": "2026-08-15",
    "last_tag": "0.16.3.30",
    "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.30.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.30-py3-none-win_arm64.whl (11.7 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

ruff_odoo-0.16.3.30-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.30-py3-none-musllinux_1_2_i686.whl (11.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff_odoo-0.16.3.30-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.30-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.30-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.30-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.30-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.30-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.30-py3-none-macosx_11_0_arm64.whl (10.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff_odoo-0.16.3.30-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.30-py3-none-linux_armv6l.whl (11.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30.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.30.tar.gz
Algorithm Hash digest
SHA256 dfa8caae637c17c69856d64f4d7d32fa02f06f383ad2ccfb076bd47681fdda67
MD5 f68fed6eaeb4201256af09f4eb757f30
BLAKE2b-256 0581fb5228992fa7814c82d54d5b89b71b9d821f8c6a0492d92e4ba1aff2548a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 0f56455b5b95a17ad96b4a84697a2cdcfb10100b4679d986293736410d76a5a0
MD5 505720d1db33e35a41968ea1f4299af8
BLAKE2b-256 cc9f6cb08a36b5d1b8093ba0f855984d608e784c9e37d75bf24cb85cee4908a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1c106d119aafbb9e5250eae2eaf65cfe532f03df719d6aa4034517b859d5ec52
MD5 64ba811192e6379d9f7bb52510059383
BLAKE2b-256 a0e9554414a93e0859083fe3eaf8fc7f5f2b72659b463e6baf56f007a6a051fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-win32.whl
Algorithm Hash digest
SHA256 d45b35d36739de93f02508c6c3b0893b46d74c88ef8eae6f36b677e34d849783
MD5 1483b5934b9c1c0faa2649e245980afe
BLAKE2b-256 8f837d0031e946efe05775c3207a083b735868a373780e0d7c393e78501568b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a98ba11ef1ba891d316f87a8acf4d04637b122c219d25874955782a5c546e9cb
MD5 5f61fe3ca5f84778d34492d5d1ff45f9
BLAKE2b-256 2a1ef70a39eb20a8e95884ece0b288b634e1dc964bb6ea91cb30bcfc8cd1ea7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 11.4 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.30-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 47f1cd320da5848da2f86bc27a40114711faed99c0298deb99e8d009165a0ae6
MD5 f262c171598468e9903b3f614ae5c8b7
BLAKE2b-256 d48680020b1556b24fc58c3a7bb3de85a8acad2d4c0a7e4fe43c4e554af466cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 c081a8a77481d8161b7dca1a561186e9482775c09a5cdeafc0244b1b19cf1444
MD5 0fde440c338fdd480db71efd031198be
BLAKE2b-256 5ce0dc5a4457330e01191f2a37ef513733e5de707be295565bbf1af288954fff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cfada13f5bc7f58f4c7f71a10b5ad60981456fc347f3887ddb7b9a9108f1ebe9
MD5 6ba24b23e82512d7d546c9eb3991c1d8
BLAKE2b-256 b7936134308378ea3d78f2a720cb08527565dab75d46dfe632b1fe38fa2eb1bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 08ca7b1f7fb1e724e0fae50a305836e80ae4b8ff757a56ebd4e563afe4cc91be
MD5 7a87b39375a8f8bb10de064b5d3cd5ca
BLAKE2b-256 df7c058eacaf15fdfdb3f8753b9d3da86bf31c7fc2b91b148d620066509d099d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 364ef54733885df46e142ed4a8f691b901dbdd77e98f6948160264140c8ae4b1
MD5 744b9f209a65784e5fe9fb06bb8b4a40
BLAKE2b-256 46cbe4ebde0cd12cd3f0b522376f0397edfd5de7345fb6701420dc6f382bd0ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2cf50b18f0ec8c99be1706db8bfcb36fd03b6d9eaf752d2ef8fe3e7192cc385c
MD5 9adf7299024a81b0d69962828fda36ff
BLAKE2b-256 2ba8c864ae98a3ff7d04d570d78ce8afce5900ddfa9b71cb74c8cdc6b20eb589

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ec6197c30c630086691edec040c9d5925f162e00517623b5176c1c0b494073da
MD5 2f026cbb864a922b929a5cb4cd9ae10a
BLAKE2b-256 bf84a09f74e16f535ff1c02c55eb55b355199b2d5834f9ab9c7b15738af0153b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eb5021f0a4ca7bb4e237bc1a2477fe8265f8065120dbec269811d54948a4f266
MD5 a0e2cbf2e6a0c553254899bfb901bcea
BLAKE2b-256 f59ba86d18b8d839c872d5e6e869d73e8806a122e0894f172ff66c0ddcf597a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fd15e5ae0135dbd1b0d7e9866d60ceeb727b2aab573e3ab329f6aefb2a96d836
MD5 dd5a5af82ba4b1bb3682a241740a1c46
BLAKE2b-256 ce45abe5d1de335d19d1604efd88b439b7d500fd05099cf918955414951b1f70

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 199cdf6d9e8d4c0cd3b9157fa270c95209c43785c2babf85ff056c6a9eb26ba4
MD5 9b426b5b38d2ca7f4352f4ba14463fb5
BLAKE2b-256 76bc7bc9b69b8f9f8d2f236d86b1d564bcdb6b3557180623f011a77405d6ed6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1570577c32dd008871e395bee3a475540a7a86c9aec97d14e2763edbe2f4303a
MD5 bf643f387e402a4365daea3f076bd53a
BLAKE2b-256 927097ef5f82f385ba6266170f700c42f1e12e799781ac7f1c0f58514452e80e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f36a7c0c6f1ef01a52f8c94fb0abbfa54c5acb87a0b64de4bcc5e2a390ade7f9
MD5 a92df4f65d0dbee4dce02c36ef912d13
BLAKE2b-256 5e9003a3df3d5f816878638761d85523c8926226879bccd2d575a742b598a51b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff_odoo-0.16.3.30-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.30-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 848c8065e0b334efc3e79dcae60d738bed873768c3b5755c7b62290f957fa288
MD5 f864820c45fb04ae14144c733a38b0e1
BLAKE2b-256 bc9d64ea6f21fa8e4614c56c2e87d22f2444e0f43fe9660bf9cd087a86e7e1ad

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

This release

0.16.3.30 This release

18 files

0.16.3.29

18 files

0.16.3.28

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