islpy

Python wrapper for isl, an integer set library

https://github.com/inducer/islpy

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    5 of 18 committers (27.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

code-generation isl loop-optimization polyhedral-model python wrapper

Keywords from Contributors

closember multidimensional-arrays pycuda mesh network-simulation hacking interactive sequences interpretability version
Last synced: 4 months ago · JSON representation ·

Repository

Python wrapper for isl, an integer set library

Basic Info
Statistics
  • Stars: 77
  • Watchers: 8
  • Forks: 21
  • Open Issues: 14
  • Releases: 25
Topics
code-generation isl loop-optimization polyhedral-model python wrapper
Created over 14 years ago · Last pushed 4 months ago
Metadata Files
Readme Citation

README.rst

islpy: Polyhedral Analysis from Python
======================================

.. image:: https://gitlab.tiker.net/inducer/islpy/badges/main/pipeline.svg
    :alt: Gitlab Build Status
    :target: https://gitlab.tiker.net/inducer/islpy/commits/main
.. image:: https://github.com/inducer/islpy/actions/workflows/ci.yml/badge.svg
    :alt: Github Build Status
    :target: https://github.com/inducer/islpy/actions/workflows/ci.yml
.. image:: https://badge.fury.io/py/islpy.svg
    :alt: Python Package Index Release Page
    :target: https://pypi.org/project/islpy/
.. image:: https://zenodo.org/badge/2021524.svg
    :alt: Zenodo DOI for latest release
    :target: https://zenodo.org/badge/latestdoi/2021524

islpy is a Python wrapper around Sven Verdoolaege's `isl
`__, a library for manipulating sets and
relations of integer points bounded by linear constraints.

Supported operations on sets include

* intersection, union, set difference,
* emptiness check,
* convex hull,
* (integer) affine hull,
* integer projection,
* computing the lexicographic minimum using parametric integer programming,
* coalescing, and
* parametric vertex enumeration.

It also includes an ILP solver based on generalized basis reduction, transitive
closures on maps (which may encode infinite graphs), dependence analysis and
bounds on piecewise step-polynomials.

Islpy comes with comprehensive `documentation `__.

*Requirements:* islpy needs a C++ compiler to build. It can optionally make use
of GMP for support of large integers.

One important thing to know about islpy is that it exposes every function in isl
that is visible in the headers, not just what isl's authors consider its
documented, public API (marked by ``__isl_export``). These (technically)
undocumented functions are marked in the islpy documentation. Many of them are useful
and essential for certain operations, but isl's API stability guarantees do not
apply to them. Use them at your own risk.

Islpy can optionally be built with support for `barvinok `__,
a library for counting the number of integer points in parametric and non-parametric
polytopes. Notably, unlike isl, barvinok is GPL-licensed, so doing so changes
islpy's effective license as well. In addition to islpy's `regular PyPI source
and binary wheel downloads `__, `Cambridge Yang
`__ has made available a `package with wheels that
include Barvinok `__.

Owner

  • Name: Andreas Klöckner
  • Login: inducer
  • Kind: user
  • Location: Champaign, IL
  • Company: Scientific Computing, CS@UIUC

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Kloeckner"
  given-names: "Andreas"
  orcid: "https://orcid.org/0000-0003-1228-519X"
- family-names: "Fernando"
  given-names: "Isuru"
- family-names: "Yang"
  given-names: "Cambridge"
- family-names: "Kulkarni"
  given-names: "Kaushik"
# Disabled pending https://github.com/zenodo/zenodo/issues/2343
# - alias: "iasakura"
- family-names: "Almahallawi"
  given-names: "Deyaaeldeen"
- family-names: "Gao"
  given-names: "Hao"
- family-names: "Stevens"
  given-names: "James"
- family-names: "Fikl"
  given-names: "Alex"
- family-names: "Wala"
  given-names: "Matt"
# Disabled pending https://github.com/zenodo/zenodo/issues/2343
# - alias: "bhuztez"

title: "islpy"
version: 2022.1.2
doi: 10.5281/zenodo.6345184
date-released: 2022-03-10
url: "https://github.com/inducer/islpy"
license: MIT

GitHub Events

Total
  • Create event: 30
  • Issues event: 5
  • Release event: 9
  • Watch event: 4
  • Delete event: 22
  • Issue comment event: 39
  • Push event: 64
  • Pull request review event: 10
  • Pull request review comment event: 12
  • Pull request event: 55
  • Fork event: 4
Last Year
  • Create event: 30
  • Issues event: 5
  • Release event: 9
  • Watch event: 4
  • Delete event: 22
  • Issue comment event: 39
  • Push event: 64
  • Pull request review event: 10
  • Pull request review comment event: 12
  • Pull request event: 55
  • Fork event: 4

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 729
  • Total Committers: 18
  • Avg Commits per committer: 40.5
  • Development Distribution Score (DDS): 0.163
Past Year
  • Commits: 46
  • Committers: 6
  • Avg Commits per committer: 7.667
  • Development Distribution Score (DDS): 0.413
Top Committers
Name Email Commits
Andreas Kloeckner i****m@t****t 610
Isuru Fernando i****f@g****m 36
dependabot[bot] 4****] 18
jq.yang@berkeley.edu j****g@b****u 13
Kaushik Kulkarni k****d@g****m 12
Matthias Diener m****r@i****u 12
Izumi Asakura i****a@f****m 6
Alexandru Fikl a****l@g****m 6
Rohan r****s@a****m 3
Deyaaeldeen Almahallawi d****l@i****u 2
Hao Gao g****5@g****m 2
jdsteve2 j****2@i****u 2
Jie Wang j****a@a****m 2
Angus Gibson a****s@a****e 1
Matt Wala w****1@i****u 1
Michał Górny m****y@g****g 1
Pedro Silvestre p****e@g****m 1
bhuztez b****z@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 38
  • Total pull requests: 149
  • Average time to close issues: 6 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 20
  • Total pull request authors: 16
  • Average comments per issue: 4.18
  • Average comments per pull request: 1.09
  • Merged pull requests: 121
  • Bot issues: 0
  • Bot pull requests: 28
Past Year
  • Issues: 1
  • Pull requests: 53
  • Average time to close issues: 1 day
  • Average time to close pull requests: 7 days
  • Issue authors: 1
  • Pull request authors: 6
  • Average comments per issue: 13.0
  • Average comments per pull request: 0.57
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 22
Top Authors
Issue Authors
  • thisiscam (13)
  • thiagotei (3)
  • bollu (3)
  • francesco-ballarin (2)
  • kaushikcfd (2)
  • abhishek111226 (1)
  • isuruf (1)
  • wusheng-ws (1)
  • PSilvestre (1)
  • alexbprofit (1)
  • bernecky (1)
  • ZhuangzhuangWu (1)
  • jdsteve2 (1)
  • connorjward (1)
  • yurikamome (1)
Pull Request Authors
  • inducer (72)
  • dependabot[bot] (40)
  • matthiasdiener (18)
  • thisiscam (11)
  • kaushikcfd (7)
  • isuruf (5)
  • alexfikl (4)
  • mgorny (2)
  • PSilvestre (2)
  • Rohanjames1997 (2)
  • angus-g (1)
  • whbldhwj (1)
  • deyaaeldeen (1)
  • iasakura (1)
  • bhuztez (1)
Top Labels
Issue Labels
bug (6) enhancement (1)
Pull Request Labels
dependencies (40) github_actions (10)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 193,716 last-month
  • Total docker downloads: 130
  • Total dependent packages: 6
    (may contain duplicates)
  • Total dependent repositories: 29
    (may contain duplicates)
  • Total versions: 72
  • Total maintainers: 1
pypi.org: islpy

Wrapper around isl, an integer set library

  • Versions: 57
  • Dependent Packages: 5
  • Dependent Repositories: 28
  • Downloads: 193,716 Last month
  • Docker Downloads: 130
Rankings
Downloads: 1.0%
Dependent packages count: 1.9%
Average: 2.6%
Dependent repos count: 2.7%
Docker downloads count: 4.6%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: islpy

islpy is a Python wrapper around Sven Verdoolaege's [isl](https://libisl.sourceforge.io/), a library for manipulating sets and relations of integer points bounded by linear constraints. Supported operations on sets include - intersection, union, set difference, - emptiness check, - convex hull, - (integer) affine hull, - integer projection, - computing the lexicographic minimum using parametric integer programming, - coalescing, and - parametric vertex enumeration. It also includes an ILP solver based on generalized basis reduction, transitive closures on maps (which may encode infinite graphs), dependence analysis and bounds on piecewise step-polynomials.

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Dependent packages count: 29.0%
Average: 32.5%
Stargazers count: 37.9%
Forks count: 38.8%
Last synced: 4 months ago

Dependencies

.github/workflows/autopush.yml actions
  • actions/checkout v3 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/wheels.yml actions
  • actions/checkout v3 composite
  • svenstaro/upload-release-action v2 composite