Skip to content

Commit

Permalink
Merge pull request #2 from StefanGreve/development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
StefanGreve authored Dec 25, 2021
2 parents 07af725 + 2d4d5dd commit f8c7dea
Show file tree
Hide file tree
Showing 7 changed files with 1,715 additions and 11 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [ 3.7, 3.8, 3.9, '3.10' ]
python-version: [ '3.7', '3.8', '3.9', '3.10', '3.11-dev']
os: [ ubuntu-latest, macOS-latest, windows-latest ]

steps:
Expand Down
85 changes: 85 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,90 @@
# Changelog

## 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.

- [x] `self.__init__`
- [x] `self.all`
- [x] `self.any`
- [x] `self.at`
- [x] `self.avg`
- [x] `self.chunk_by`
- [x] `self.chunk_every`
- [ ] `self.chunk_while`
- [x] `self.concat`
- [x] `self.count`
- [x] `self.count_until`
- [x] `self.dedup`
- [x] `self.dedup_by`
- [x] `self.drop`
- [x] `self.drop_every`
- [x] `self.drop_while`
- [x] `self.each`
- [x] `self.empty`
- [x] `self.fetch`
- [x] `self.filter`
- [x] `self.find`
- [x] `self.find_index`
- [x] `self.find_value`
- [x] `self.flat_map`
- [ ] `self.flat_map_reduce`
- [x] `self.frequencies`
- [x] `self.frequencies_by`
- [x] `self.group_by`
- [x] `self.intersperse`
- [x] `self.into`
- [x] `self.join`
- [x] `self.map`
- [x] `self.map_every`
- [x] `self.map_intersperse`
- [x] `self.map_join`
- [x] `self.map_reduce`
- [x] `self.max`
- [x] `self.member`
- [x] `self.min`
- [x] `self.min_max`
- [x] `self.product`
- [x] `self.random`
- [x] `Iter.range`
- [x] `self.reduce`
- [x] `self.reduce_while`
- [x] `self.reject`
- [x] `self.reverse`
- [x] `self.reverse_slice`
- [x] `self.scan`
- [x] `Iter.shorten`
- [x] `self.shuffle`
- [x] `self.slice`
- [x] `self.slide`
- [x] `self.sort`
- [x] `self.split`
- [x] `self.split_while`
- [x] `self.split_with`
- [x] `self.sum`
- [x] `self.take`
- [x] `self.take_every`
- [x] `self.take_random`
- [x] `self.take_while`
- [x] `self.uniq`
- [x] `self.unzip`
- [x] `self.with_index`
- [x] `self.zip`
- [ ] `self.zip_reduce`
- [ ] `self.zip_with`
- [x] `self.__repr__`
- [x] `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.
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@
</a>
</p>

Implements an iterator interface reminscent of languages such as Elixier of F#.
Implements an eager iterator class reminiscent of Elixir's `Enum` structure. See
also the changelog for more details. Note that the interface is not stable; signatures
may change at any time until further notice.
8 changes: 5 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@
author_email="greve.stefan@outlook.jp",
name=package_name,
version=version,
description="Implements an iterator interface reminscent of languages such as Elixier of F#.",
description="Implements an eager iterator class reminiscent of Elixir's Enum structure.",
long_description=long_description,
long_description_content_type='text/markdown',
license='MIT',
url="https://github.com/StefanGreve/iterfun",
project_urls={
'Documentation': "https://github.com/StefanGreve/iterfun/blob/master/README.md", #TODO: Add proper documention
'Documentation': "https://github.com/StefanGreve/iterfun/blob/master/README.md",
'Source Code': "https://github.com/StefanGreve/iterfun",
'Bug Reports': "https://github.com/StefanGreve/iterfun/issues",
'Changelog': "https://github.com/StefanGreve/iterfun/blob/master/CHANGELOG.md"
Expand All @@ -63,14 +63,16 @@
package_dir={'': 'src'},
packages=find_packages(where='src'),
classifiers=[
'Development Status :: 3 - Alpha',
'Development Status :: 4 - Beta',
'License :: OSI Approved :: MIT License',
'Intended Audience :: Developers',
'Natural Language :: English',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: Implementation :: CPython',
'Operating System :: OS Independent',
'Topic :: Utilities',
],
Expand Down
2 changes: 1 addition & 1 deletion src/iterfun/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from .iterfun import Iter

__version__ = "0.0.2"
__version__ = "0.0.3"
package_name = "iterfun"
python_major = "3"
python_minor = "7"
Loading

0 comments on commit f8c7dea

Please sign in to comment.