Skip to content

Update more-itertools to 10.7.0 #386

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates more-itertools from 8.5.0 to 10.7.0.

Changelog

10.7.0

------

* New functions:
 * :func:`multinomial` was added (thanks to rhettinger)

* Changes to existing functions:
 * :func:`ichunk`, :func:`iterate`, :func:`one`, :func:`only`, :func:`powerset_of_sets`, and :func:`strictly_n` were optimized (thanks to rhettinger)
 * :func:`exactly_n` now uses less memory (thanks to rhettinger)
 * :func:`dft` and :func:`idft` were optimized for Python versions below 3.12 (thanks to rhettinger)
 * :func:`is_prime` no longer shares state with the users random number generator (thanks to rhettinger)
 
* Other changes:
 * Some docstring issues were fixed (thanks to lpulley and ricbit)
 * The type hints for :func:`groupby_transform` were improved (thanks to rhettinger)
 * The ``furo`` theme is now used for docs (thanks to AA-turner)

10.6.0

------

* New functions:
 * :func:`is_prime` and :func:`nth_prime` were added (thanks to JamesParrott and rhettinger)
 * :func:`loops` was added (thanks to rhettinger)

* Changes to existing functions:
 * :func:`factor` was optimized to handle larger inputs and use less memory (thanks to rhettinger)
 * :func:`spy` was optimized to enable nested calls (thanks to rhettinger)
 * :func:`polynomial_from_roots` was made non-recursive and able to handle larger numbers of roots (thanks to pochmann3 and rhettinger)
 * :func:`is_sorted` now only relies on less than comparisons (thanks to rhettinger)
 * The docstring for :func:`outer_product` was improved (thanks to rhettinger)
 * The type annotations for :func:`sample` were improved (thanks to rhettinger)
 
* Other changes:
 * Python 3.13 is officially supported. Python 3.8 is no longer officially supported. (thanks to hugovk, JamesParrott, and stankudrow)
 * `mypy` checks were fixed (thanks to JamesParrott)

10.5.0

------

* Bug fixes
 * A missing symbol in ``more.pyi`` was fixed (thanks to eberts-google and nathanielmanistaatgoogle)

* Other changes
 * :func:`all_equal` was optimized (thanks to pochmann3 and rhettinger)

10.4.0

------

* Changes to existing functions
 * :func:`circular_shifts` now accepts a ``steps`` parameter (thanks to rhettinger)
 * :func:`distinct_permutations` now accepts iterables with non-comparable items (thanks to hgustafsson, JamesParrott, and pochmann3)
 * :class:`run_length`, :func:`totient`, :func:`sliding_window`, and :func:`triplewise` were optimized (thanks to rhettinger)
 * :class:`ilen` was optimized (thanks to pochmann3 and rhettinger)
 * :func:`sample` was improved, and now accepts ``counts`` and ``strict`` parameters (thanks to rhettinger)
 * :func:`set_partitions` now accepts ``min_size`` and ``max_size`` parameters (thanks to Pandede)
 * :func:`seekable`'s ``relative_seek`` method remembers previous calls (thanks to dkrikun)
 * :func:`sort_together` now accepts a ``strict`` parameter (thanks to rhettinger and Pandede)

* Other changes
 * The docs for :func:`is_sorted` and :func:`strictly_n` were improved (thanks to pochmann3 and fakuivan)
 * The typing information for :func:`windowed_complete`, :func:`zip_broadcast`, and and :func:`zip_equal` were improved (thanks to m472, eyalho, akisatoon1, jbosboom, and Pandede)

10.3.0

------

* New functions
 * :func:`powerset_of_sets`, :func:`dft`, and :func:`idft` (thanks to rhettinger)
 * :func:`join_mappings` (thanks to NeilGirdhar and rhettinger)
 * :func:`doublestarmap` (thanks to Skeen, monk-time, DamianB-BitFlipper, and ergoithz)
 * :func:`unique` (thanks to rhettinger)

* Changes to existing functions
 * :func:`collapse`, :func:`chunked_even`, :func:`ichunked`, :func:`padded`, and :func:`windowed` were optimized and improved (thanks to james-wasson)
 * :func:`totient` was optimized (thanks to rhettinger)
 * :func:`roundrobin` was updated and improved (thanks to rhettinger)
 * :func:`all_equal` now accepts a *key* parameter.
 * The docs for :func:`value_chain` were improved (thanks to bjrtx)
 * The type annotations for :class:`countable` were improved (thanks to aidanholm)

* Other changes
 * Unit tests were improved (thanks to haukex)
 * Some documentation issues were fixed (thanks to bjrtx and DimitriPapadopoulos)

10.2.0

------

* New functions
 * :func:`iter_suppress` (thanks to jaraco, pochmann, and rhettinger)
 * :func:`filter_map` (thanks to struktured)
 * :func:`classify_unique` (thanks to haukex)
 * :func:`totient` (from the itertools docs)
 * :func:`reshape` (from the itertools docs)

