Skip to main content

Fatou

Build and Test Crates.io Open VSX VS Code PyPI version npm version

Fatou is a language server, formatter, and linter for Julia that never has to run Julia itself. It bundles three tools in one:

  • Formatter (fatou format): fast, deterministic, and opinionated
  • Linter (fatou lint): configurable, with auto-fix support for many rules
  • Language server (fatou lsp): both of the above, plus IDE features like completion, hover, go-to-definition, and more

Fatou is fast, safe, and easy to embed in editors and tooling. The architecture follows rust-analyzer: a lossless rowan syntax tree that reconstructs the input byte-for-byte, salsa for incremental recomputation, and lsp-server for the language-server transport. It is named after the French mathematician Pierre Fatou, whose Fatou set is the complement of the Julia set.

Installation

Fatou is available from several sources:

  • crates.io: cargo install fatou
  • Homebrew: brew install jolars/tap/fatou
  • npm: npm install -g fatou-cli (bundles a prebuilt binary)
  • PyPI: uv tool install fatou/pipx install fatou
  • AUR (Arch Linux): paru -S fatou-bin (or any other AUR helper)
  • NixOS: the fatou package is available in the Nixpkgs repository
  • Prebuilt binaries: from the releases page
  • VS Code/Open VSX: the Fatou extension (Marketplace, Open VSX); also works in Positron

Install Script

If you prefer a one-liner installer that picks the right release artifact for your platform, you can use the installer scripts below, which download the latest matching Fatou release for your platform, installing to a user-local directory by default. If you prefer, download and inspect the script before running it.

For macOS and Linux:

curl --proto '=https' --tlsv1.2 -sSf https://fatou.dev/install | sh

For Windows PowerShell:

powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://fatou.dev/install.ps1 | iex"

Usage

# Format in place
fatou format file.jl

# Verify formatting without writing
fatou format --check src/

# Lint (exits non-zero if there are any findings)
fatou lint src/

# Fix lint findings in place
fatou lint --fix file.jl

Configuration lives in fatou.toml: [format] sets line and indent widths, [lint] selects or ignores rules. Fatou walks up from the file's directory to find one, stopping at the repository root, then falls back to $FATOU_CONFIG and to a global user config at ~/.config/fatou/fatou.toml.

Editor Integration

