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.6.0.tar.gz (535.2 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.6.0-py3-none-win_arm64.whl (3.9 MB view details)

Uploaded Python 3Windows ARM64

arity-0.6.0-py3-none-win_amd64.whl (4.1 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

arity-0.6.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.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

arity-0.6.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.6.0.tar.gz.

File metadata

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

File hashes

Hashes for arity-0.6.0.tar.gz
Algorithm Hash digest
SHA256 7df993e053b70e13b207104d22a1bcd98203b1c06a60556d8018e0be1c8197f3
MD5 610c5017cedd162dab2c04e03c159c57
BLAKE2b-256 50a1fe2f3677d87cd93530f0fc5e3142dfa1e21d05b679727d3b09ccf30b2a89

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: arity-0.6.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 3.9 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.6.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 4f3d4f5e7c9757ea24751fcde6b797c69ba1e2db656d1d853f7a63d5767b42f8
MD5 1fc7c61b00f32f86b59d7ebd5764addc
BLAKE2b-256 7ceb8dd0c60fa90e623a7588ab85b70a9c354ccf5a398b408a9ac3293975d33c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: arity-0.6.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 4.1 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.6.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a7fc2ca434e1a924952c20f30a275c8a5f9e9fa6f148b07253adbdb7d34b59e5
MD5 96884e78eb1ef1f8ea85183f17cb7032
BLAKE2b-256 cda74fc38a2e16f8a8fc3dbde88dee2a33c0193d790ce9e80e5c066c6f57991e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: arity-0.6.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.6.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8c1942af641fefbd468d2340ed297cd5796f3b02b0cd2c30f96fc1087e4cc578
MD5 a4347d7a253f5e65aa6b9239da239291
BLAKE2b-256 19431552291fa1426c9501fea018d72bd7e0ddb74ebd31d7f65751294e35fdfa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for arity-0.6.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bdc55aca5c835da70bbe84684c50abb9281d2d7a4e02a6e93c8dc9e808b8dbcb
MD5 43b886750ffb0f63f2a27fc9613f2b3e
BLAKE2b-256 f543979114225d16017f3e722dabe283297de77689b7358a9dcb53bace0d78a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for arity-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47592499dd1da131f92987ea56bb974cc91b20e2435a5e591f0f64ccb6a487f3
MD5 efbc44da54d3a22eb2c3ba9c79aadfaa
BLAKE2b-256 aadeb1f89f3a7543b2b964f27b1c42c248336e8b768b168039b371d01bc64eff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for arity-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c33d0d87b50399456b9426c97c1e996f50a1ceef16258b86032f9520a04155b6
MD5 a823ada7f3efd6cc373a2f1c837135df
BLAKE2b-256 459b78d96d405a5b286ab42ba2143557bee47d3fb9adc99a3cd27aaee2d38da6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: arity-0.6.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.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5de5f8c0ec81347cfc9c64ffd12f71eb4556248c356b5c3fd461a7edb6ba152b
MD5 f328dd082fb75187fa8b39b2d195344d
BLAKE2b-256 939e699888841452e2743a6c138dfea3e802c5ceb39c3dfaabf5104b257ecb49

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for arity-0.6.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e46e082372686eda6787ceff26f1f1c01d9461a796df1da4804852718e3a0db5
MD5 82dd68a6f6282d3700fcebc6e2a239eb
BLAKE2b-256 4355b574abb34df266b7df9298c0392902f26466e3e27b38f68d03c824eb8371

See more details on using hashes here.

Provenance

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