# Ruff

> An extremely fast Python linter and code formatter, written in Rust.

Ruff is an extremely fast Python linter and code formatter, written in Rust.
It can be used to replace Flake8 (plus dozens of plugins), Black, isort, pydocstyle,
pyupgrade, autoflake, and more, all while executing tens or hundreds of times faster
than any individual tool.

Ruff includes both a linter (`ruff check`) and a formatter (`ruff format`).

When fetching documentation, use explicit `index.md` paths for directories, e.g.,
`https://docs.astral.sh/ruff/editors/index.md`. This returns clean markdown instead
of rendered HTML with JS/CSS.


## Concepts

- [Preview](https://docs.astral.sh/ruff/preview/index.md)
- [Versioning](https://docs.astral.sh/ruff/versioning/index.md)

## Configuration

- [Configuring Ruff](https://docs.astral.sh/ruff/configuration/index.md)

## Editors

- [Editor Integration](https://docs.astral.sh/ruff/editors/index.md)
- [Features](https://docs.astral.sh/ruff/editors/features/index.md)
- [Migrating from ruff-lsp](https://docs.astral.sh/ruff/editors/migration/index.md)
- [Settings](https://docs.astral.sh/ruff/editors/settings/index.md)
- [Setup](https://docs.astral.sh/ruff/editors/setup/index.md)

## Formatter

- [The Ruff Formatter](https://docs.astral.sh/ruff/formatter/index.md)
- [Known Deviations from Black](https://docs.astral.sh/ruff/formatter/black/index.md)

## Getting started

- [Installing Ruff](https://docs.astral.sh/ruff/installation/index.md)
- [Tutorial](https://docs.astral.sh/ruff/tutorial/index.md)

## Integrations

- [Integrations](https://docs.astral.sh/ruff/integrations/index.md)

## Linter

- [The Ruff Linter](https://docs.astral.sh/ruff/linter/index.md)

## Reference

- [FAQ](https://docs.astral.sh/ruff/faq/index.md)
