Metadata-Version: 2.4
Name: halide
Version: 22.1.0
Summary: Halide is a programming language designed to make it easier to write high-performance image and array processing code.
Keywords: array,compiler,domain-specific language,dsl,gpu,hexagon,image processing,machine learning,performance,programming language
Author-Email: The Halide team <halide-dev@lists.csail.mit.edu>
Maintainer-Email: Alex Reinking <areinking@adobe.com>
License-Expression: MIT
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: GPU
Classifier: Environment :: GPU :: NVIDIA CUDA
Classifier: Environment :: WebAssembly
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Software Development :: Libraries
Project-URL: Homepage, https://halide-lang.org
Project-URL: Documentation, https://github.com/halide/Halide/blob/main/doc/Python.md
Project-URL: Documentation (C++), https://halide-lang.org/docs
Project-URL: Issues, https://github.com/halide/Halide/issues
Project-URL: Repository, https://github.com/halide/Halide.git
Requires-Python: >=3.12
Requires-Dist: imageio>=2
Requires-Dist: pillow; platform_machine == "armv8l" or platform_machine == "armv7l"
Requires-Dist: halide-bin==22.1.0
Requires-Dist: halide-runtime==22.1.0
Description-Content-Type: text/markdown

Halide is a programming language designed to make it easier to write
high-performance image and array processing code on modern machines. Halide
currently targets:

- CPU architectures: X86, ARM, Hexagon, PowerPC, RISC-V
- Operating systems: Linux, Windows, macOS, Android, iOS, Qualcomm QuRT
- GPU Compute APIs: CUDA, OpenCL, Apple Metal, Microsoft Direct X 12, Vulkan

Rather than being a standalone programming language, Halide is embedded in
Python. This means you write Python code that builds an in-memory representation
of a Halide pipeline using Halide's Python API. You can then compile this
representation to an object file, or JIT-compile it and run it in the same
process.

Requires regular, GIL-enabled CPython 3.12 or newer. The compiler and runtime
extensions use nanobind and ship `cp312-abi3` wheels, reusable on newer regular
CPython versions. Free-threaded Python is not supported.

Install the complete Python and native toolchain with:

```shell
pip install halide
uv add halide
```

This distribution depends on matching versions of `halide-bin`, which provides
the compiler and C++ development files, and `halide-runtime`, which provides the
standalone `halide.runtime` API. Package managers install both automatically.
For a small deployment that only calls precompiled AOT kernels, install
`halide-runtime` directly instead.

## Using Halide from C++

Halide is also available as a C++ library. This package provides the development
files necessary to use Halide from C++, including a CMake package. On Linux and
macOS, CMake's `find_package` command should find Halide as long as you're in
the same virtual environment you installed it in. On Windows, you will need to
add the virtual environment root directory to `CMAKE_PREFIX_PATH`. This can be
done by running `set CMAKE_PREFIX_PATH=%VIRTUAL_ENV%` in `cmd`.

Other build systems can find the Halide root path by running
`python -c "import halide; print(halide.install_dir())"`.
