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

Uploaded CPython 3.13+Windows x86-64

panproto_grammars_functional-0.49.1-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.1-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.1-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.1-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.1-cp313-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.1-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f8e70347e10389b851c5630853d7b441e63d0afc41d71b7d07c8a8334a701c37
MD5 a96eacb179a14d06b73ed9d393a6e976
BLAKE2b-256 8e192f93b04e2a9580797463d625cd5fcb33379965c93c584d772851dbbb13f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.1-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3917e24b59637fce1df15668057a4d44b8c396081f7b49fd30582df79752f902
MD5 b37f829bedc664d55949838f848e7c10
BLAKE2b-256 4aa7da9a1136c118e944e01768c9e6bfa64b47907ec8538cb1004ee26d655efe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.1-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5fd653ae9076e9d21947fe51e5910fb5af361db2bf326efe98a15c4afd92887e
MD5 8d7184bbe4b7aaaa38f90de9d69dfb87
BLAKE2b-256 a3cbf35e2398a26171fd225d8e6be9501f5a8659e889ae5fca7602f22f2b3cba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.1-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 928fdc33f0d856adefd1e1da28394342e30a33802ef55230b028c68b61da7e88
MD5 849749a9ba28f721a8435f97cbcbc361
BLAKE2b-256 76dda547bf971e8a4e857dc12e42ae32f48f31b292de4997c471b0eb193a5f26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.1-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e822474c014eff2d0c67dafea75474675656d354846a3ac266fe3635dd95105f
MD5 f417e80117e73e6fe1d1e1bbc5977b18
BLAKE2b-256 9eb7230308b9843d2b469de9cca362b575018837d7e73a63420e2fb77b1f049b

See more details on using hashes here.

Provenance

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