* Changes to existing functions
 * :func:`factor`, :func:`iter_index`, :func:`sieve`, and :func:`unique_justseen` were updated to match the itertools docs
 * :func:`first` was was optimized (thanks to pochmann)
 * :func:`takewhile_inclusive` was was refactored (thanks to eltoder)
 * :func:`combination_with_replacement_index` was was optimized (thanks to elliotwutingfeng and rhettinger)
 * :func:`nth_permutation`, :func:`nth_combination_with_replacement`, :func:`combination_index`, and :func:`combination_with_replacement_index` were optimized (thanks to rhettinger)
 * :func:`batched` now accepts a `strict` argument (adapted from itertools docs)
 * :func:`time_limited` was improved for Windows (thanks to haukex)

* Other changes
 * Several typing updates were made (thanks to obaltian and ilai-deutel)
 * Some documentation issues were fixed (thanks to F-park, DimitriPapadopoulos, peterbygrave, shuuji3, eltoder, and homeworkprod)

10.1.0

------

* New functions
 * :func:`takewhile_inclusive` (thanks to OlegAlexander)
 * :func:`outer_product` (thanks to OlegAlexander)

* Changes to existing functions
 * :func:`zip_broadcast` was improved (thanks to kalekundert and pochmann)
 * :func:`consume` had its type annotation fixed (thanks to obaltian)

* Other changes
 * Some documentation and testing issues were fixed (thanks to OlegAlexander)

10.0.0

------

* Potentially breaking changes
 * Python 3.7 support was dropped, since it went EOL on 2023-06-27
 * :func:`batched` no longer issues a ``DeprecationWarning``; it is now an alias for ``itertools.batched`` for Python 3.12+
 * :func:`batched` and :func:`matmul` now yield tuples instead of lists

* New functions
 * :func:`combination_with_replacement_index` (thanks to Schoyen)
 * :func:`nth_combination_with_replacement` (thanks to Schoyen)
 * :func:`polynomial_eval` (from the Python itertools docs)
 * :func:`polynomial_derivative` (from the Python itertools docs)
 * :func:`sum_of_squares` (from the Python itertools docs)

* Changes to existing functions
 * :func:`seekable` now has ``relative_seek`` method (thanks to karlb)
 * :func:`chunked_even` was optimized (thanks to elliotwutingfeng)
 * :func:`numeric_range` was optimized (thanks to eltoder)
 * :func:`duplicates_justseen`, :func:`pairwise`, :func:`partial_product`, and :func:`partition` were updated and optimized (thanks to pochmann)
 * :func:`unique_in_window` had its implementation updated (thanks to elliotwutingfeng)
 * :func:`iterate` now breaks when its ``func`` argument raises ``StopIteration`` (thanks to jrebiffe)

* Other changes
 * Some documentation and testing issues were fixed (thanks to lonnen and XuehaiPan)

9.1.0

-----

* New functions
 * :func:`iter_index` (from the Python itertools docs)
 * :func:`transpose` (from the Python itertools docs)
 * :func:`matmul` (from the Python itertools docs)
 * :func:`factor` (from the Python itertools docs)
 * :func:`gray_product` (thanks to haukex)
 * :func:`partial_product` (thanks to lonnen)

* Changes to existing functions
 * :func:`sieve` was updated to match the Python itertools docs
 * :func:`maxsplit` was updated to fix a bug (thanks to abingham)
 * :func:`sliced` had its `type hint <https://github.com/more-itertools/more-itertools/pull/667>`__ updated (thanks to ad-chaos)
 

* Other changes
 * The ``batched`` function is marked as deprecated and will be removed in a future major release. For Python 3.12 and above, use ``itertools.batched`` instead. (thanks to neutrinoceros)
 * The type hints now used postponed evaluation of annotations from PEP 563 (thanks to Isira-Seneviratne)
 * Some documentation issues were fixed (thanks to Voskov and jdkandersson)

9.0.0

-----

* Potentially breaking changes
 * :func:`grouper` no longer accepts an integer as its first argument. Previously this raised a ``DeprecationWarning``.
 * :func:`collate` has been removed. Use the built-in :func:`heapq.merge` instead.
 * :func:`windowed` now yields nothing when its iterable is empty.
 * This library now advertises support for Python 3.7+.

* New functions
 * :func:`constrained_batches`
 * :func:`batched` (from the Python itertools docs)
 * :func:`polynomial_from_roots` (from the Python itertools docs)
 * :func:`sieve` (from the Python itertools docs)

* Other changes
 * Some documentation issues were fixed (thanks to nanouasyn)

8.14.0

------

* New functions
 * :func:`longest_common_prefix` (thanks to nanouasyn)
 * :func:`iequals` (thanks to nanouasyn)

