<commit_before>Changelog for "iteration_utilities"
-----------------------------------


Version 0.3.0 (not released)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- implemented ``__length_hint__`` method for :py:func:`~iteration_utilities.clamp`.
  However sensible results (!= 0) are only possible if ``remove=False`` or
  both ``low`` and ``high`` were not set.

- fixed ``SystemError`` in several functions when accessing the next item of
  the iterable resulted in an Exception different from ``StopIteration``.

- added :py:func:`~iteration_utilities.starfilter` iterator.

- added :py:func:`~iteration_utilities.packed` callback class.

- fixed a segfault in :py:func:`~iteration_utilities.complement` ``__call__``
  method when the function raised an Exception.

- fixed a segfault in :py:func:`~iteration_utilities._cfuncs.partition`
  when ``bool(item)`` raised an Exception.

- included a missing ``ValueError`` in  :py:func:`~iteration_utilities.split`
  when two of the ``keep*`` parameters are True. The case where all three were
  given already raised the correct exception.

- :py:func:`~iteration_utilities.clamp` now interprets ``low=None`` or
  ``high=None`` as if the corresponding value wasn't given. Before it tried to
  compare the items with ``None``.


Version 0.2.1 (01.03.2017)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- fixed segfault in ``nth`` when ``retpred=True``.


Version 0.2.0 (27.02.2017)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- added ``remove`` parameter to :py:func:`~iteration_utilities.clamp`.
- made :py:func:`~iteration_utilities.deepflatten` string-aware. For other
  recusive-iterable classes a RecursionException is raised instead of freezing.


Version 0.1.0 (25.01.2017)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- initial release<commit_msg>updated changelog<commit_after>Changelog for "iteration_utilities"
-----------------------------------


Version 0.3.1 or 0.4.0 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


Version 0.3.0 (2017-03-09)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- implemented ``__length_hint__`` method for :py:func:`~iteration_utilities.clamp`.
  However sensible results (!= 0) are only possible if ``remove=False`` or
  both ``low`` and ``high`` were not set.

- fixed ``SystemError`` in several functions when accessing the next item of
  the iterable resulted in an Exception different from ``StopIteration``.

- added :py:func:`~iteration_utilities.starfilter` iterator.

- added :py:func:`~iteration_utilities.packed` callback class.

- fixed a segfault in :py:func:`~iteration_utilities.complement` ``__call__``
  method when the function raised an Exception.

- fixed a segfault in :py:func:`~iteration_utilities._cfuncs.partition`
  when ``bool(item)`` raised an Exception.

- included a missing ``ValueError`` in  :py:func:`~iteration_utilities.split`
  when two of the ``keep*`` parameters are True. The case where all three were
  given already raised the correct exception.

- :py:func:`~iteration_utilities.clamp` now interprets ``low=None`` or
  ``high=None`` as if the corresponding value wasn't given. Before it tried to
  compare the items with ``None``.


Version 0.2.1 (2017-03-01)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- fixed segfault in ``nth`` when ``retpred=True``.


Version 0.2.0 (2017-02-27)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- added ``remove`` parameter to :py:func:`~iteration_utilities.clamp`.
- made :py:func:`~iteration_utilities.deepflatten` string-aware. For other
  recusive-iterable classes a RecursionException is raised instead of freezing.


Version 0.1.0 (2017-01-25)
^^^^^^^^^^^^^^^^^^^^^^^^^^

- initial release
{'fraction_non_alphanumeric': 0.20152198421645998, 'fraction_numerical': 0.02480270574971815, 'mean_word_length': 4.624405705229794, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1497454', 'n_tokens_mistral': 1163, 'n_tokens_neox': 1091, 'n_words': 330}