Fatou 
A language server, formatter, and linter for Julia that doesn't require running Julia itself. Fatou is written in Rust and is designed to be fast, safe, and easy to integrate into editors and tooling. It is named after the French mathematician Pierre Fatou, whose Fatou set is the complement of the Julia set.
Fatou follows the rust-analyzer design (a lossless
rowan CST,
salsa for incremental computation, and
lsp-server for the language-server
transport).
Installation
Fatou is available from several sources:
- crates.io:
cargo install fatou - npm:
npm install -g fatou-cli(bundles a prebuilt binary) - PyPI:
uv tool install fatou/pipx install fatou - Prebuilt binaries: from the releases page
- VS Code/Open VSX: the Fatou extension (Marketplace, Open VSX); also works in Positron
Runs on Linux, macOS, and Windows (x86_64 and arm64).
Usage
fatou parse <file.jl> # print the CST (stdin if no file)
fatou format <file.jl> # format to stdout (stdin if omitted)
fatou format --check <dir> # check formatting; non-zero exit if any differ
fatou lint --check <dir> # lint
fatou lsp # run the language server on stdio
Configuration lives in fatou.toml ([format] line-width/indent-width,
[lint] select/ignore).
Editor integration
The language server (fatou lsp) provides a broad set of features over stdio:
completion, hover, go-to-definition, find references and document highlights,
rename, document and workspace symbols, call and type hierarchy, signature help,
code actions, folding and selection ranges, document links, and semantic tokens,
alongside formatting (whole-document and range) and diagnostics (push and pull).
The Fatou extension for VS Code/Open VSX (and Positron)
(Marketplace,
Open VSX) bundles the binary and
starts the server automatically; see editors/code.
For Neovim and other editors, see the editor setup
guide.
CI integration
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
Development
cargo build
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt -- --check
Or via task: task test, task lint, task format.
See CONTRIBUTING.md for details.
License
MIT—see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fatou-0.9.0.tar.gz.
File metadata
- Download URL: fatou-0.9.0.tar.gz
- Upload date:
- Size: 562.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
721b907c3ece1f38d31913bbbe2f784412ab1aa7d93ef21d99091f6cbb0717c7
|
|
| MD5 |
d21af59c5dc5a1c049bdf10a5e2b09bf
|
|
| BLAKE2b-256 |
1142ded35269d17cd1ff581ceb653908d9a41b96aad17df81143175e9a0baccf
|
Provenance
The following attestation bundles were made for fatou-0.9.0.tar.gz:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0.tar.gz -
Subject digest:
721b907c3ece1f38d31913bbbe2f784412ab1aa7d93ef21d99091f6cbb0717c7 - Sigstore transparency entry: 2312073074
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-win_arm64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-win_arm64.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97c86fae5d2416fd1417da7a3356ef98ad77bea3f0d873b6009e98205a21fb9b
|
|
| MD5 |
3b6aaf2b6137acc4dc16ed607664dd77
|
|
| BLAKE2b-256 |
6243c4425408dccea69961be97954832c9f902ad327e28a32f3025944f25092d
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-win_arm64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-win_arm64.whl -
Subject digest:
97c86fae5d2416fd1417da7a3356ef98ad77bea3f0d873b6009e98205a21fb9b - Sigstore transparency entry: 2312073364
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-win_amd64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-win_amd64.whl
- Upload date:
- Size: 3.3 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11c56620af23f5a4e6d74e8f11e35507e28c57eb230a08df6cba7cf9f58257db
|
|
| MD5 |
0de5d6e568749185c4c7fc5e67f2967d
|
|
| BLAKE2b-256 |
8b4cf7840951849f974e1e1534a5bd0d29d3fec0553ae2bf58e23fe823567cfc
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-win_amd64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-win_amd64.whl -
Subject digest:
11c56620af23f5a4e6d74e8f11e35507e28c57eb230a08df6cba7cf9f58257db - Sigstore transparency entry: 2312073219
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
918b0526110329edd38f9acffe1b6617842744665624af243d8515cc0ff54132
|
|
| MD5 |
8f40212ce15a395a97a51372825d283e
|
|
| BLAKE2b-256 |
8c5f267cede5302935e1188c701ee68703d86eb0f002056f12a0900323c98542
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl -
Subject digest:
918b0526110329edd38f9acffe1b6617842744665624af243d8515cc0ff54132 - Sigstore transparency entry: 2312073282
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88c0537cdc30a86d067dea0f532c00ceede9183b9a8cd23569786b4627a7de6e
|
|
| MD5 |
f1c6f17bdc720cbee911e51d48c1e6cd
|
|
| BLAKE2b-256 |
9a7fe3e67f91037ccb667fefb2ea7cf507813a8bd0687cb82b5fc9969f1a32a7
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl -
Subject digest:
88c0537cdc30a86d067dea0f532c00ceede9183b9a8cd23569786b4627a7de6e - Sigstore transparency entry: 2312073108
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aadadfba022a4f202bcf153c572916f676ae60ccd8f33ea2f586ba562261e804
|
|
| MD5 |
f2b2a634c27d41aadeae25f68279f697
|
|
| BLAKE2b-256 |
f42bb1b3d128bdc4197c6a4a25c1f751b3ae01db502bd322b6a4065b0257248f
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
aadadfba022a4f202bcf153c572916f676ae60ccd8f33ea2f586ba562261e804 - Sigstore transparency entry: 2312073252
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2103ae0166b3a5ba5a39758127a3bd52532b57823722ffd45bf3ccdecaade539
|
|
| MD5 |
2d4ac4a034945dac3fb138b2812ba45f
|
|
| BLAKE2b-256 |
ee75f939276b56c47fa0c717510cb36e6aab73aec7c313dd957d5f6cb87b38d9
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
2103ae0166b3a5ba5a39758127a3bd52532b57823722ffd45bf3ccdecaade539 - Sigstore transparency entry: 2312073153
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90be0fb3e3f04886f3acba0264da139037c3f12b25b9724fdda437e3e9719194
|
|
| MD5 |
9b2bc6e9cdfe7dd2a4138fd72e6d6e2b
|
|
| BLAKE2b-256 |
f6cec3c51a32e83f874abb06acb7a93c17481c33db29e6f0c6c980867b36ffde
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
90be0fb3e3f04886f3acba0264da139037c3f12b25b9724fdda437e3e9719194 - Sigstore transparency entry: 2312073320
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afcee223f762e9e6ae5389338abc39c7c7a85d464f86ccb761c31f4db67f18a2
|
|
| MD5 |
c7458ccdba169fa758ed4d412375ab8c
|
|
| BLAKE2b-256 |
02a9ae445c0122f4bbbb426634c82004e1ddfc68ec334c925483cc0993f209fb
|
Provenance
The following attestation bundles were made for fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl:
Publisher:
publish-pypi.yml on jolars/fatou
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
afcee223f762e9e6ae5389338abc39c7c7a85d464f86ccb761c31f4db67f18a2 - Sigstore transparency entry: 2312073192
- Sigstore integration time:
-
Permalink:
jolars/fatou@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Branch / Tag:
refs/tags/v0.9.0 - Owner: https://github.com/jolars
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e625cb8a1165312d43cf2a5d0a06b03a9c4a27e5 -
Trigger Event:
push
-
Statement type: