Skip to content

Releases: G-Node/nixpy

Version 1.5.4

08 Nov 12:10
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.5.3...1.5.4

Version 1.5.3

25 Mar 13:40
Compare
Choose a tag to compare

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 native str now (pr #536)

  • When reading data slices with data_array.get_slice method from an event array in SliceMode.Data that did not contain any events, a OutOfBounds exception was thrown. This is now caught and instead an empty DataView is returned.

Version 1.5.2

03 Nov 16:13
Compare
Choose a tag to compare
  • fixes a problem with DataArray.get_slice in combination with a RangeDimension (#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

25 Aug 11:48
b140b78
Compare
Choose a tag to compare

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

16 Apr 13:44
Compare
Choose a tag to compare

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

24 Jul 16:54
v1.5.0b6
Compare
Choose a tag to compare
Version 1.5.0 beta 6 Pre-release
Pre-release

Changes

  • File format upgrade script changes AliasRangeDimension to RangeDimension with DimensionLink to DataArray.

Relevant PRs

  • #470: Upgrade dimension

Version 1.5.0 beta 5

23 Jul 14:35
Compare
Choose a tag to compare
Version 1.5.0 beta 5 Pre-release
Pre-release

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

04 Nov 14:14
Compare
Choose a tag to compare
Version 1.5.0 beta 4 Pre-release
Pre-release

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 command nix-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

  • #322: Validator for No bindings dev branch
  • #385: Add auto-time-update flag to NIXpy file
  • #386: File format version: 1.1.1
  • #392: Add append_values method for modifying values
  • #393: Add pprint function for file
  • #408: Support unicode in Property values
  • #414: Fix DataView reading and writing

Version 1.5.0 beta 3

02 Apr 08:24
Compare
Choose a tag to compare
Version 1.5.0 beta 3 Pre-release
Pre-release

Changes

  • Dropped retrieve_ prefix from data access methods in Tag and MultiTag. Old method names still work but warn that they are deprecated.
    • retrieve_datatagged_data
    • retrieve_feature_datafeature_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

  • #373: Retrieve rename
  • #376: Pretty Print for Data Tree
  • #381: Inverse search fix

Version 1.4.9

09 Nov 12:50
Compare
Choose a tag to compare

Bugfixes

  • Fixed bug in metadata pretty print function pprint()

Relevant PRs

  • #350 Fix argument order in recursive calls to pprint()