Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## breaking #1124 +/- ##
============================================
+ Coverage 82.43% 82.53% +0.09%
============================================
Files 57 57
Lines 5647 5673 +26
============================================
+ Hits 4655 4682 +27
+ Misses 992 991 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
One coincidental behavior change is that before this PR |
|
I guess there isn't really any answer to if Maybe we can just add a |
|
Actually, fixing this will create ambiguities everywhere so we have to define |
* include DataType in CategoricalEltypes (#876) * Breaking: `DimVector` of `NamedTuple` is a `NamedTuple` `DimTable` (#839) * DimVector of NamedTuple is a NamedTuple table * bugfix * remove show * fix ambiguity * Breaking: add `combine` method for `groupby` output, fixing `similar` for `AbstractDimStack` (#903) * add combine method * test groupby and similar * docs entry * Breaking: `preservedims` in tables (#917) * add preservedims keyword to DimTable * add tests * Apply suggestions from code review Co-authored-by: Anshul Singhvi <anshulsinghvi@gmail.com> * tests, and fix DimSlices * better table docs * cleanup * test * indexing overhaul * fix similar and broadcast for basicdimarray * bugfix rebuildsliced * more indexing cleanup * cleanup similar and gubfix indexing * bugfixes * uncomment * fix doctests * just dont doctest unreproducable failures, for now * combine new Tables integrations * bugfix and cleanup show * bugfix and more tests for preservedims and mergedims --------- Co-authored-by: Anshul Singhvi <anshulsinghvi@gmail.com> * Remove deprecations (#1009) * typo * add missing reference docs * fix DimSlices doc * Breaking: skipmissing on a dimstack (#1041) * iterate values where no layer is missing * add tests * add skipmissing to reference * Breaking: Materialize `DimArray` or `DimStack` From a Table (#739) * Table Materializer Methods * Made col Optional for DimArray * Apply suggestions from code review Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Handle coordinates with different loci * replaced At() with Contains() in _coords_to_ords * Added optional selectors and public methods for table materializer * Updated table constructors for DimArray and DimStack * Updated DimArray and DimStack docs to include table materializer methods * Table materializer test cases * export table materializer methods * Added Random to tables.jl test cases * Update src/array/array.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Removed exports * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Replaced selector type with instance. * Table materializer can now infer dimensions from the coordinates. * Update src/stack/stack.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/array/array.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/table_ops.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Added support for guessing the dimension ordering and span for Dates and DateTimes * Replaced LinRange with StepRangeLen in _build_dim * Added Tables.istable check to DimArray constructor * Update src/array/array.jl * merge materialize2 * fix scuffed merge * filter instead of indexing in test for clarity * fix DimSlices doc * fix ambiguities * bugfixes * do checks and call Tables.columns before constructing stack from table * test dimensions are automatically detected when constructing dimstack * comments not docstrings for internals * check for columnaccess if dims are passed * add type argument to dimarray_from_table * allow passing name to DimStack * add a section to the documentation * use Tables.columnnames instead of keys * make DimArray work with all tables that are abstractarrays * do not treat dimvectors as tables * simplify get_column --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> Co-authored-by: Tiem van der Deure <tiemvanderdeure@gmail.com> * start a CHANGELOG * bump minor version to 0.30.0 * document Changelog.jl usage * use rebuild for similar of dimarray with new axes (#1082) * add _similar dispatch for abstractdimarray * update tests * Update src/array/array.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update src/array/array.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Breaking: standardise interface methods and remove `index` (#1083) * standardise interface methods and remove index * update Changelog * cleanup * move const * cleanup * remove index from test * dont export index * last index * tweaks * more tweaks * fix tests --------- Co-authored-by: Raf Schouten <schoutenr@ull-pf39vwmc.mobility.unimelb.net.au> * move abstract constructors to DimArray constructors (#1087) * Forward name keyword in groupby (#1084) * Forward name keyword in groupby * Add test for setting groupby name explicitly * Update src/groupby.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Update test/groupby.jl Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Add Changelog entry * Mention name keyword in docstring --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Remove rtol from At selector (#1062) * Remove rtol from At selector * Remove explicit rtol from test * Remove unused type parameter * fix At constructors --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * fix selector tests * fix At in dimindices * Breaking: remove methods that are hardly uesd and cause many invalidations (#1113) * do 0.6, 0.7.2 broke for us (#1099) * Fix tests on julia 1.12 (#1110) * use isequal instead of === to compare NaN * drop all and broadcast * specify DimensionalData.Dimensions to make reference unique in docs * drop convert method for name to abstractstring * remove `merge` method for dimstack with iterators of pairs * add to changelog --------- Co-authored-by: Lazaro Alonso <lazarus.alon@gmail.com> * Implement `Base.instantiate` - take 2 (#1118) * implement `instantiate` - get rid of BasicDimensionalStyle * fix setindex! for opaquearray to make some error messages clearer * fix materialize! * StandardIndices methods should be last (#1129) * add `broadcastable` for abstractdimstack (#1127) * Add the `D` parameter to `AbstractDimStack` (#1128) * put D parameter in AbstractDimStack * update CHANGELOG.md * remove deprecated LookupArrays (#1132) * Extend matmul with DimUnitRange axes (#1124) * Add dims fallback * Update matmul for mixtures of normal arrays and dimarrays * Fix bugs * Add and remove some comparedims checks * Add tests for matmul with DimUnitRange axes * Test that dims is nothing for an array * Test that dims returns dims if all axes DimUnitRange * Check lookup of anon dims * Breaking: Include refdims as columns in DimTable (#1119) * Complete unfinished docstring example * Support refdims in DimTable * Test refdims in DimTable * By default add no refdims to Tables To make feature non-breaking * Update tables tests * Test getcolumn for DimStack/DimArray * Remove unused variable * Update constructor calls * Correctly compute dimnums * Use all dims to compute colnames * By default include refdims * Make sure data-array is duplicated if necessary * Add preservedims/refdims test * Fix some bugs * Add more joint compatibility tests with refdims * Support AoG selection of refdims * Only extended array with dims if needed * Test AoG with refdims * refdims doc line --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * Add a DimStackArray generator (#1131) * add DimStackArray * export DimStackArray * add tests * add a docstring * drop inner constructor Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * fix missing } * fix DimStackArray type definition * add tests for broadcast over stack * add to the docs --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> * uncomment tests * unccomend dimindices tests Co-authored-by: Felix Cremer <felix.cremer@dlr.de> * Swap dims test and value test in == (#1111) * Swap dims test and value test in == * Add isequal test * Add broken test for dimarray isequal with different axes * Make the same swap in == also for DimStack * Add isequal for AbstractDimArray and AbstractDimstack * Fix stack test * Update test/stack.jl Co-authored-by: Tiem van der Deure <tiemvanderdeure@gmail.com> * Add Changelog entry --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> Co-authored-by: Tiem van der Deure <tiemvanderdeure@gmail.com> * Breaking: Make reduction methods error when passed missing dimensions (#1162) * Fix NearestNeighbor extension Description of the fix from Claude: The issue was in ext/DimensionalDataNearestNeighborsExt.jl at line 35: Problem: The distance vector was being created with the wrong element type: distvec = Vector{NN.get_T(eltype(points))}(undef, 1) NN.get_T(eltype(points)) was returning SVector{2, Float64} (the point type) instead of Float64 (the scalar distance type). This caused knn! to fail with: ArgumentError: dists must have eltype Float64, got StaticArraysCore.SVector{2, Float64} Fix: Changed to use eltype(eltype(points)) which correctly extracts the scalar type: distvec = Vector{eltype(eltype(points))}(undef, 1) * Disable broken inference tests Claude blames the implementation of `_sortdims()`, which is called by `_dims()` and is apparently not type-stable. * Disable CondaPkg verbosity This otherwise spams the terminal. * Revert "fix `sum(da; dims = :notadim)` (#1116)" This reverts commit 2245221. * Improve error messages for reduction methods with missing dims This uses the new `_missingdims()` helper function to select all the missing dimensions, and we now don't call `basetypeof` in `_extradimsmsg()` since `extradims` may not all be `Dim`s. * Fix Makie tests * Breaking: split `set` into `unsafe_set` and `set` (#926) * tweaks * some ambiguities * more set * bugfix unsafe and reorder * set tweaks * Update src/Dimensions/set.jl * Update src/set.jl * Update src/set.jl * Update src/Dimensions/set.jl * Add a few test cases * Try to fix some ambiguities and some wrong variable names * Fix ambiguities * Reimport _astuple * Add roundtrip tests * more set tests * merge breaking * more tests * checkaxes => checkaxis * fix doctests * doc unsafe set --------- Co-authored-by: Felix Cremer <fcremer@bgc-jena.mpg.de> * fix ambiguities * update CHANGELOG.md for set changes * Breaking: Extent passthrough for multidimensional lookups (#991) * hasmultipledimensions * expand the definition of extent * bump cairomakie compat * Add tests for hasmultipledimensions trait and extent passthrough (PR #991) - Add comprehensive tests for hasmultipledimensions trait in merged.jl - Test that regular lookups return false for hasmultipledimensions - Test that MergedLookup returns true for hasmultipledimensions - Test extent passthrough for merged dimensions - Test mixed regular and merged dimensions - Test that operations preserve the hasmultipledimensions trait - Add fallback methods to handle edge cases: - hasmultipledimensions(::Any) = false for non-Lookup types - bounds(x::AbstractArray) for raw arrays - Import Extents in merged.jl test file - Fix bounds ambiguity with explicit module qualification * Refactor to `hasinternaldimensions` * Add changelog * Tweak metadata on dimensions.md docs * Add yet more tests * Fix StackOverflow in mergedims for single dimension Wrap old_dims in _astuple() when constructing MergedLookup so that a bare Dimension doesn't cause infinite recursion in combinedims. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix BoundsError in bounds for empty MergedLookup Add isempty guard so that bounds on an empty MergedLookup returns () instead of throwing when calling first on an empty collection. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix multidimensional_lookups test assertions - Wrap merged_dims in tuple for Extents.extent call - Assert ArgumentError for unsupported Near selector - Use Z type instead of Dim{:Z} for @dim-declared dimension Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Update CHANGELOG.md * Add docstring for `hasinternaldimensions` * Describe what is going on in new extent code * Add hasinternaldimensions docs to doc pages --------- Co-authored-by: Rafael Schouten <rafaelschouten@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> * Add removal of LookupArrays into Changelog and remove LookupArrays reference in docs (#1173) --------- Co-authored-by: Tiem van der Deure <tiemvanderdeure@gmail.com> Co-authored-by: Anshul Singhvi <anshulsinghvi@gmail.com> Co-authored-by: Felix Cremer <fcremer@bgc-jena.mpg.de> Co-authored-by: Joshua Billson <61667893+JoshuaBillson@users.noreply.github.com> Co-authored-by: Raf Schouten <schoutenr@ull-pf39vwmc.mobility.unimelb.net.au> Co-authored-by: Lazaro Alonso <lazarus.alon@gmail.com> Co-authored-by: Seth Axen <seth@sethaxen.com> Co-authored-by: Felix Cremer <felix.cremer@dlr.de> Co-authored-by: James Wrigley <JamesWrigley@users.noreply.github.com>
Extends matmul methods to construct an
AbstractDimArraywhenever one argument is anAbstractDimArrayand the other hasDimUnitRangeaxes. Fixes #1122