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.

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.16.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.16.0
File Size Uploaded
fatou-0.16.0.tar.gz 875.9 kB Details

Built distributions (wheels)

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

Total release size: 30.6 MB

Release files / fatou-0.16.0.tar.gz

Download URL fatou-0.16.0.tar.gz
Size 875.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e8f1ab21fea26588fc2685a4ab47ab07ffddeff718770a05ae9123dfeddf7156
BLAKE2b-256 checksum
How to use checksums
1b217b3ce00b81608ba05ac4d208dbd2ba2457ee28966bc8513db4cbd026ece1
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-win_arm64.whl
Size 3.6 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
f1936df4d26a20b6bbe8f94abb763a8984f5271b9d18d0b281fd55ea927385fc
BLAKE2b-256 checksum
How to use checksums
13563b06c21ef2ba392d8a7608c956a0bfe178ccc052563f330898de2fc5b15e
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-win_amd64.whl
Size 3.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f274f9c30aa0c38973adc507993efc70bd9ece0f87a59c8ed5f68ad159de73dd
BLAKE2b-256 checksum
How to use checksums
7ecb9333124e1a666507ece6025b527a8485a4dce23cf325fa1e2059e5234e7c
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
b9e6abd3c2b355937e62417f2a12b2f3d49f3195bfa6e0c7b271b5b3e2ef85dd
BLAKE2b-256 checksum
How to use checksums
ba834ef6f8f064b1e75c95af438d128fcc355369a565209ba16d3676bb611b98
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-musllinux_1_2_aarch64.whl
Size 3.6 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
31e6d2acc0a67b8277e20f8f0d5a4966299f5d28c38f5f9d65c8096c3d66f28c
BLAKE2b-256 checksum
How to use checksums
422652d223a6a280ca0a25b2d574fa0b915c9099915d750aa6d08b27fd8539d6
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.9 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
3563ad4c6d05789603f9c2239d3a74e425b8a17d3f854777c335c58f199b8868
BLAKE2b-256 checksum
How to use checksums
929ff2c771905ba11e21dd6142c1d112f6a4a933561836bd29908f127eaee12d
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
40a4435d21c9f8ba4ab39522e864e16a65881e2b240fb09bb9d6c49ae891fe71
BLAKE2b-256 checksum
How to use checksums
740f78672192af89e2adfe887a69389ec9c0d485b3007a5615ef77550fb50d85
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-macosx_11_0_arm64.whl
Size 3.6 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0c9c1546eebbd9620cd6be2a7d115aeb5fc37e5cde9fed820a9e94de279cdbd
BLAKE2b-256 checksum
How to use checksums
222b92c597232d32691bb297fe520d0d4c33642327d7602b4eec326977c151ff
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 25, 2026.

Transparency log

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

Download URL fatou-0.16.0-py3-none-macosx_10_12_x86_64.whl
Size 3.7 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
44db68c3d07d8d46e51be53b8ad9bbdfce823ae77229536198e9dce5bab5e19b
BLAKE2b-256 checksum
How to use checksums
3377453047661226616673a7721e9aa446c893f45fd6b1e012fc7c707da13304
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 25, 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

0.18.0

9 release files

0.17.0

9 release files

This release

0.16.0 This release

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