{"id":17968481,"url":"https://github.com/inducer/islpy","last_synced_at":"2026-01-27T23:54:41.190Z","repository":{"id":3480184,"uuid":"2021524","full_name":"inducer/islpy","owner":"inducer","description":"Python wrapper for isl, an integer set library","archived":false,"fork":false,"pushed_at":"2025-05-05T14:17:03.000Z","size":920,"stargazers_count":77,"open_issues_count":17,"forks_count":21,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-05-09T09:53:36.472Z","etag":null,"topics":["code-generation","isl","loop-optimization","polyhedral-model","python","wrapper"],"latest_commit_sha":null,"homepage":"http://pypi.python.org/pypi/islpy","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inducer.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-07-09T07:33:16.000Z","updated_at":"2025-05-05T14:17:05.000Z","dependencies_parsed_at":"2023-01-13T13:15:15.182Z","dependency_job_id":"47500858-5917-4ea5-a8f1-36ab00fd67f6","html_url":"https://github.com/inducer/islpy","commit_stats":{"total_commits":638,"total_committers":15,"mean_commits":42.53333333333333,"dds":"0.12539184952978055","last_synced_commit":"c1b19541296155fde8872abe4f444667c42d6b89"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Fislpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Fislpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Fislpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Fislpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inducer","download_url":"https://codeload.github.com/inducer/islpy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501554,"owners_count":22081528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["code-generation","isl","loop-optimization","polyhedral-model","python","wrapper"],"created_at":"2024-10-29T14:40:25.565Z","updated_at":"2026-01-27T23:54:41.185Z","avatar_url":"https://github.com/inducer.png","language":"Python","readme":"islpy: Polyhedral Analysis from Python\n======================================\n\n.. image:: https://gitlab.tiker.net/inducer/islpy/badges/main/pipeline.svg\n    :alt: Gitlab Build Status\n    :target: https://gitlab.tiker.net/inducer/islpy/commits/main\n.. image:: https://github.com/inducer/islpy/actions/workflows/ci.yml/badge.svg\n    :alt: Github Build Status\n    :target: https://github.com/inducer/islpy/actions/workflows/ci.yml\n.. image:: https://badge.fury.io/py/islpy.svg\n    :alt: Python Package Index Release Page\n    :target: https://pypi.org/project/islpy/\n.. image:: https://zenodo.org/badge/2021524.svg\n    :alt: Zenodo DOI for latest release\n    :target: https://zenodo.org/badge/latestdoi/2021524\n\nislpy is a Python wrapper around Sven Verdoolaege's `isl\n\u003chttps://libisl.sourceforge.io/\u003e`__, a library for manipulating sets and\nrelations of integer points bounded by linear constraints.\n\nSupported operations on sets include\n\n* intersection, union, set difference,\n* emptiness check,\n* convex hull,\n* (integer) affine hull,\n* integer projection,\n* computing the lexicographic minimum using parametric integer programming,\n* coalescing, and\n* parametric vertex enumeration.\n\nIt also includes an ILP solver based on generalized basis reduction, transitive\nclosures on maps (which may encode infinite graphs), dependence analysis and\nbounds on piecewise step-polynomials.\n\nIslpy comes with comprehensive `documentation \u003chttp://documen.tician.de/islpy\u003e`__.\n\n*Requirements:* islpy needs a C++ compiler to build. It can optionally make use\nof GMP for support of large integers.\n\nOne important thing to know about islpy is that it exposes every function in isl\nthat is visible in the headers, not just what isl's authors consider its\ndocumented, public API (marked by ``__isl_export``). These (technically)\nundocumented functions are marked in the islpy documentation. Many of them are useful\nand essential for certain operations, but isl's API stability guarantees do not\napply to them. Use them at your own risk.\n\nIslpy can optionally be built with support for `barvinok \u003chttps://repo.or.cz/barvinok.git\u003e`__,\na library for counting the number of integer points in parametric and non-parametric\npolytopes. Notably, unlike isl, barvinok is GPL-licensed, so doing so changes\nislpy's effective license as well. In addition to islpy's `regular PyPI source\nand binary wheel downloads \u003chttps://pypi.org/project/islpy/\u003e`__, `Cambridge Yang\n\u003chttps://github.com/thisiscam\u003e`__ has made available a `package with wheels that\ninclude Barvinok \u003chttps://pypi.org/project/islpy-barvinok/\u003e`__.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finducer%2Fislpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finducer%2Fislpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finducer%2Fislpy/lists"}