Skip to content

Latest commit

 

History

History
160 lines (138 loc) · 4.24 KB

CHANGELOG.md

File metadata and controls

160 lines (138 loc) · 4.24 KB

Changelog

Version 0.0.5 (29 Jan 2023)

Note that this update introduces breaking changes.

Implement a Functions helper class for common procedures such as

  • invert
  • is_even
  • is_odd
  • miller_rabin
  • sign

The overload in the Iter constructor was removed in favor of a static Iter.range method to enforce separation of concerns more diligently. Additional minor modifications were made to pretty much all doc strings to reflect the recent changes that are to be consolidated for more information. In brief,

  • the chunk_by method now also provides eject as an optional argument
  • the concat method was renamed to union
  • iterable and iter keyword arguments were renamed to iter_
  • the method signature of the range method has changed and added support for decrements
  • the empty method was renamed to is_empty

The following methods are new:

  • self.cartesian
  • self.combinations
  • self.combinations_with_replacement
  • self.difference
  • self.duplicates
  • self.flatten
  • self.intersects
  • self.is_disjoint
  • self.is_subset
  • self.is_superset
  • Iter.linspace
  • Iter.open
  • self.permutations
  • self.save
  • self.symmetric_difference
  • Iter.randint
  • self.to_dict
  • self.to_list
  • self.transpose
  • self.__eq__
  • self.__ne__
  • self.__iter__
  • self.__next__

Starting with version 0.0.5, this library now also pulls in typing_extensions as an external dependency. Support for Python 3.7 has been dropped which makes version 3.8 the new baseline in this project.

Version 0.0.4 (17 May 2022)

Refactors code and improves the doc strings here and there. The Iter.__ctor method was removed in favor of Iter.range for implementing the Iter.__init__ overload.

Additionally, the following methods have been removed as well:

  • self.each
  • self.fetch

Turns out they are not that useful in Python after all.

Version 0.0.3 (25 Dec 2021)

See below for a break down of the development status of all methods provided by the Iter class. Some methods also provide overloads via typing. Support for working with dictionaries is rather scarce. Like Enum in Elixir, this is an eager implementation meaning that generators are always converted into lists, thus consumed all at once. Perhaps there will be a Stream-like structure in the future that's compatible with Iter, though it remains to be seen whether such a thing will be implemented in the future.

  • self.__init__
  • self.all
  • self.any
  • self.at
  • self.avg
  • self.chunk_by
  • self.chunk_every
  • self.chunk_while
  • self.concat
  • self.count
  • self.count_until
  • self.dedup
  • self.dedup_by
  • self.drop
  • self.drop_every
  • self.drop_while
  • self.each
  • self.empty
  • self.fetch
  • self.filter
  • self.find
  • self.find_index
  • self.find_value
  • self.flat_map
  • self.flat_map_reduce
  • self.frequencies
  • self.frequencies_by
  • self.group_by
  • self.intersperse
  • self.into
  • self.join
  • self.map
  • self.map_every
  • self.map_intersperse
  • self.map_join
  • self.map_reduce
  • self.max
  • self.member
  • self.min
  • self.min_max
  • self.product
  • self.random
  • Iter.range
  • self.reduce
  • self.reduce_while
  • self.reject
  • self.reverse
  • self.reverse_slice
  • self.scan
  • Iter.shorten
  • self.shuffle
  • self.slice
  • self.slide
  • self.sort
  • self.split
  • self.split_while
  • self.split_with
  • self.sum
  • self.take
  • self.take_every
  • self.take_random
  • self.take_while
  • self.uniq
  • self.unzip
  • self.with_index
  • self.zip
  • self.zip_reduce
  • self.zip_with
  • self.__repr__
  • self.__str__

The static non-standard functions Iter.range and Iter.shorten have been added for convenience purposes only. The method signature uniq_by does not appear in this list yet; it may be added in future versions of this library.

Version 0.0.2 (16 Dec 2021)

Finalize package structure for development and setup release pipeline.

Version 0.0.1 (16 Dec 2021)

Register package name of PyPI.