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

Uploaded CPython 3.13+Windows x86-64

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.0-cp313-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bba4c9095aba49920f3c644e6f63857d91a461d6765ecb22ec89b553e468b94d
MD5 259bce7496fa59fd7bb69637c10f96c6
BLAKE2b-256 93b5144bfceb96f00013615b6f5d0a72a964999a66c44b7bedddbdc5765f4cda

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.0-cp313-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c41583f3a2c6b2810ccfa8fe4c59c9090587eba4b25c135e9e1c93c8ea5e14f3
MD5 74a449c53d8b1a63a7525fc8a5e25a3e
BLAKE2b-256 86e392aace69c5af32e04f28d460d0337ec1732673b691df35d1868ad6c2aba2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.0-cp313-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1dff70a19656dcb76baecf72227916c3fb8ee093a4f77648cd2ef99e3dfc7117
MD5 96cb488adccd71c2987cc79c3778e780
BLAKE2b-256 3bec8b3513293f4c2b59b8af19d272d39557c9d991e9a50c68564fcb7962781c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.0-cp313-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6261186a925294fc517df3bf01ac9ab515111d4e236e216a8f64e9bb4e5b232
MD5 86735c43979ca6d7be88f426e15f997b
BLAKE2b-256 5d445a36149b76647f0e9a66c3d93229800c68320e9e10fa393ea91d52192454

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for panproto_grammars_functional-0.49.0-cp313-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6496c446d158df21fea01f267b443f96a216a9e18b0107670f7eb2ce75274731
MD5 663eccf50a4d78ab55d7892e815864a3
BLAKE2b-256 5a9b48e60aaeadd345dbc1839e07f602ae399133c3d76252aacfb3824cc7e95a

See more details on using hashes here.

Provenance

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