Migrating :mod:`interval_set` ============================= The module :mod:`interval_set` provided a crude API to manipulate interval sets. To ease the transition, the :mod:`intsetwrap` module is provided as a drop in wrapper of the new :mod:`procset` API. .. note:: The focus of the wrapper is to keep the same semantic. As every call transforms the interval set to a ProcSet before converting it back, the performances may drastically drop. As a first migration step, it's as simple as replacing ``import interval_set`` by ``import intsetwrap as interval_set``. The following table shows how :mod:`procset` API may be used when migrating. ``pset`` represents a :class:`~procset.ProcSet` object. +------------------------------------+---------------------------------+ | :mod:`interval_set` API | :mod:`procset` API | +====================================+=================================+ | ``aggregate(itvs)`` | ``pset.aggregate()`` | +------------------------------------+---------------------------------+ | ``difference(itvs1, itvs2)`` | ``pset1 - pset2`` | +------------------------------------+---------------------------------+ | ``equals(itvs1, itvs2)`` | ``pset1 == pset2`` | +------------------------------------+---------------------------------+ | ``id_list_to_iterval_set(idlist)`` | ``ProcSet(*idlist)`` | +------------------------------------+---------------------------------+ | ``intersection(itvs1, itvs2)`` | ``pset1 & pset2`` | +------------------------------------+---------------------------------+ | ``interval_set_to_id_list(itvs)`` | ``list(pset)`` | +------------------------------------+---------------------------------+ | ``interval_set_to_set(itvs)`` | ``set(pset)`` | +------------------------------------+---------------------------------+ | ``interval_set_to_string(itvs)`` | ``str(pset)``, ``format(pset)`` | +------------------------------------+---------------------------------+ | ``set_to_interval_set(idset)`` | ``ProcSet(*idset)`` | +------------------------------------+---------------------------------+ | ``string_to_interval_set(string)`` | ``ProcSet.from_str(string)`` | +------------------------------------+---------------------------------+ | ``total(itvs)`` | ``len(pset)`` | +------------------------------------+---------------------------------+ | ``union(itvs1, itvs2)`` | ``pset1 | pset2`` | +------------------------------------+---------------------------------+