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.11.tar.gz (52.3 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for PyICL-0.6.11.tar.gz
Algorithm Hash digest
SHA256 25a9bb1bc0e8aeb75a5df0b40b64a06de2fd97c9ab2a6fb3cc5d5e46080cfe80
MD5 fc17ec73aaccf4e54bbe8aaa4c0f1f00
BLAKE2b-256 9ee4ff98735026220ed7ffd3a09c27678632f964b7a3249f5c650469dc540c11

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