Skip to main content

panproto grammar pack: functional languages (Haskell, OCaml, Elm, Gleam, Erlang, Elixir, PureScript, F#, Clojure, Scheme, Racket)

Project description

panproto-grammars-functional

PyPI Python License: MIT

Companion grammar pack for panproto shipping tree-sitter grammars for functional-language source: Haskell, OCaml, Elm, Gleam, Erlang, Elixir, PureScript, F#, Clojure, Scheme, and Racket.

Companion packs are how the Python wheel adds tree-sitter grammars without bloating the core: panproto itself bundles only the 11-language group-core baseline, and packs like this one extend that surface as separate pip-installable wheels. Installing this package makes its grammars available to panproto.AstParserRegistry() automatically.

Status

Pre-1.0 with arbitrary breaking changes between minor versions. The pack version tracks the workspace panproto version on every release; consumers should pin both to the same minor (e.g. panproto>=0.45,<0.46 and panproto-grammars-functional>=0.45,<0.46).

Python 3.13+ required.

Installation

pip install panproto-grammars-functional

Wheels are published on PyPI for Linux x86_64 / aarch64, macOS arm64 / x86_64, and Windows x86_64. No Rust toolchain is required.

Pulls in panproto>=0.45 as a runtime dependency. If panproto is not already installed, pip resolves it automatically.

Synopsis

import panproto

reg = panproto.AstParserRegistry()
# The grammars from this pack are now in the registry alongside the
# group-core ones (Python, JavaScript, Rust, ...).
# schema = reg.parse_with_protocol("haskell", b"f x = x", "main.hs")

Nothing to import from this package directly. The architecture is described in bindings/python/README.md.

Languages

Haskell · OCaml · Elm · Gleam · Erlang · Elixir · PureScript · F# · Clojure · Scheme · Racket.

Architecture

Each companion is a separate pyo3 cdylib depending on panproto-grammars with one group-* feature flag. On installation it registers a panproto.grammars entry point that points at its _impl submodule; on construction panproto.AstParserRegistry() walks every such entry point and threads the discovered grammar metadata into the native registry. Cross-cdylib transport uses raw FFI pointers cast to integers; the trust boundary lives on the panproto side.

Source: crates/panproto-grammars-functional on the Rust side, bindings/python-grammars-functional on the Python side.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

panproto_grammars_functional-0.48.3-cp313-abi3-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13+Windows x86-64

panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.28+ x86-64

panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13+manylinux: glibc 2.28+ ARM64

panproto_grammars_functional-0.48.3-cp313-abi3-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.13+macOS 11.0+ ARM64

panproto_grammars_functional-0.48.3-cp313-abi3-macosx_10_12_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13+macOS 10.12+ x86-64

File details

Details for the file panproto_grammars_functional-0.48.3-cp313-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.3-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2a1264ac1e85ada1b09cfe827bfb3fa26aabc0137774ecd031d807b39153be5c
MD5 0e4354471448215404536e6e784201b9
BLAKE2b-256 93b425ac1debc816ee97c9cadc2823fc04cc3ba180f62b0b226f9941cbfe9a37

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.48.3-cp313-abi3-win_amd64.whl:

Publisher: python-wheels-companions.yml on panproto/panproto

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

File details

Details for the file panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 041f9e81704251afd13ba3ad3e3396f0735c8d323b5835d01137ce1beccc39d2
MD5 24e1c807a33b591967aa683b23f9f94f
BLAKE2b-256 1e64d640ecbe735f1585921327cc4004da572526f52fda397148dd0c96cdc282

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_x86_64.whl:

Publisher: python-wheels-companions.yml on panproto/panproto

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

File details

Details for the file panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 96420019f227838291707e556cfc5bf2c3c9499559e2bf987af49b2f6c7a6946
MD5 21250a3660d318bafa5373fd210145e5
BLAKE2b-256 97fe254b03f44806d996e74d2ad410dd70c0ea56ff622ec46af29ed9c994a44e

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.48.3-cp313-abi3-manylinux_2_28_aarch64.whl:

Publisher: python-wheels-companions.yml on panproto/panproto

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

File details

Details for the file panproto_grammars_functional-0.48.3-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.3-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13067f29f58cd7c62358f03055141018ba7afc719c1b00554fe4a44c1dcf7894
MD5 5b8d35c58503d8c0593141c495bcf2dd
BLAKE2b-256 8143c854dd903874f35a8478a63420356b8c39393dc091f98cd57b2224fc0d19

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.48.3-cp313-abi3-macosx_11_0_arm64.whl:

Publisher: python-wheels-companions.yml on panproto/panproto

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

File details

Details for the file panproto_grammars_functional-0.48.3-cp313-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.3-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 09c20e0ffd0e4818aa104bad5b85d44ead79415ba1cea38cf8648e94d16195f0
MD5 b522fb27440f66e7faee4cc082883500
BLAKE2b-256 71cabcb3403302b3f8ccbb6fd7b39a30cf52281d7c874a593d9813403a17740c

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.48.3-cp313-abi3-macosx_10_12_x86_64.whl:

Publisher: python-wheels-companions.yml on panproto/panproto

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