The language server (fatou lsp) runs over stdio and provides a broad set of features:

  • formatting (whole-document and range),
  • linting (push and pull),
  • completion (including the REPL's LaTeX and emoji input sequences), hover,
  • go-to-definition, -find references,
  • document highlights,
  • rename (of symbols, and of files and folders),
  • document and workspace symbols,
  • call and type hierarchy,
  • signature help,
  • code actions,
  • folding and selection ranges,
  • document links, and
  • semantic tokens.

Static docstrings participate in those features: decoded local and indexed documentation renders as Markdown, headings appear in the outline and fold as sections, external and internal Markdown links navigate, explicit Documenter @ref targets complete and jump to definitions, and Julia-declared fences get completion, hover, signature help, definition, selection, folding, and semantic highlighting.

The Fatou extension for VS Code and Open VSX (Marketplace, Open VSX) bundles the binary and starts the server automatically; it also works in Positron. See editors/code for the extension, or the editor setup guide for Neovim and other editors.

Integrations

Run format and lint checks in GitHub Actions with fatou-action, which installs a prebuilt, checksum- and provenance-verified binary:

- uses: jolars/fatou-action@v1

Or as pre-commit hooks with fatou-pre-commit:

repos:
  - repo: https://github.com/jolars/fatou-pre-commit
    # fatou version
    rev: v0.7.0
    hooks:
      - id: fatou-lint
      - id: fatou-format

Library Crates

The parser and formatter are published as standalone, wasm-compatible crates for embedding in other tools:

  • fatou-parser: lossless CST parser, typed AST wrappers, and incremental reparser.
  • fatou-formatter: the formatting engine, with optional serde/schema features.

Documentation

See https://fatou.dev/ for the full documentation.

Contributing

See CONTRIBUTING.md.

License

MIT, see LICENSE.

Metadata

Release files for fatou 0.18.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fatou 0.18.0
File Size Uploaded
fatou-0.18.0.tar.gz 932.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fatou 0.18.0
File
fatou-0.18.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
fatou-0.18.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
fatou-0.18.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
fatou-0.18.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
fatou-0.18.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
fatou-0.18.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
fatou-0.18.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
fatou-0.18.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 31.6 MB

Release files / fatou-0.18.0.tar.gz

Download URL fatou-0.18.0.tar.gz
Size 932.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3fe51a35ee56eda31f49b63471d0282a7988dc9a151cad85644f9652baff7c20
BLAKE2b-256 checksum
How to use checksums
42441b2c3c3599fed48d43847d9031b0db4c9184076d13d79964f1b6c14bb892
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-win_arm64.whl

Download URL fatou-0.18.0-py3-none-win_arm64.whl
Size 3.7 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
8873f70f83c17733b2a72dae77ffe7913b9cf1c9e3bc8fe56d39c6e9c3487ca6
BLAKE2b-256 checksum
How to use checksums
52cf58fac4485fbf1c27faf994a0e3b870a00271c2e4815962caa016940c630b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-win_amd64.whl

Download URL fatou-0.18.0-py3-none-win_amd64.whl
Size 4.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
29d6194cf6b931de5631aa10f943440958de4c689386181e52661319671f9b17
BLAKE2b-256 checksum
How to use checksums
9e9b8941c9bb706af5c1e515ced090f2aec616b214b489d9a54d5e1333997729
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-musllinux_1_2_x86_64.whl

Download URL fatou-0.18.0-py3-none-musllinux_1_2_x86_64.whl
Size 4.0 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
c8c4f17faf7ee5999364adc4e386accf109bc6523efa7550f55530d95deef181
BLAKE2b-256 checksum
How to use checksums
cfbab36506c012116a89f2cbdccc4200f7e6ede4ff904b5908847e93471637e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-musllinux_1_2_aarch64.whl

Download URL fatou-0.18.0-py3-none-musllinux_1_2_aarch64.whl
Size 3.7 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
4a149e727a3d39e77be3f253e2713fbfb3a0ee6c9a15a3b12c619fc32056e2d5
BLAKE2b-256 checksum
How to use checksums
ca349adc7a48964b56bd70d93b35780ab29311a27267b6fb45b6ba996fe19928
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fatou-0.18.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.0 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
13d86c6350895ed8288dfbcc4e7d333c9c324595e065892636cbf3fedaceb21c
BLAKE2b-256 checksum
How to use checksums
69e009be303e1222ab072462605a61359bb02eae6d6896de1f59cc0dcb499f9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fatou-0.18.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.7 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
56c38e95237aef5f7940890c1d812d793b498a9d8df22bb7707f66681a146736
BLAKE2b-256 checksum
How to use checksums
89c7f15400c8dfd7643c3a53ee688083a720fbc0bcbb747edd4a987a556eb72d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-macosx_11_0_arm64.whl

Download URL fatou-0.18.0-py3-none-macosx_11_0_arm64.whl
Size 3.7 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eb81201dd1f016274ac55a91b480816537404cf9e2a303c6d8bbed7f2377957c
BLAKE2b-256 checksum
How to use checksums
a59417e13a7b37ec8ce488683d4d7c1f2d2fc308dfed38da13653caa6bd4151b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fatou-0.18.0-py3-none-macosx_10_12_x86_64.whl

Download URL fatou-0.18.0-py3-none-macosx_10_12_x86_64.whl
Size 3.9 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
92824374d0258a7cb8c200f3a88b41f8e069cc7f3362520cd3e7eedc8ddcd425
BLAKE2b-256 checksum
How to use checksums
95cf0aac07df72e941b6941aef620d7dc4bd1342e521bdd6e0a66c2138288ba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.22.0

9 release files

0.21.0

9 release files

0.20.0

9 release files

0.19.0

9 release files

This release

0.18.0 This release

9 release files

0.17.0

9 release files

0.16.0

9 release files

0.15.0

9 release files

0.14.0

9 release files

0.13.0

9 release files

0.9.0

9 release files

0.8.0

9 release files

0.7.0

9 release files

0.6.0

9 release files

0.5.0

9 release files

0.4.0

9 release files

0.3.0

9 release 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