Releases: G-Node/nixpy
Releases · G-Node/nixpy
Version 1.5.4
What's Changed
- test_doc_examples.py: initialize examples_path. by @emollier in #538
- use python3 in shebang. by @emollier in #539
- Numpy > 2.0 compatibility by @jgrewe in #542
- Removed Python2 leftovers by @a-detiste in #541
- fix test warnings by @jgrewe in #543
New Contributors
- @emollier made their first contribution in #538
- @a-detiste made their first contribution in #541
Full Changelog: 1.5.3...1.5.4
Version 1.5.3
This release fixes two issues
-
When reading string data from the dataset, the strings were implicitly converted to
np.str_
data type. They are ensured to be kept as nativestr
now (pr #536) -
When reading data slices with
data_array.get_slice
method from an event array inSliceMode.Data
that did not contain any events, aOutOfBounds
exception was thrown. This is now caught and instead an emptyDataView
is returned.
Version 1.5.2
- fixes a problem with
DataArray.get_slice
in combination with aRangeDimension
(#529 ) - fixes an issue with reading more than 1d string data (#531)
- old-style metadata string values are now read and returned as proper strings and no longer byte strings (#530)
- sets the maximum recursion depth of the
Section.pprint
to unlimited (max_depth = -1
) as default (#523 - aligns the internal version numbers with the realease version number (#528)
- solves an inconsistency in error handling #525
- corrects the block creating without name and type #524
- manifests the long-ago drop of python 2 support in the setup.py #465
Version 1.5.1
Changes in 1.5.1
- adds a method to the DataArray that adds a RangeDimension that links to the DataArray itself. (What has been an AliasRangeDimension before 1.5, issue #500
- reintroduces RangeDimension.is_alias method and allows to read before 1.2 AliasRangeDimension ticks (pr #503)
- fixes an issue to access the parent Block of a Source (issue #498)
- adds a method to find the parent source in a nested tree of Sources (issue #498)
- updates the full documentation https://nixpy.readthedocs.io/en/master/ (pr #512)
- adds an overload to SampledDimension.axis that allows to start at a position not only an index (pr #504)
- add optional arguments to
Block.create_data_array
to set label and unit directly upon creation (pr #505) - improves the print output of
DataFrame
entities. - empty data slices no longer lead to an exception but return an empty array (issue #502, pr #516)
- fixes bugs in upgrade script (issue #509, issue #511)
- fixes a bug in command line tool occurring in 3.6 (we used an argparse argument introduced in 3.7+ versions, pr #519)
- makes
file_upgrade
function available via nixio package import (pull request #512) - allows to pass other iterables to SetDimension.labels than just lists (pr #520)
- adds a Label to the SetDimension (pr #522)
- fixes a downward compatibility issue with AliasRangeDimensions (pr #521)
Data model changes
- Pull request #522 introduces a non-breaking change to the model. Model version was bumped to 1.2.1
Version 1.5.0
Changes
- adds new functionality to the
nixio
command line tool to explore nix files:
nixio explore --help
- changes the default way of retrieving data from a Tag or MultiTag, this now follows the numpy behavior, old behavior is available via flag
- Allows to link to DataFrames in as Features in Tags and MultiTags
- Drops Python2 support
Fixes
- Adapts to changes in h5py string handling
- Fixes an issue reading data from a DataView object
- Fixes how strings are handled in DataFrames
- Lots of tiny code-style fixes
- Improved testing of data access functions
Relevant PRs:
#495 Tag retrieval: Inclusive and Exclusive stop rule
#478 Support linking DataFrames to Tags via Features
#477 RangeDimension: Replace ticks with link and vice versa when setting
#475 Command line: Top level nixio command with subcommands for command line scripts
#471 Add nixexplore command line tool
Version 1.5.0 beta 6
Changes
- File format upgrade script changes AliasRangeDimension to RangeDimension with DimensionLink to DataArray.
Relevant PRs
- #470: Upgrade dimension
Version 1.5.0 beta 5
Changes
- Dimension links: Dimensions can now be linked to data objects (DataArray or DataFrame). This links a Dimension object to a specific vector of data, which is either a single vector of a DataArray's data or a single column of a DataFrame.
- This removes the AliasRangeDimension object. The same functionality can be achieved by adding a RangeDimension and then linking it back to the parent DataArray.
- The FILE FORMAT version is now 1.2.0.
- New script
nixio-upgrade
: Upgrades files to newest version if there are file format changes. - Every NIX object holds a reference to the open file object it belongs to and can be accessed via
obj.file
. - Storage optimisation: Dataset and property creation was causing large per-object overhead which made files with a large number of small objects take up too much space. We changed the way these are initialised so file sizes should be much smaller going forward.
- MultiTags can have extents specified in the constructor.
- MultiTags can now be created by supplying an array or a list for the positions and extents arguments. This will result in the automatic creation of DataArrays to hold these values.
- DataArray now has an
iter_dimensions()
method which, when iterated upon, generates a 1-based index along with each dimension of the array. - Changed the structure of the information returned by the
File.validate()
method. The information is now organised in a dictionary with two keys,"errors"
and"warnings"
. Each contains dictionary that maps NIX objects to a list of error or warning messages respectively.
Bug fixes
- Fixed the behaviour of the object modification time and the option which disables it.
- Fixed several bugs in the validator module.
- Fixed DataFrame creation using a compound (structured) data type without specifying column names.
Relevant PRs
- #421: Validator part 2
- #423: Validator script
- #432: Add shape when initializing properties to optimize storage
- #434: Fix bug for h5group.root
- #436: Allow supplying np_arrays or list for multi_tags positions
- #438: Add method that returns 1-based index dimension iterators
- #440: Change the search method of index_of() for range_dim
- #442: Enforce unique column names for DataFrame
- #445: Fix bug when create dataframe from compound arrays and add test
- #452: Upgrade script
- #462: File references
- #464: Fixes and simplifications for DataTypes and DataType mappings
- #469: Dimension links
Version 1.5.0 beta 4
Changes
- DataFrame: The new table-like DataFrame object has been available since beta 3, but now it has been improved and better tested. There are still some planned features before it can be considered complete.
- New file open argument:
auto_update_time
. When enabled, updates the modification time for objects whenever they are modified. This may become the default behaviour in a future release. - Incremented file format version: 1.1.1
- Properties now have an
extend_values()
method for adding values to an existing Property. - Pretty print from file root: File object now has a
pprint()
method which combines the data and metadata pretty print methods. - Validator method method and command line script: Added a full reimplementation of the NIX validator. this can be called from a file object using the
validate()
method or from the command line with the commandnix-validate
followed by one or more NIX file paths.
Bug fixes
- Fixed unicode support in Property values.
- Fixed reading and writing data through DataView objects.
Relevant PRs
Version 1.5.0 beta 3
Changes
- Dropped
retrieve_
prefix from data access methods in Tag and MultiTag. Old method names still work but warn that they are deprecated.retrieve_data
→tagged_data
retrieve_feature_data
→feature_data
- New pretty print function
pprint()
for the data tree. The function can be run from any Block object to print a tree representation of its contained objects.
Bug fixes
- Fixed a bug where an error would occur when searching for objects from a metadata Section and some objects did not have defined metadata.
Relevant PRs
Version 1.4.9
Bugfixes
- Fixed bug in metadata pretty print function
pprint()
Relevant PRs
- #350 Fix argument order in recursive calls to pprint()