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.49.3-cp313-abi3-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13+Windows x86-64

panproto_grammars_functional-0.49.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.49.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.49.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.49.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.49.3-cp313-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.3-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a8f678c8e89b2ba3c4f8936b182bfd02d71a8d2bfa564c37938d8aa2cdd5f17f
MD5 67cc13d8bbbb48391a0b0a8e44ada10e
BLAKE2b-256 d59bd25bcc9b25c3f206e815d9410a6811db78593cd0c80748bff528a0e0c10c

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.49.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.49.3-cp313-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.3-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed3e81673cb58abc67411e922162577b262b8f89614c4c9a425c83e5b519df72
MD5 9c30d42bac4dd29291c243db6e37dc03
BLAKE2b-256 cc45303f57551a2e7a928a25f01e596548196849051f91d0210f39900fd3d4aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.49.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.49.3-cp313-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.3-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c42f3c0eabc79901e0b3598a929b715fa723ed8a1bf45142f5355fa00ab9e7d
MD5 eacb90c6ae85b366bf23eefec0182280
BLAKE2b-256 0658078c875a1916cdfbb57cc163a953e93b4cf6e0c0512aee61287a4e49ec4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.49.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.49.3-cp313-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.3-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8232cf08fa5c7129f41285064b4f3bc961458993b6a0bc3bc14651f5d5892e7c
MD5 9aa2c0cab1efab795797505842959c1c
BLAKE2b-256 55688c0f549ce4eeea8c87d896b37f995776fa79b22f0e30d8719f9ac0948122

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.49.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.49.3-cp313-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.3-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 de0deab8e3bb08bc9678ade21eb5ba37ea7f28e026ea6c0c41f64b42782f0cf2
MD5 fe4c4b801de1674450bbc44237a59fa9
BLAKE2b-256 46e430cba1098bcc950c2f1c71fb5961dd48bd10b896f4b0d0c6db273cb38fc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for panproto_grammars_functional-0.49.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