Metadata-Version: 2.5
Name: namedisl
Version: 2026.1.1
Summary: Name-oriented polyhedral operations
Project-URL: Documentation, https://documen.tician.de/namedisl/
Project-URL: Homepage, https://github.com/inducer/namedisl/
Author-email: Andreas Kloeckner <inform@tiker.net>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: constantdict
Requires-Dist: islpy
Requires-Dist: typing-extensions>=4.10
Description-Content-Type: text/x-rst

namedisl: Integer Set Library with Significant Names
====================================================

.. image:: https://gitlab.tiker.net/inducer/namedisl/badges/main/pipeline.svg
    :alt: Gitlab Build Status
    :target: https://gitlab.tiker.net/inducer/namedisl/commits/main
.. image:: https://github.com/inducer/namedisl/actions/workflows/ci.yml/badge.svg
    :alt: Github Build Status
    :target: https://github.com/inducer/namedisl/actions/workflows/ci.yml
.. image:: https://badge.fury.io/py/namedisl.svg
    :alt: Python Package Index Release Page
    :target: https://pypi.org/project/namedisl/

namedisl 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.

It is based on `islpy <https://github.com/inducer/islpy>`__ (and, transitively, on
`isl <https://libisl.sourceforge.io/>`__), with the important distinction that *names
matter*. While isl (and hence islpy) has support for naming set dimensions, the names do
not matter: isl considers ``{[i]: 0<=i<10}`` and ``{[j]: 0<=j<10}`` the same set.
Relatedly, isl's  (and hence islpy's) interface is based around dimension indices
rather than names. Meanwhile, namedisl's interface uses names to identify axes.

namedisl comes with comprehensive `documentation <http://documen.tician.de/namedisl>`_.
