{"id":20213961,"url":"https://github.com/steleman/llvmlite-15","last_synced_at":"2026-05-29T13:31:15.777Z","repository":{"id":222195138,"uuid":"756494624","full_name":"steleman/llvmlite-15","owner":"steleman","description":"port of numba/llvmlite to LLVM 15","archived":false,"fork":false,"pushed_at":"2024-02-16T03:30:27.000Z","size":295,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T10:45:22.445Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/steleman.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGE_LOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-12T19:18:44.000Z","updated_at":"2024-09-14T18:24:41.000Z","dependencies_parsed_at":"2025-01-13T21:42:14.626Z","dependency_job_id":"e89a842d-17db-4062-b851-9abb12c584f0","html_url":"https://github.com/steleman/llvmlite-15","commit_stats":null,"previous_names":["steleman/llvmlite","steleman/llvmlite-15"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/steleman/llvmlite-15","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steleman%2Fllvmlite-15","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steleman%2Fllvmlite-15/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steleman%2Fllvmlite-15/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steleman%2Fllvmlite-15/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steleman","download_url":"https://codeload.github.com/steleman/llvmlite-15/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steleman%2Fllvmlite-15/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33655440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T06:13:11.332Z","updated_at":"2026-05-29T13:31:15.760Z","avatar_url":"https://github.com/steleman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"========\nllvmlite\n========\n\n.. image:: https://dev.azure.com/numba/numba/_apis/build/status/numba.llvmlite?branchName=main\n   :target: https://dev.azure.com/numba/numba/_build/latest?definitionId=2\u0026branchName=main\n   :alt: Azure Pipelines\n.. image:: https://codeclimate.com/github/numba/llvmlite/badges/gpa.svg\n   :target: https://codeclimate.com/github/numba/llvmlite\n   :alt: Code Climate\n.. image:: https://coveralls.io/repos/github/numba/llvmlite/badge.svg\n   :target: https://coveralls.io/github/numba/llvmlite\n   :alt: Coveralls.io\n.. image:: https://readthedocs.org/projects/llvmlite/badge/\n   :target: https://llvmlite.readthedocs.io\n   :alt: Readthedocs.io\n\nA Lightweight LLVM Python Binding for Writing JIT Compilers\n-----------------------------------------------------------\n\n.. _llvmpy: https://github.com/llvmpy/llvmpy\n\nllvmlite is a project originally tailored for Numba_'s needs, using the\nfollowing approach:\n\n* A small C wrapper around the parts of the LLVM C++ API we need that are\n  not already exposed by the LLVM C API.\n* A ctypes Python wrapper around the C API.\n* A pure Python implementation of the subset of the LLVM IR builder that we\n  need for Numba.\n\nWhy llvmlite\n============\n\nThe old llvmpy_  binding exposes a lot of LLVM APIs but the mapping of\nC++-style memory management to Python is error prone. Numba_ and many JIT\ncompilers do not need a full LLVM API.  Only the IR builder, optimizer,\nand JIT compiler APIs are necessary.\n\nKey Benefits\n============\n\n* The IR builder is pure Python code and decoupled from LLVM's\n  frequently-changing C++ APIs.\n* Materializing a LLVM module calls LLVM's IR parser which provides\n  better error messages than step-by-step IR building through the C++\n  API (no more segfaults or process aborts).\n* Most of llvmlite uses the LLVM C API which is small but very stable\n  (low maintenance when changing LLVM version).\n* The binding is not a Python C-extension, but a plain DLL accessed using\n  ctypes (no need to wrestle with Python's compiler requirements and C++ 11\n  compatibility).\n* The Python binding layer has sane memory management.\n* llvmlite is faster than llvmpy thanks to a much simpler architecture\n  (the Numba_ test suite is twice faster than it was).\n\nCompatibility\n=============\n\nllvmlite has been tested with Python 3.9 -- 3.12 and is likely to work with\ngreater versions.\n\nAs of version 0.41.0, llvmlite requires LLVM 14.x.x on all architectures\n\nHistorical compatibility table:\n\n=================  ========================\nllvmlite versions  compatible LLVM versions\n=================  ========================\n0.41.0 - ...       14.x.x\n0.40.0 - 0.40.1    11.x.x and 14.x.x (12.x.x and 13.x.x untested but may work)\n0.37.0 - 0.39.1    11.x.x\n0.34.0 - 0.36.0    10.0.x (9.0.x for  ``aarch64`` only)\n0.33.0             9.0.x\n0.29.0 - 0.32.0    7.0.x, 7.1.x, 8.0.x\n0.27.0 - 0.28.0    7.0.x\n0.23.0 - 0.26.0    6.0.x\n0.21.0 - 0.22.0    5.0.x\n0.17.0 - 0.20.0    4.0.x\n0.16.0 - 0.17.0    3.9.x\n0.13.0 - 0.15.0    3.8.x\n0.9.0 - 0.12.1     3.7.x\n0.6.0 - 0.8.0      3.6.x\n0.1.0 - 0.5.1      3.5.x\n=================  ========================\n\nDocumentation\n=============\n\nYou'll find the documentation at http://llvmlite.pydata.org\n\n\nPre-built binaries\n==================\n\nWe recommend you use the binaries provided by the Numba_ team for\nthe Conda_ package manager.  You can find them in Numba's `anaconda.org\nchannel \u003chttps://anaconda.org/numba\u003e`_.  For example::\n\n   $ conda install --channel=numba llvmlite\n\n(or, simply, the official llvmlite package provided in the Anaconda_\ndistribution)\n\n.. _Numba: http://numba.pydata.org/\n.. _Conda: http://conda.pydata.org/\n.. _Anaconda: http://docs.continuum.io/anaconda/index.html\n\n\nOther build methods\n===================\n\nIf you don't want to use our pre-built packages, you can compile\nand install llvmlite yourself.  The documentation will teach you how:\nhttp://llvmlite.pydata.org/en/latest/install/index.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteleman%2Fllvmlite-15","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteleman%2Fllvmlite-15","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteleman%2Fllvmlite-15/lists"}