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.7.0.tar.gz (582.8 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.7.0-py3-none-win_arm64.whl (4.0 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

arity-0.7.0-py3-none-musllinux_1_2_aarch64.whl (4.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

arity-0.7.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.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

arity-0.7.0-py3-none-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

arity-0.7.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.7.0.tar.gz.

File metadata

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

File hashes

Hashes for arity-0.7.0.tar.gz
Algorithm Hash digest
SHA256 fecaea570ae014dea05a97019e632311d2c6f967487268223532126545557d39
MD5 51557e62ce8a372231e5142c88fefdd8
BLAKE2b-256 808b8de0ed7bcd97d2aced249cbbfb899875b5e5bd5db2ac9b781dafec792fea

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-win_arm64.whl.

File metadata

  • Download URL: arity-0.7.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.7.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 887bb564729f744b1bd9ad3a1f26b4aefd634ed492851c06f31953ec33290c8b
MD5 c7acf74b7c46c583f95bf597fc8c3fff
BLAKE2b-256 6cab3d09e1738d1e615441d89cea17f39fffaa181cde9f260c1dee41787a33ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: arity-0.7.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.7.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bdccf72730683c156f382c52ef1236fe13a4ca93e52987378df7f04852c69414
MD5 f3afda1dc3db95e31e545240b973609e
BLAKE2b-256 0770274940bf25f8d7133f3aaf25a38b83f8e058ef8236442a593ad5477e84c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: arity-0.7.0-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for arity-0.7.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 549550a5a9fd67008de9892f815474d9a1afd43f0ed91807331217e5ee6d56f7
MD5 367ab200d20f5470eaa7201ed5b5bb1f
BLAKE2b-256 4169c0a5864b72cf3f4aa7e68bb2816091a4e24ee900a38bca1d56313c787953

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for arity-0.7.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 de03a68235b02e11e6cb7d266b8bf70625ae31e38663d625341407e1d0fee6fc
MD5 cdc4f4f4f7c805b6198c1be61b69865c
BLAKE2b-256 49b03936d0377111118e600c59338bf3f22faf6f49f42d975b54fd632aa32335

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arity-0.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df7fdc93876001c71b6d7c30422c13e25516a98000ced5fe046de8a9fe3f5b19
MD5 20faff01d69e4bf486f66a8ab68d3f1a
BLAKE2b-256 d549e0d67245baa293c6ca00b1d47ea288e9490e229ebef09a12e0c4c9ab0407

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for arity-0.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3f01777d587c3fa1c81d81ef9df8327ade49df523ddaeea6d50fa31ef7df8fa8
MD5 4e3ac93b6b8b7585745117261bebc9a7
BLAKE2b-256 4f703129da36ce295f1e5d90d6f307709fa6b03d65872d92fe16adbe1a519d73

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: arity-0.7.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.9 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.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b23f70a0c1098362715834b4175fe2e15d8f97d05308fd46f56f39432f67a95
MD5 0429ff1f6830eec66dd3bbfb8328797d
BLAKE2b-256 87b00bfd807e84142944703ce71979a89a9ca1dd94f24ecd91f31041ea2834dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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.7.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for arity-0.7.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bc652b8ed9cdbbde64026926ac024a0d0f24b69950f14d33671806800161b918
MD5 2bab64001e330670a41a2bd768e595ec
BLAKE2b-256 a066453bce5a77e25905ae632d6a3e818b7594230d23fb2bafd3a1138b09911e

See more details on using hashes here.

Provenance

The following attestation bundles were made for arity-0.7.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