* Changes to existing functions
 * `concurrent.futures.ThreadPoolExecutor` is now imported lazily in :func:`callback_iter`.
 * :func:`tail` is now optimized for iterables with a fixed length.

* Other changes
 * Some documentation issues were fixed (thanks to pochmann and timgates42)
 * This library is now marked for Python 3.10 compatibility in PyPI (thanks to chayim)

8.13.0

------

* New functions
 * The :func:`subslices` recipe from the `itertools` docs was added (thanks to rhettinger)

* Changes to existing functions
 * The :func:`ichunked` function is now more efficient (thanks to hjtran0 and seanmacavaney)
 * The :func:`difference` function is now more efficient (thanks to Masynchin)
 * The :func:`grouper` recipe now has more features, mirroring the one in the `itertools` docs (thanks to rhettinger)

* Other changes
 * Some documentation issues were fixed (thanks to medvied and Freed-Wu)
 * The `more_itertools` package is now built with `flit` (thanks to mgorny)

8.12.0

------

* Bug fixes
 * Some documentation issues were fixed (thanks to Masynchin, spookylukey, astrojuanlu, and stephengmatthews)
 * Python 3.5 support was temporarily restored (thanks to mattbonnell)

8.11.0

------

* New functions
 * The :func:`before_and_after`, :func:`sliding_window`, and :func:`triplewise` recipes from the Python 3.10 docs were added
 * :func:`duplicates_everseen` and :func:`duplicates_justseen` (thanks to OrBin and DavidPratt512)
 * :func:`minmax` (thanks to Ricocotam, MSeifert04, and ruancomelli)
 * :func:`strictly_n` (thanks to hwalinga and NotWearingPants)
 * :func:`unique_in_window`

* Changes to existing functions
 * :func:`groupby_transform` had its type stub improved (thanks to mjk4 and ruancomelli)
 * :func:`is_sorted` now accepts a ``strict`` parameter (thanks to Dutcho and ruancomelli)
 * :func:`zip_broadcast` was updated to fix a bug (thanks to kalekundert)

8.10.0

------

* Changes to existing functions
 * The type stub for :func:`iter_except` was improved (thanks to  MarcinKonowalczyk)

* Other changes:
 *  Type stubs now ship with the source release (thanks to saaketp)
 *  The Sphinx docs were improved (thanks to MarcinKonowalczyk)

8.9.0

-----

* New functions
 * :func:`interleave_evenly` (thanks to mbugert)
 * :func:`repeat_each` (thanks to FinalSh4re)
 * :func:`chunked_even` (thanks to valtron)
 * :func:`map_if` (thanks to sassbalint)
 * :func:`zip_broadcast` (thanks to kalekundert)

* Changes to existing functions
 * The type stub for :func:`chunked` was improved (thanks to  PhilMacKay)
 * The type stubs for :func:`zip_equal` and `zip_offset` were improved (thanks to maffoo)
 * Building Sphinx docs locally was improved (thanks to MarcinKonowalczyk)

8.8.0

-----

* New functions
 * :func:`countable` (thanks to krzysieq)

* Changes to existing functions
 * :func:`split_before` was updated to handle empty collections (thanks to TiunovNN)
 * :func:`unique_everseen` got a performance boost (thanks to Numerlor)
 * The type hint for :func:`value_chain` was corrected (thanks to vr2262)

8.7.0

-----

* New functions
 * :func:`convolve` (from the Python itertools docs)
 * :func:`product_index`, :func:`combination_index`, and :func:`permutation_index` (thanks to N8Brooks)
 * :func:`value_chain` (thanks to jenstroeger)

* Changes to existing functions
 * :func:`distinct_combinations` now uses a non-recursive algorithm (thanks to  knutdrand)
 * :func:`pad_none` is now the preferred name for :func:`padnone`, though the latter remains available.
 * :func:`pairwise` will now use the Python standard library implementation on Python 3.10+
 * :func:`sort_together` now accepts a ``key`` argument (thanks to brianmaissy)
 * :func:`seekable` now has a ``peek`` method, and can indicate whether the iterator it's wrapping is exhausted (thanks to gsakkis)
 * :func:`time_limited` can now indicate whether its iterator has expired (thanks to roysmith)
 * The implementation of :func:`unique_everseen` was improved (thanks to plammens)

* Other changes:
 * Various documentation updates (thanks to cthoyt, Evantm, and cyphase)

8.6.0

-----

* New itertools
 * :func:`all_unique` (thanks to brianmaissy)
 * :func:`nth_product` and :func:`nth_permutation` (thanks to N8Brooks)

* Changes to existing itertools
 * :func:`chunked` and :func:`sliced` now accept a ``strict`` parameter (thanks to shlomif and jtwool)

* Other changes
 * Python 3.5 has reached its end of life and is no longer supported.
 * Python 3.9 is officially supported.
 * Various documentation fixes (thanks to timgates42)
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant