Skip to content

Release 0.4.1: File reading, writing, and LINQ

Compare
Choose a tag to compare
@EntilZha EntilZha released this 04 Nov 03:58
· 243 commits to master since this release

The primary goals of this release were to:

  1. Support reading and writing data from files in common formats
  2. Improve LINQ support

Reading and Writing text, json, jsonl, and csv

The large feature additions of this release include functions to natively read and write from text, json, jsonl, and csv files. Details on the issue can be found at #19. The examples on the README.md page illustrate how these can be used and their usefulness. A full list of changes can be found in CHANGELOG.md or the copy of it at the bottom of the release notes.

LINQ

In doing research I found that a common use case where ScalaFunctional could be helpful is in doing LINQ-like data manipulation. To better serve this group of users functions like select and where were added, and documentation was improved to cover this use case.

Breaking Changes

The bug detailed at #44 exposed that fold_left and fold_right was using the passed function incorrectly. This was corrected, but is a breaking change to all prior versions.

0.4.1 enum34 Removed

In the release of 0.4.0 a issue was found where the wheel built with python2 contained enum34 which broke the python3 installation. If it were built with python3, then it would not include enum34 causing problems with python2. The solution was to remove enum34 and use vanilla python instead.

Changelog

Release 0.4.0

New Features

  • Official and tested support for python 3.5. Thus ScalaFunctional is tested on Python 2.7, 3.3,
    3.4, 3.5, pypy, and pypy3
  • aggregate from LINQ
  • order_by from LINQ
  • where from LINQ
  • select from LINQ
  • average from LINQ
  • sum modified to allow LINQ projected sum
  • product modified to allow LINQ projected product
  • seq.jsonl to read jsonl files
  • seq.json to read json files
  • seq.open to read files
  • seq.csv to read csv files
  • seq.range to create range sequences
  • Sequence.to_jsonl to save jsonl files
  • Sequence.to_json to save json files
  • Sequence.to_file to save files
  • Sequence.to_csv to save csv files
  • Improved documentation with more examples and mention LINQ explicitly
  • Change PyPi keywords to improve discoverability
  • Created Google groups mailing list

Bug Fixes

  • fold_left and fold_right had incorrect order of arguments for passed function

Release 0.4.1

Fix python 3 build error due to wheel installation of enum34. Package no longer depends on enum34

Contributors

Thank you to adrian17 for contributing seq.range to the release.