Skip to main content

The HEIR compiler

Project description

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.

Demo: HEIR Jupyter Playground

This is a way to start running HEIR compiler passes in a Jupyter notebook or IPython notebook without having to build the entire HEIR project from scratch.

Uses the nightly HEIR build. In this demo, we'll run locally in this github clone to access some external dependencies (e.g. Yosys).

Usage

Load Jupyter in the scripts/jupyter notebook:

cd scripts/jupyter
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
jupyter notebook

The demo is in Demo.ipynb.

Then connect to your Jupyter runtime and start executing the demo!

Contributing

There are many ways to contribute to HEIR:

Citations

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

@Misc{HEIR,
  title={{HEIR: Homomorphic Encryption Intermediate Representation}},
  author={HEIR Contributors},
  year={2023},
  note={\url{https://github.com/google/heir}},
}

Support disclaimer

This is not an officially supported Google product.

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 Distribution

If you're not sure about the file name format, learn more about wheel file names.

heir_py-0.0.1-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (39.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file heir_py-0.0.1-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for heir_py-0.0.1-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fbf90a14f087bef45e2e4955a29077d42abcf9eecdf17752d05a36f5c568f7eb
MD5 0e5663819cab5547c593c87403686ee2
BLAKE2b-256 aed23e12a52aa4bae64b16a79e0174a0ba224795c372d5432835bab40f373fe3

See more details on using hashes here.

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