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

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for PyICL-0.3.6.tar.gz
Algorithm Hash digest
SHA256 c09ebcfcdaf13da1fee9c8032e593e4f0b3973364ffb6237a3e81de2de134d3f
MD5 7a6f9211f73247320456d27f9a7bbbe4
BLAKE2b-256 511697f5d952c99cebc8387d147659204b0e624da3cb850f6d13fc55b41ce032

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