Skip to main content

A language server, formatter, and linter for R

Project description

Arity

Build and Test Crates.io License: MIT

Arity is a language server, formatter, and linter for the R programming language, built in Rust on a lossless, incremental parser. It provides a fast, deterministic development experience that integrates with popular code editors and IDEs.

  • Formatter: deterministic, rule-based formatting toward the tidyverse style guide, with idempotent output and roxygen support.
  • Linter: a growing set of correctness, readability, and performance rules, many with safe autofixes.
  • Language server: formatting, diagnostics with quick fixes, hover, completion, signature help, go-to-definition and references, rename, document and workspace symbols, semantic tokens, folding, and call hierarchy.

Runs on Linux, macOS, and Windows (x86_64 and arm64).

Installation

Arity is available from several sources:

  • crates.io: cargo install arity
  • npm: npm install -g arity-cli (bundles a prebuilt binary)
  • PyPI: uv tool install arity/pipx install arity
  • Prebuilt binaries: from the releases page
  • VS Code/Open VSX: the Arity extension (also works in Positron)

From npm

Install with npx or npm:

# One-shot run, no install:
npx arity-cli format file.R

# Persistent install:
npm install -g arity-cli

The package detects your platform at install time and pulls in a prebuilt binary via npm's optional dependencies; no Rust toolchain required.

From crates.io

If you have Rust installed:

cargo install arity

Formatter

To format your code, you can use:

  • arity format [file]
  • arity format --verify [file]
  • arity format --check <path> [<path> ...]

Linter

To lint your code, you can use:

  • arity lint <path> [<path> ...]

arity lint reads from stdin when given no paths, and exits non-zero when it reports any findings.

Configuration

Arity reads an optional arity.toml, discovered by walking up from each file's directory to the repository root. Run arity init to scaffold a commented starter file. See the configuration reference for every key.

Editor integration

arity lsp starts a stdio-based language server offering formatting, diagnostics with quick fixes, hover, completion, signature help, go-to-definition and references, rename, document and workspace symbols, semantic tokens, folding, and call hierarchy.

The Arity extension for VS Code/Open VSX (and Positron) bundles the binary and starts the server automatically. For Neovim, Helix, and other editors, see the editor setup guide.

Documentation

Full documentation lives at arity.cc:

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

arity-0.8.0.tar.gz (697.6 kB view details)

Uploaded Source

Built Distributions

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

arity-0.8.0-py3-none-win_arm64.whl (4.0 MB view details)

Uploaded Python 3Windows ARM64

arity-0.8.0-py3-none-win_amd64.whl (4.2 MB view details)

Uploaded Python 3Windows x86-64

arity-0.8.0-py3-none-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

arity-0.8.0-py3-none-musllinux_1_2_aarch64.whl (4.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

arity-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

arity-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

arity-0.8.0-py3-none-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

arity-0.8.0-py3-none-macosx_10_12_x86_64.whl (4.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file arity-0.8.0.tar.gz.

File metadata

  • Download URL: arity-0.8.0.tar.gz
  • Upload date:
  • Size: 697.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arity-0.8.0.tar.gz
Algorithm Hash digest
SHA256 8abd8213a5d56aad424eb114bcfbdca1fe7f23e3e5126d0077c09f469e73aa6e
MD5 3ef9d7e0bb4a1bc6871f63d86aa2fb31
BLAKE2b-256 665f355233c8647056934df37fa132a4e0ad674ef7fd6fc54c8ee31071930951

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0.tar.gz:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: arity-0.8.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arity-0.8.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e2dd7260e255b0ba99e900e0fc8e4ce8935cd94f829fbe5ee90bc00fb81385fc
MD5 f3c5c9e2a33322241a098cd3f5853be1
BLAKE2b-256 f1f0181b804dc2bc111db4a5051f177c8fbd0dc6f2ebd3d503a84d581d46301a

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-win_arm64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: arity-0.8.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arity-0.8.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1a353ee496b1eeccd960cc49212137780e10fac8f08faa983c9f01719b90b98b
MD5 85b01f78a8ecf603de11a7b74c8846fc
BLAKE2b-256 9212fb84dd361375ae3b4896c32d13623827f23df14832bb59464bffc0c11ee1

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-win_amd64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for arity-0.8.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 43690469171a377b251c428508a7f9abd0e6358ecc2e5671613156d2b14afe83
MD5 bb72fa765085f585878c7cc6777272ee
BLAKE2b-256 b811644c6f77aef8c54e5d7e6e8a37168be9e9145df73e3e2ec5000a6f3fede6

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for arity-0.8.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c9d5cdcd1ea77d0ac16fc48225f764ee97b08f2930e409bf5954aeeef6201684
MD5 a025bab35260de4860926eed3d48bf8b
BLAKE2b-256 32d809a47d41861a4392c4fa2d66f904ec0593741211b37defd03f32eb13557a

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arity-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b8faea8ba6ad6411701adccd4f65d183fecd297812255396e4612d633682562
MD5 6704b1bed806a7d742a166cf924ebabf
BLAKE2b-256 297543d64d8ab9d69c16dceac5b72b95a5e2fce5167dc4decfec9a16037269d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for arity-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 106f6017a9d543e2231c53dd8b633f7c4999c651daf1a12fd5de9693d8e134a5
MD5 1bf8c993d823ad5995e27e3df0f5d581
BLAKE2b-256 abb9fdbc27856e522892b79c80f518450c5459458962bb97b2a313d685d18d2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: arity-0.8.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arity-0.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f23e87173c508e4b137693913023f5adaa2749752cdbc012f03615c03ee78241
MD5 14a5cdf4b84a8632b5087f982a403d25
BLAKE2b-256 5a9916540b5dcf92118879fd5f317816a271a8140cd9feedd594e41cc99c45d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on jolars/arity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arity-0.8.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arity-0.8.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f4b8fad13c991908cf75125578dfff89b54904b12fb65219b02e429f707ba52
MD5 c0854029b3ec63ce427ce5d405ef3a01
BLAKE2b-256 3a308363c280e2764b94a663dd91bd8c1ca6849723c9bb14b0d6aa2eee814e35

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.8.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on jolars/arity

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