We are happy to release version 0.10.0 of llvmlite. llvmlite is a
light-weight Python binding for LLVM (compatible with Python 2.7 as
well as Python 3.4 and later). It stems from the needs of the Numba
community and is geared towards creating JIT compilers.
llvmlite is available both as source code and as binaries for a number
of platforms. Source code is available on PyPI and Github:
Binaries for Linux, Windows and OS X are available through the
anaconda.org service and can be downloaded using Continuum's open
source package manager "Conda"
("conda update -c numba llvmlite" or "conda install -c numba llvmlite").
Documentation is at http://llvmlite.pydata.org/en/latest/
There is an adaptation of the Kaleidoscope tutorial for llvmlite by Eli
This new version supports LLVM 3.7 and features the following
fixes and enhancements.
* PR #146: Improve ``setup.py clean`` to wipe more leftovers.
* PR #135: Remove some llvmpy compatibility APIs.
* PR #151: Always copy TargetData when adding to a pass manager.
* PR #148: Make errors more explicit on loading the binding DLL.
* PR #144: Allow overriding ``-flto`` in Linux builds.
* PR #136: Remove Python 2.6 and 3.3 compatibility.
* Issue #131: Allow easier creation of constants by making type
* Issue #130: The test suite now ensures the runtime DLL dependencies
are within a certain expected set.
* Issue #121: Simplify build process on Unix and remove hardcoded
linking with LLVMOProfileJIT.
* Issue #125: Speed up formatting of raw array constants.
* PR #155: Properly emit IR for metadata null.
* PR #153: Remove deprecated uses of ``TargetMachine::getDataLayout()``.
* PR #156: Move personality from LandingPadInstr to FunctionAttributes.
It was moved in LLVM 3.7.
* PR #149: Implement LLVM scoping correctly.
* PR #141: Ensure no CMakeCache.txt file is included in sdist.
* PR #132: Correct constant in ``llvmir.py`` example.