All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Switch from setup.py and setup.cfg to pyproject.toml
- Remove nanoutils.version_info in favor of .__version__ and .__version_tuple__.
- Fix the _from_iterable abstract method of the h5py views
- Add formal Python 3.11 support
- Misc CI updates
- Avoid double-loops in _RecursiveMappingView.
- Improve the
repr
of the varioush5py.File
views.
- Allow
VersionInfo.from_str
to take any pep 440-compatible version string. - Add
VersionInfo.bug
andVersionInfo.maintenance
as aliases forVersionInfo.micro
.
- Added
UserMapping
entry points for the IPython key completioner and pretty printer. - Added a decorator for applying the effect of
warnings.filterwarnings
to the decorated function.
- Added a decorator for constructing positional-only signatures.
- Added two mappings for creating structured dtypes.
- Added two mapping baseclasses for user defined mappings.
- Reimplement
RecursiveValuesView.__eq__
in terms ofcollections.Counter
comparisons.
- Added the
fullmatch
argument toVersionInfo.from_str
. - The h5py-related
recursive_keys
,recursive_values
andrecursive_items
functions now returncollections.abc.MappingView
instances, rather than generators. These mappingviews are available via theRecursiveKeysView
,RecursiveValuesView
andRecursiveItemsView
classes.
- Added
LazyImporter
andMutableLazyImporter
, two classes for lazily importing objects.
- Allow
SequenceView.index
andSequenceView.count
to pass on arbitrary parameters. - Reworked
SequenceView.__repr__
to usepprint
.
- Added the new
SequenceView
andCatchErrors
classes. - Drop support for Python 3.6.
- Fixed an issue with building wheels.
- Added
UniqueLoader
, a pyyaml Loader that dissallows duplicate keys. - Added three functions for recursivvelly iterating through hdf5 files/groups:
recursive_keys()
,recursive_values()
andrecursive_items()
. - Renamed
DtypeLike
toDTypeLike
.
- Bump the setup-python version to v2.
- Enable tests for Python 3.9.
- Bump the Cancel Workflow Action version to 0.4.1.
- Added aliases for the following
numpy.typing
annotations:ArrayLike
,DtypeLike
&ShapeLike
. - Fixed an issue with the license in
MANIFEST.in
. - Enable Cancel Workflow Action for the unit tests.
- Added tests for building wheels.
- Validate the passed path-/file-like object in AbstractFileContainer.read() and .write().
- Enabled the readthedocs Autobuild Documentation for Pull Requests option.
- Updated the development status from Beta to Production/Stable.
- Added the
nanoutils.testing_utils
module; contains theFileNotFoundWarning
class and@delete_finally()
decorator.
- Set the default output of
AbstractFileContainer.write()
tosys.stdout
. - Cleaned up
tests_require
insetup.py
. - Added the
get_func_name()
function. - Added the
module
argument toissubclass_factory()
,isinstance_factory()
andimport_factory()
. PartialPrepend
andSetAttr
are now in their own (private) modules. Note that they still should be imported from (preferably)nanoutils
or otherwise ``nanoutils.utils.- Run tests on the
docs/
directory. - Updated annotations and documentation.
- Fixed an issue where decorator documentation wasn't properly generated.
- Minor documentation fixes.
- Added the
@ignore_if()
decorator.
- Added the
AbstractFileContainer
class andfile_to_context()
function. - Marked all internally used type annotations are private.
- Added contextlib2 as a dependency for Python 3.6.
- Added
PathType
, an annotation for path-like objects. - Added the
copy
argument toas_nd_array()
.
- Fixed a bug with
split_dict()
.
- Added the
disgard_keys
argument tosplit_dict()
.
- Added the
SetAttr
context manager. - Updated the development status from alpha to beta.
- Added new NumPy-specific functions:
as_nd_array()
,array_combinations()
&fill_diagonal_blocks()
. - Expanded the
typing_utils
module with a number of, previously missing, objects. - Added the
EMPTY_CONTAINER
constaint. - Added the
VersionInfo
namedtuple and theraise_if()
&split_dict()
functions. - Added the
version_info
attribute to the package.
- Updated the badges.
- Added a GitHub Actions workflow for automatic PyPi publishing.
- First release.
- Introduced of four new modules:
empty
,schema
,typing_utils
andutils
.
- Empty Python project directory structure.