Skip to main content

Fatou

Build and Test Documentation Open VSX VS Code PyPI version npm version

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

fatou-0.9.0.tar.gz (562.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fatou-0.9.0-py3-none-win_arm64.whl (3.1 MB view details)

Uploaded Python 3Windows ARM64

fatou-0.9.0-py3-none-win_amd64.whl (3.3 MB view details)

Uploaded Python 3Windows x86-64

fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl (3.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl (3.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

fatou-0.9.0-py3-none-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Hashes for fatou-0.9.0.tar.gz
Algorithm Hash digest
SHA256 721b907c3ece1f38d31913bbbe2f784412ab1aa7d93ef21d99091f6cbb0717c7
MD5 d21af59c5dc5a1c049bdf10a5e2b09bf
BLAKE2b-256 1142ded35269d17cd1ff581ceb653908d9a41b96aad17df81143175e9a0baccf

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.9.0.tar.gz:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for fatou-0.9.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 97c86fae5d2416fd1417da7a3356ef98ad77bea3f0d873b6009e98205a21fb9b
MD5 3b6aaf2b6137acc4dc16ed607664dd77
BLAKE2b-256 6243c4425408dccea69961be97954832c9f902ad327e28a32f3025944f25092d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.9.0-py3-none-win_arm64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for fatou-0.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 11c56620af23f5a4e6d74e8f11e35507e28c57eb230a08df6cba7cf9f58257db
MD5 0de5d6e568749185c4c7fc5e67f2967d
BLAKE2b-256 8b4cf7840951849f974e1e1534a5bd0d29d3fec0553ae2bf58e23fe823567cfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for fatou-0.9.0-py3-none-win_amd64.whl:

Publisher: publish-pypi.yml on jolars/fatou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fatou-0.9.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 918b0526110329edd38f9acffe1b6617842744665624af243d8515cc0ff54132
MD5 8f40212ce15a395a97a51372825d283e
BLAKE2b-256 8c5f267cede5302935e1188c701ee68703d86eb0f002056f12a0900323c98542

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fatou-0.9.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 88c0537cdc30a86d067dea0f532c00ceede9183b9a8cd23569786b4627a7de6e
MD5 f1c6f17bdc720cbee911e51d48c1e6cd
BLAKE2b-256 9a7fe3e67f91037ccb667fefb2ea7cf507813a8bd0687cb82b5fc9969f1a32a7

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fatou-0.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aadadfba022a4f202bcf153c572916f676ae60ccd8f33ea2f586ba562261e804
MD5 f2b2a634c27d41aadeae25f68279f697
BLAKE2b-256 f42bb1b3d128bdc4197c6a4a25c1f751b3ae01db502bd322b6a4065b0257248f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fatou-0.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2103ae0166b3a5ba5a39758127a3bd52532b57823722ffd45bf3ccdecaade539
MD5 2d4ac4a034945dac3fb138b2812ba45f
BLAKE2b-256 ee75f939276b56c47fa0c717510cb36e6aab73aec7c313dd957d5f6cb87b38d9

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for fatou-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90be0fb3e3f04886f3acba0264da139037c3f12b25b9724fdda437e3e9719194
MD5 9b2bc6e9cdfe7dd2a4138fd72e6d6e2b
BLAKE2b-256 f6cec3c51a32e83f874abb06acb7a93c17481c33db29e6f0c6c980867b36ffde

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fatou-0.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 afcee223f762e9e6ae5389338abc39c7c7a85d464f86ccb761c31f4db67f18a2
MD5 c7458ccdba169fa758ed4d412375ab8c
BLAKE2b-256 02a9ae445c0122f4bbbb426634c82004e1ddfc68ec334c925483cc0993f209fb

See more details on using hashes here.

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

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 Sentry Error logging StatusPage Status page