Skip to main content

HEIR: Homomorphic Encryption Intermediate Representation

GitHub Workflow Status (with event) GitHub Contributors GitHub Discussions GitHub License OpenSSF Scorecard

An MLIR-based toolchain for homomorphic encryption compilers. Read the docs at the HEIR website.

For more information on MLIR, see the MLIR homepage.

Quickstart

There are currently three ways to use HEIR:

  • Use bazel and rules_heir with either the OpenFHE or Lattigo backends.
  • Install OpenFHE and use the heir_py Python package.
  • Install HEIR from source and invoke the heir-opt and heir-translate binaries directly, extracting the generated backend code and integrating it into your project manually.

See Getting Started for more details.

Building from source

This project uses bazel for its build system. Install bazelisk to manage the bazel version automatically. Then, with bazel on your path (pointing to bazelisk), run the following to build the main pass-running tool.

bazel build //tools:heir-opt

Or run an end-to-end test like

bazel test //tests/Examples/openfhe/ckks/halevi_shoup_matvec:all

HEIR depends on LLVM (from source) so a clean build may take 30 minutes depending on your machine. For faster builds, use BuildBuddy. Sign up for an account, create an API key, and add the following to .bazelrc.user in the root of the HEIR workspace:

common --remote_header=x-buildbuddy-api-key=<YOUR_API_KEY>
common --config=remote

This should reduce a clean build time to about 5 minutes.

See the bazel tips page for more example commands and tips on using bazel.

Supported backends and schemes

Backend Library BGV BFV CKKS CGGI
OpenFHE ✅ ✅ ✅ ❌
Lattigo ✅ ✅ ✅ ❌
tfhe-rs ❌ ❌ ❌ ✅
Jaxite ❌ ❌ ❌ ✅

Note some backends do not support all schemes.

Contributing

There are many ways to contribute to HEIR:

Citations

The HEIR project can be cited in academic work through the following entry:

@misc{ali2025heir,
      title={HEIR: A Universal Compiler for Homomorphic Encryption},
      author={Asra Ali and Jaeho Choi and Bryant Gipson and Shruthi Gorantala
              and Jeremy Kun and Wouter Legiest and Lawrence Lim and Alexander
              Viand and Meron Zerihun Demissie and Hongren Zheng},
      year={2025},
      eprint={2508.11095},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2508.11095},
}

Support disclaimer

This is not an officially supported Google product.

Metadata

Release files for belfort-heir 2026.11.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for belfort-heir 2026.11.1
File Size Uploaded Provenance Actions
belfort_heir-2026.11.1.tar.gz 16.2 MB With provenance Details for belfort_heir-2026.11.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for belfort-heir 2026.11.1
File Interpreter ABI Platform Actions
belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details for belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_x86_64.whl
belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details for belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_aarch64.whl
belfort_heir-2026.11.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for belfort_heir-2026.11.1-cp310-abi3-macosx_11_0_arm64.whl

Total release size: 124.2 MB

Release files / belfort_heir-2026.11.1.tar.gz

Download URL belfort_heir-2026.11.1.tar.gz
Size 16.2 MB
Tags Source
SHA-256 checksum
How to use checksums
ffc9fc375d0d861c2d26cba5b36b44be05bda5204a5d970515d9df83141cfec4
BLAKE2b-256 checksum
How to use checksums
51d29a887c91ebeef6536621b3549cef85a5aa9a4efc50f1db12e0fbedfcadd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Release files / belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_x86_64.whl
Size 35.3 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
d1e0ca992748d3a3568839e7f7de3e3d448244779b885d8bdc7caea21ad7ac47
BLAKE2b-256 checksum
How to use checksums
1088abf9d52f54185da192a6c2e65d0420d42c46ff994f61b4a2e59817d68ecd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Release files / belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL belfort_heir-2026.11.1-cp310-abi3-manylinux_2_28_aarch64.whl
Size 33.3 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
7a98444fd72ffc1a43b80cdaf5ee4b09dcd97cbcc6b28fd3c28348b1ea251a72
BLAKE2b-256 checksum
How to use checksums
4a7d1be8590dc1d750d542439ff7fa42d10a3aee956e7a574cb61e0a4b2cd7ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Release files / belfort_heir-2026.11.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL belfort_heir-2026.11.1-cp310-abi3-macosx_11_0_arm64.whl
Size 39.3 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ae4623518f00860d8c8e7a7709aca1096cab173ee8468980254bf398d700a55
BLAKE2b-256 checksum
How to use checksums
f245194d255644e402bfb0817c13f99ba94c28ec60a592ca46eec71a585c0e65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Security for belfort-heir 2026.11.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for belfort_heir-2026.11.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page