The two largest efforts of this release are documentation and "streamer" refactor.
Removed
- `mpservice.streamer.Streamer.{drop_first_n, peek_random, drop_if, keep_if}`, and corresponding classes
`Dropper`.
- `mpservice.streamer.Streamer.drop_exceptions`.
Changed
- `mpservice.streamer.Streamer.transform`: parameter `concurrency` used to default to 1 (i.e. no concurrency), now defaults to higher numbers (i.e. with concurrency).
- `mpservice.mpserver.{Sequential, Ensemble}` were renamed to `SequentialServlet` and `EnsembleServlet` respectively.
- `mpservice.streamer.Streamer.drain`: return count of elements processed, instead of the tuple of element count and exception count.
- `mpservice.streamer.Streamer.peek` was refactored.
- `mpservice.streamer.Streamer.transform` was renamed to `parmap`.
- Relaxed the requirement for using context manager with `Streamer`.
- `Streamer.parmap` uses processes by default, instead of threads.
Added or enhanced
- Enhanced documentation. Started to host generated doc on Read the Docs.
- New class `mpservice.mpserver.CpuAffinity`.
- New method on `mpservice.streamer.Streamer` and corresponding classes:
`filter` and `Filter`, `tail` and `Tailor`, `map` and `Mapper`, `groupby` and `Grouper`.
- New method `mpservice.streamer.Streamer.filter_exceptions`, `mpservice.streamer.Streamer.accumulate`.