Skip to content

Commit 6ed2e9a

Browse files
committed
Release 1.5.0
1 parent 8b25ecd commit 6ed2e9a

File tree

8 files changed

+713
-606
lines changed

8 files changed

+713
-606
lines changed

.github/workflows/pythonpackage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
python-version: ["3.8", "3.9", "3.10", "3.11", "pypy3.9"]
18+
python-version: ["3.8", "3.9", "3.10", "3.11"]
1919
include:
2020
- python-version: "3.11"
2121
use_pandas: 1

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,5 @@ functional/test/data/tmp
5959
.ipynb_checkpoints/
6060
.mypy_cache/
6161
.vscode/
62-
.python-version
62+
.python-version
63+
.watchman-*

CHANGELOG.md

Lines changed: 107 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,164 @@
11
# Changelog
2-
## Next Release
3-
* Allow empty sequence expressions `seq()`, `pseq()` (#159)
4-
* Add `no_wrap` option to `head()`, `head_option()`, `first()`, `last()` and `last_option()`, as well as to `seq()`, `pseq()` and `Sequence` constructor
2+
3+
## Release 1.5
4+
5+
## Release 1.4
6+
7+
- Allow empty sequence expressions `seq()`, `pseq()` (#159)
8+
- Add `no_wrap` option to `head()`, `head_option()`, `first()`, `last()` and `last_option()`, as well as to `seq()`, `pseq()` and `Sequence` constructor
59

610
## Release 1.3.0
7-
* added precompute attribute to reverse transformation (#137)
8-
* Update setup.py dill to requirements.txt (#138)
9-
* Docstring of tail fixed (#140)
10-
* adding extend feature (#144)
11+
12+
- added precompute attribute to reverse transformation (#137)
13+
- Update setup.py dill to requirements.txt (#138)
14+
- Docstring of tail fixed (#140)
15+
- adding extend feature (#144)
1116

1217
## Release 1.2.0
13-
* Fix Broken link in readme
14-
* Loosen version requirements #129
15-
* Fix lint errors
16-
* Fix StopIteration errors for Python 3.7 #132
17-
* Drop support for python 3.4
18+
19+
- Fix Broken link in readme
20+
- Loosen version requirements #129
21+
- Fix lint errors
22+
- Fix StopIteration errors for Python 3.7 #132
23+
- Drop support for python 3.4
1824

1925
## Release 1.1.3
20-
* Fix bug in `partition` https://github.com/EntilZha/PyFunctional/issues/124
26+
27+
- Fix bug in `partition` https://github.com/EntilZha/PyFunctional/issues/124
2128

2229
## Release 1.1.0
2330

24-
* Implemented optimized version of `reduce_by_key`
25-
* Implemented `count_by_key`
26-
* Implemented `count_by_value`
27-
* Implemented `accumulate` https://github.com/EntilZha/PyFunctional/pull/104
28-
* Fix bug in `grouped` https://github.com/EntilZha/PyFunctional/pull/123
29-
* Fix bug in `to_csv` https://github.com/EntilZha/PyFunctional/pull/123
30-
* Fix bug with incorrect wrapping of pandas dataframes https://github.com/EntilZha/PyFunctional/pull/122
31-
* Allow variance on versions of certain packages: https://github.com/EntilZha/PyFunctional/pull/117 and https://github.com/EntilZha/PyFunctional/pull/116
32-
* Various typo fixes
33-
* Various CI fixes
34-
* Fix issue with `first/head` evaluating entire sequence https://github.com/EntilZha/PyFunctional/commit/fb8f3686cf94f072f4e6ed23a361952de1447dc8
35-
* Drop CI testing and official support for Python 3.3
36-
* Make import much faster by loading pandas more lazily https://github.com/EntilZha/PyFunctional/issues/99
31+
- Implemented optimized version of `reduce_by_key`
32+
- Implemented `count_by_key`
33+
- Implemented `count_by_value`
34+
- Implemented `accumulate` https://github.com/EntilZha/PyFunctional/pull/104
35+
- Fix bug in `grouped` https://github.com/EntilZha/PyFunctional/pull/123
36+
- Fix bug in `to_csv` https://github.com/EntilZha/PyFunctional/pull/123
37+
- Fix bug with incorrect wrapping of pandas dataframes https://github.com/EntilZha/PyFunctional/pull/122
38+
- Allow variance on versions of certain packages: https://github.com/EntilZha/PyFunctional/pull/117 and https://github.com/EntilZha/PyFunctional/pull/116
39+
- Various typo fixes
40+
- Various CI fixes
41+
- Fix issue with `first/head` evaluating entire sequence https://github.com/EntilZha/PyFunctional/commit/fb8f3686cf94f072f4e6ed23a361952de1447dc8
42+
- Drop CI testing and official support for Python 3.3
43+
- Make import much faster by loading pandas more lazily https://github.com/EntilZha/PyFunctional/issues/99
3744

3845
## Release 1.0.0
3946

4047
Reaching `1.0` primarily means that API stability has been reached so I don't expect to run into many new breaking changes.
4148

4249
### New Features
4350

44-
* Added optional initial value for `reduce` (https://github.com/EntilZha/PyFunctional/issues/86)
45-
* Added table of contents to readme (https://github.com/EntilZha/PyFunctional/issues/88)
46-
* Added data interchange tutorial with pandas (https://github.com/EntilZha/PyFunctional/blob/master/examples/PyFunctional-pandas-tutorial.ipynb)
47-
* Implemented `itertools.starmap` as `Sequence.starmap` and `Sequence.smap` (https://github.com/EntilZha/PyFunctional/issues/90)
48-
* Added interface to `csv.DictReader` via `seq.csv_dict_reader` (https://github.com/EntilZha/PyFunctional/issues/92)
49-
* Improved `_html_repr_`, `show` and `tabulate` by auto detecting named tuples as column names (https://github.com/EntilZha/PyFunctional/issues/91)
50-
* Improved `_html_repr_` and `show` to tell the user 10 of N rows are being shown if there are more than 10 rows (https://github.com/EntilZha/PyFunctional/issues/94)
51+
- Added optional initial value for `reduce` (https://github.com/EntilZha/PyFunctional/issues/86)
52+
- Added table of contents to readme (https://github.com/EntilZha/PyFunctional/issues/88)
53+
- Added data interchange tutorial with pandas (https://github.com/EntilZha/PyFunctional/blob/master/examples/PyFunctional-pandas-tutorial.ipynb)
54+
- Implemented `itertools.starmap` as `Sequence.starmap` and `Sequence.smap` (https://github.com/EntilZha/PyFunctional/issues/90)
55+
- Added interface to `csv.DictReader` via `seq.csv_dict_reader` (https://github.com/EntilZha/PyFunctional/issues/92)
56+
- Improved `_html_repr_`, `show` and `tabulate` by auto detecting named tuples as column names (https://github.com/EntilZha/PyFunctional/issues/91)
57+
- Improved `_html_repr_` and `show` to tell the user 10 of N rows are being shown if there are more than 10 rows (https://github.com/EntilZha/PyFunctional/issues/94)
5158

5259
### Dependencies and Supported Python Versions
53-
* Bumped version dependencies (https://github.com/EntilZha/PyFunctional/issues/89)
54-
* Added Python 3.6 via Travis CI testing
5560

61+
- Bumped version dependencies (https://github.com/EntilZha/PyFunctional/issues/89)
62+
- Added Python 3.6 via Travis CI testing
5663

5764
## Release 0.8.0
65+
5866
### New Features
5967

60-
* Implemented pretty html repr for Jupyter
61-
* Implemented proper parsing of pandas DataFrames
62-
* Detect when its possible to pretty print a table and do so
63-
* `list`/`to_list` have a parameter `n` to limit number of results
68+
- Implemented pretty html repr for Jupyter
69+
- Implemented proper parsing of pandas DataFrames
70+
- Detect when its possible to pretty print a table and do so
71+
- `list`/`to_list` have a parameter `n` to limit number of results
6472

6573
### Bug Fixes
6674

67-
* Fixed bug where `grouped` unnecessarily forces precomputation of sequence
68-
* Remove package installations from default requirements that sometimes break installation on barebones systems in python 2.7
75+
- Fixed bug where `grouped` unnecessarily forces precomputation of sequence
76+
- Remove package installations from default requirements that sometimes break installation on barebones systems in python 2.7
6977

7078
## Release 0.7.0
79+
7180
### New Features
72-
* Auto parallelization by using `pseq` instead of `seq`. Details at https://github.com/EntilZha/PyFunctional/issues/47
73-
* Parallel functions: `map`, `select`, `filter`, `filter_not`, `where`, `flatten`, and `flat_map`
74-
* Compressed file IO support for `gzip`/`lzma`/`bz2` as detailed at https://github.com/EntilZha/PyFunctional/issues/54
75-
* Cartesian product from `itertools.product` implemented as `Pipeline.cartesian`
76-
* Website at [pyfunctional.pedro.ai](http://pyfunctional.pedro.ai) and docs at [docs.pyfunctional.pedro.ai](http://docs.pyfunctional.pedro.ai)
81+
82+
- Auto parallelization by using `pseq` instead of `seq`. Details at https://github.com/EntilZha/PyFunctional/issues/47
83+
- Parallel functions: `map`, `select`, `filter`, `filter_not`, `where`, `flatten`, and `flat_map`
84+
- Compressed file IO support for `gzip`/`lzma`/`bz2` as detailed at https://github.com/EntilZha/PyFunctional/issues/54
85+
- Cartesian product from `itertools.product` implemented as `Pipeline.cartesian`
86+
- Website at [pyfunctional.pedro.ai](http://pyfunctional.pedro.ai) and docs at [docs.pyfunctional.pedro.ai](http://docs.pyfunctional.pedro.ai)
7787

7888
### Bug Fixes
79-
* No option for encoding in `to_json` https://github.com/EntilZha/PyFunctional/issues/70
89+
90+
- No option for encoding in `to_json` https://github.com/EntilZha/PyFunctional/issues/70
8091

8192
### Internal Changes
82-
* Pinned versions of all dependencies
93+
94+
- Pinned versions of all dependencies
8395

8496
### Contributors
85-
* Thanks to [versae](https://github.com/versae) for implementing most of the `pseq` feature!
86-
* Thanks to [ChuyuHsu](https://github.com/ChuyuHsu) for implemented large parts of the compression feature!
97+
98+
- Thanks to [versae](https://github.com/versae) for implementing most of the `pseq` feature!
99+
- Thanks to [ChuyuHsu](https://github.com/ChuyuHsu) for implemented large parts of the compression feature!
87100

88101
## Release 0.6.0
102+
89103
### New Features
90-
* Added support for reading to and from SQLite databases
91-
* Change project name to `PyFunctional` from `ScalaFunctional`
92-
* Added `to_pandas` call integration
104+
105+
- Added support for reading to and from SQLite databases
106+
- Change project name to `PyFunctional` from `ScalaFunctional`
107+
- Added `to_pandas` call integration
93108

94109
### Internal Changes
95-
* Changed code quality check service
96110

111+
- Changed code quality check service
97112

98113
## Release 0.5.0
114+
99115
### New Features
100-
* Added delimiter option on `to_file`
101-
* `Sequence.sliding` to create a sliding window from a list of elements
116+
117+
- Added delimiter option on `to_file`
118+
- `Sequence.sliding` to create a sliding window from a list of elements
102119

103120
### Internal Changes
104-
* Changed all relative imports to absolute imports with `__future__.absolute_import`
121+
122+
- Changed all relative imports to absolute imports with `__future__.absolute_import`
105123

106124
### Bug Fixes
107-
* Fixed case where `_wrap` is changing named tuples to arrays when it should preserve them
108-
* Fixed documentation on `to_file` which incorrectly copied from `seq.open` delimiter parameter
109-
* Fixed `Sequence.zip_with_index` behavior. used to mimic `enumerate` by zipping on the left size
110-
while scala and spark do zip on the right side. This introduces different behavior and more flexible
111-
behavior in combination with `enumerate` A start parameter was also added like in `enumerate`
125+
126+
- Fixed case where `_wrap` is changing named tuples to arrays when it should preserve them
127+
- Fixed documentation on `to_file` which incorrectly copied from `seq.open` delimiter parameter
128+
- Fixed `Sequence.zip_with_index` behavior. used to mimic `enumerate` by zipping on the left size
129+
while scala and spark do zip on the right side. This introduces different behavior and more flexible
130+
behavior in combination with `enumerate` A start parameter was also added like in `enumerate`
112131

113132
## Release 0.4.1
133+
114134
Fix python 3 build error due to wheel installation of enum34. Package no longer depends on enum34
115135

116136
## Release 0.4.0
137+
117138
### New Features
118-
* Official and tested support for python 3.5. Thus `ScalaFunctional` is tested on Python 2.7, 3.3,
119-
3.4, 3.5, pypy, and pypy3
120-
* `aggregate` from LINQ
121-
* `order_by` from LINQ
122-
* `where` from LINQ
123-
* `select` from LINQ
124-
* `average` from LINQ
125-
* `sum` modified to allow LINQ projected sum
126-
* `product` modified to allow LINQ projected product
127-
* `seq.jsonl` to read jsonl files
128-
* `seq.json` to read json files
129-
* `seq.open` to read files
130-
* `seq.csv` to read csv files
131-
* `seq.range` to create range sequences
132-
* `Sequence.to_jsonl` to save jsonl files
133-
* `Sequence.to_json` to save json files
134-
* `Sequence.to_file` to save files
135-
* `Sequence.to_csv` to save csv files
136-
* Improved documentation with more examples and mention LINQ explicitly
137-
* Change PyPi keywords to improve discoverability
138-
* Created [Google groups mailing list](https://groups.google.com/forum/#!forum/scalafunctional)
139+
140+
- Official and tested support for python 3.5. Thus `ScalaFunctional` is tested on Python 2.7, 3.3,
141+
3.4, 3.5, pypy, and pypy3
142+
- `aggregate` from LINQ
143+
- `order_by` from LINQ
144+
- `where` from LINQ
145+
- `select` from LINQ
146+
- `average` from LINQ
147+
- `sum` modified to allow LINQ projected sum
148+
- `product` modified to allow LINQ projected product
149+
- `seq.jsonl` to read jsonl files
150+
- `seq.json` to read json files
151+
- `seq.open` to read files
152+
- `seq.csv` to read csv files
153+
- `seq.range` to create range sequences
154+
- `Sequence.to_jsonl` to save jsonl files
155+
- `Sequence.to_json` to save json files
156+
- `Sequence.to_file` to save files
157+
- `Sequence.to_csv` to save csv files
158+
- Improved documentation with more examples and mention LINQ explicitly
159+
- Change PyPi keywords to improve discoverability
160+
- Created [Google groups mailing list](https://groups.google.com/forum/#!forum/scalafunctional)
139161

140162
### Bug Fixes
141-
* `fold_left` and `fold_right` had incorrect order of arguments for passed function
163+
164+
- `fold_left` and `fold_right` had incorrect order of arguments for passed function

LICENSE.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2018 Pedro Rodriguez
3+
Copyright (c) 2024 Pedro Rodriguez
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal
@@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121
SOFTWARE.
22-

0 commit comments

Comments
 (0)