Releases: nyggus/rounder
Modern building backend
The v0.7.1 release comes with a new structure of the project. Now, rounder
uses the build-based backend which uses a
pyproject.tomlfile instead of
setup.py. The structure also integrates
doctestwith
pytest, so now
pytestruns all the
pytestand
doctest` tests, also from documentation files.
map_object() generaliztion
This release comes with the generalization of map_object()
to use numbers.Numbers
instead of Union[int, float]
. The corresponding tests have been added.
Use built-in exceptions only
This release removes the custom exceptions from rounder
, and instead uses the built-in TypeError
exception, certainly customized to a particular error. This makes things easier at the user's side, as the user does not have to import these custom exception when wishing to catch the error from rounder
.
Type annotation
This release comes with type annotations of the functions that create rounder
's API. In addition, the release fixed a bug with signif_object()
which in particular situations changed int
numbers to float
ones.
Generators, maps and filters included
This release adds generator, map
and filter
objects, which are now handled by the rounder
functions - whatever a rounded map
yields, for instance, will be rounded.
Optimization
This release comes with optimized code, which performs much better for large and complex objects.
Multiple types
rounder v0.4.1
handles many built-in types: int
, float
, complex
, set
, frozenset
, list
, tuple
, collections.namedtuple
, typing.NamedTuple
, dict
, collections.defaultdict
, collections.OrderedDict
, collections.UserDict
, collections.Counter
, collections.deque
, array.array
, and collections.abc.Mapping
.