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

Uploaded CPython 3.13+Windows x86-64

panproto_grammars_functional-0.48.0-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.0-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.0-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.0-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.0-cp313-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.0-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 eb17ffb4a104ae04fafa4b19e4c7b9763c8d53b89a9c06b8658094b05cf73b9f
MD5 29f56e176b5c87318395896a43d9a7cc
BLAKE2b-256 dbf0d5e385b7afcfbcc60ffad50c236511b4f61f643d25e22cd34259c6f3dca5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.0-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e89160f291fb2812aea48e5dfe5f47420ddf9d1ddf1e1140209232208824f4c
MD5 304f30fe3dfa1139bfe23ae1c8808a4a
BLAKE2b-256 14259ed7a61517d06603b79d8722619f81359655b587d3995f5d674701cc9b94

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.0-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab103d2c79d29d82202a7b84baba3ab4101c0e4dc135053f9db2ec08cff16c99
MD5 183a592050c90234fba806a33c8bae78
BLAKE2b-256 0d997f1cc5aad0ea6cf3e8753ee67dd7c3dc293477d199b79314cb6097266b1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.0-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c79e4a7fc4a95a7b51d119f861c91a8587d7a54f826953b6145197c3a0e34095
MD5 45a458b0bd0dd116a262bb36540b0da4
BLAKE2b-256 f90e4f10ca6414b49584651aa8a967ee3e952d03ff0f80dc969dd4dfc8b1a08d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.48.0-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9a4c9769a5ec0094e950bc6d7164e6570bf7359e42a6504ab2c05e66a2ec78e8
MD5 8658cb425fcc5a067696e24e40dbc06c
BLAKE2b-256 59be1d5de3103cf128e64b1591b9270e9c13a47d1b070651c81d93e65fe0f6e6

See more details on using hashes here.

Provenance

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