Skip to main content

Exposes the boost.icl interval container library to python

Project description

PyICL exposes the boost.icl interval container library to python.

The boost.icl interval container library introduces itself as:

Intervals are almost ubiquitous in software development. Yet they are very
easily coded into user defined classes by a pair of numbers so they are only
implicitly used most of the time. The meaning of an interval is simple.
They represent all the elements between their lower and upper bound and
thus a set. But unlike sets, intervals usually can not be added to a single
new interval. If you want to add intervals to a collection of intervals that
does still represent a set, you arrive at the idea of interval_sets provided
by this library.

Interval containers of the ICL have been developed initially at Cortex Software
GmbH to solve problems related to date and time interval computations in the
context of a Hospital Information System. Time intervals with associated values
like amount of invoice or set of therapies had to be manipulated in statistics,
billing programs and therapy scheduling programs. So the ICL emerged out of
those industrial use cases. It extracts generic code that helps to solve common
problems from the date and time problem domain and can be beneficial in other
fields as well.

One of the most advantageous aspects of interval containers is their very compact
representation of sets and maps. Working with sets and maps of elements can be
very inefficient, if in a given problem domain, elements are typically occurring
in contiguous chunks. Besides a compact representation of associative containers,
that can reduce the cost of space and time drastically, the ICL comes with a
universal mechanism of aggregation, that allows to combine associated values in
meaningful ways when intervals overlap on insertion.

PyICL aims to present most of the functionality of the C++ boost.icl library to python users in an intuitive way.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyICL-0.6.4.tar.gz (48.4 kB view details)

Uploaded Source

File details

Details for the file PyICL-0.6.4.tar.gz.

File metadata

  • Download URL: PyICL-0.6.4.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyICL-0.6.4.tar.gz
Algorithm Hash digest
SHA256 46a21e24b75d0d5f88d9204b80b815f4aef51755479404eef6c28bd6276db880
MD5 14ca6a05de5a684cf39da80ee68ae486
BLAKE2b-256 4318496ce9fbed5fe4109cfa957587de88131421507f16fb73dfb27c2fcb1b6b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page