Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
8674936
WIP: FixedInterpCoordinate
atrabattoni May 12, 2026
e3a71d5
Merge remote-tracking branch 'origin/dev' into feature/fixed-interp-c…
atrabattoni May 12, 2026
341fd32
Change parse, parse_tolerance -> parse_data_dim, parse_scalar_delta.
atrabattoni May 13, 2026
ca3d7c7
WIP: sampling_interval/tolerance checking + some tests
atrabattoni May 14, 2026
6c899c5
Merge branch 'dev' into feature/fixed-interp-coords
atrabattoni May 14, 2026
09a8b5b
Merge branch 'dev' into feature/fixed-interp-coords
atrabattoni May 16, 2026
7f590d5
Move dense-specific methods out of Coordinate base class.
atrabattoni Jun 17, 2026
28fc230
Add missing docstrings and tests for coordinate coverage
atrabattoni Jun 17, 2026
a06c040
Make Coordinate an ABC with abstract core interface
atrabattoni Jun 17, 2026
4804084
Make from_dataset a factory delegating to abstract collect_from_dataset
atrabattoni Jun 17, 2026
bc299e0
Make is_monotonic_increasing abstract on Coordinate
atrabattoni Jun 17, 2026
ea3e4a0
Make __len__ and __getitem__ abstract on Coordinate
atrabattoni Jun 17, 2026
8618c58
Make concat abstract on Coordinate
atrabattoni Jun 17, 2026
7114873
Make from_block abstract on Coordinate
atrabattoni Jun 17, 2026
2013ef0
Fix ZMQ test timing for Python 3.14 on macOS ARM
atrabattoni Jun 17, 2026
a22edc8
Extract RegularMixin for ordered-coordinate machinery
atrabattoni Jun 17, 2026
c34b116
Accept copy keyword in __array__ for NumPy 2.0 compliance
atrabattoni Jun 18, 2026
d132a4c
Route values through __array__(copy=False); drop subclass overrides
atrabattoni Jun 18, 2026
82c5aa8
Replace per-subclass equals with a generic dtype-strict Coordinate.eq…
atrabattoni Jun 18, 2026
379f0b3
Remove unused to_dict/from_dict serialization from DataArray and coor…
atrabattoni Jun 18, 2026
d1b8902
Remove Coordinate.isdense, isdefault, isinterp, issampled. Use concat…
atrabattoni Jun 18, 2026
95ecbe8
Consolidate ndim/shape/size onto Coordinate base; ScalarCoordinate ov…
atrabattoni Jun 18, 2026
da8659b
Declare get_sampling_interval as part of the RegularMixin interface
atrabattoni Jun 18, 2026
2a55007
Rename RegularMixin to SampledMixin
atrabattoni Jun 18, 2026
6820558
Reorder methods in Coordinate subclasses into consistent themed groups
atrabattoni Jun 18, 2026
45c436c
Add @override to Coordinate subclass methods; add typing_extensions dep
atrabattoni Jun 18, 2026
281ff1d
Centralize redundant docstrings on Coordinate base; polish base contr…
atrabattoni Jun 18, 2026
d1ca585
Reorder Coordinate base into themed sections; move private helper last
atrabattoni Jun 18, 2026
0afbb24
Order Coordinate base dunders-first with abstract methods first per s…
atrabattoni Jun 18, 2026
dea3813
Fix stale call sites and adapt tests after abc-coordinate refactor
atrabattoni Jun 18, 2026
c047a6a
Remove DefaultCoordinate — unused in library code
atrabattoni Jun 18, 2026
723eae9
Finish abc-coordinate: abstract _to_dataset, reorder DenseCoordinate,…
atrabattoni Jun 18, 2026
8b59042
Finish ScalarCoordinate: reorder methods, add missing overrides, fix …
atrabattoni Jun 18, 2026
4e4a90d
Fix coordinate bugs found in review
atrabattoni Jun 18, 2026
5dfe0eb
Bump version to 0.2.8 and add release notes
atrabattoni Jun 18, 2026
305e502
Add missing test coverage and fix coordinate edge cases
atrabattoni Jun 19, 2026
7c3a901
Ensure 100% test coverage for coordinates module
atrabattoni Jun 19, 2026
72bad76
Update coordinate docs and docstrings after abc-coordinate refactor
atrabattoni Jun 19, 2026
186f239
Consolidate coordinate docstrings into abstract methods only
atrabattoni Jun 19, 2026
6c4ad85
Move index and slice formatting from subclass methods to __getitem__
atrabattoni Jun 19, 2026
3fff8f7
Privatize internal coordinate methods
atrabattoni Jun 19, 2026
70ca5b3
Improve Coordinate class docstring
atrabattoni Jun 19, 2026
724b03e
Expand 0.2.8 release notes with breaking changes and refactoring details
atrabattoni Jun 19, 2026
7a89a24
Cover ScalarCoordinate.__array__ copy branch and rename name= to ctyp…
atrabattoni Jun 19, 2026
87ebedd
Merge pull request #75 from xdas-dev/chore/abc-coordinate
atrabattoni Jun 19, 2026
0f7ddbd
Merge branch 'dev' into feature/fixed-interp-coords
atrabattoni Jun 19, 2026
524d9ee
Refactor FixedInterpCoordinate to align with private method conventions
atrabattoni Jun 19, 2026
2165f53
Implement RegularInterpCoordinate and split coordinate mixins
atrabattoni Jun 20, 2026
6b4f14c
Document RegularInterpCoordinate and the get_sampling_interval change
atrabattoni Jun 20, 2026
a7bd6f1
Fix get_sampling_interval returning None incorrectly and from_block f…
atrabattoni Jun 20, 2026
7bf383e
Collapse RegularInterpCoordinate into InterpCoordinate
atrabattoni Jun 20, 2026
b34431f
Fix from_block producing an endpoint inconsistent with sampling_interval
atrabattoni Jun 20, 2026
7e166fe
Introduce AxisCoordinate intermediate ABC
atrabattoni Jun 20, 2026
2038de8
Clean cross-submodule imports to go through __init__.py
atrabattoni Jun 20, 2026
68e9cf5
Merge PiecewiseMixin into AxisCoordinate
atrabattoni Jun 20, 2026
f8ef624
Compare split candidates against the left segment sampling interval
atrabattoni Jun 20, 2026
daf8a90
Infer regular sampling interval by minimising worst-case drift
atrabattoni Jun 22, 2026
e5b509f
Track running reference rate in DenseCoordinate split detection
atrabattoni Jun 22, 2026
56e35d5
Document InterpCoordinate CF semantics and centralise continuous-area…
atrabattoni Jun 22, 2026
0e2c6a9
Find Chebyshev-center spacing pair in O(n log n) via numba
atrabattoni Jun 22, 2026
f642bce
Document InterpCoordinate.simplify and cover discontinuity cases
atrabattoni Jun 22, 2026
ed4c141
Tighten InterpCoordinate helper internals
atrabattoni Jun 22, 2026
84e78aa
Widen simplify tolerance to absorb fused discontinuities
atrabattoni Jun 22, 2026
9678e41
Honour explicit to_regular arguments on an already-regular coord
atrabattoni Jun 22, 2026
17fe290
Make InterpCoordinate._concat strict, reconcile rates in concat_coords
atrabattoni Jun 22, 2026
460cb72
Drop to_regular auto tolerance mode
atrabattoni Jun 22, 2026
6f7a6cf
Add InterpCoordinate.infer_regular diagnostic helper
atrabattoni Jun 22, 2026
f6d984b
Add reduce/regularize stages to simplify, thread through concat
atrabattoni Jun 26, 2026
3b38913
Preserve input coordinate type in stft output coordinates
atrabattoni Jun 28, 2026
12c6079
Add xdas.testing.dummy fixture helper
atrabattoni Jun 28, 2026
0b5df0f
Migrate signal functions to coordinate-level get_sampling_interval
atrabattoni Jun 28, 2026
17a7f0c
Make coordinate regularity an explicit declaration
atrabattoni Jul 30, 2026
c03c320
Carry declared jitter through simplify and concat
atrabattoni Jul 30, 2026
4d9a946
Emit regular coordinates from IO engines and FFT
atrabattoni Jul 30, 2026
7ba04e7
Document regular coordinates and cover xdas.testing
atrabattoni Jul 30, 2026
bbdad06
Use xdas.testing.dummy for signal-agnostic test fixtures
atrabattoni Jul 30, 2026
e951ebc
Merge pull request #78 from xdas-dev/feature/fixed-interp-coords
atrabattoni Jul 30, 2026
dcaaf17
Fix regular-coordinate gaps found on real DAS archives
atrabattoni Jul 30, 2026
cf16a5b
Comply with ruff 0.16
atrabattoni Jul 30, 2026
c4c1104
Remove the regular-coordinates plan from docs
atrabattoni Jul 30, 2026
3d071fa
Mark the version as a release candidate
atrabattoni Jul 30, 2026
359a7cf
Read the package version from a single source
atrabattoni Jul 30, 2026
d573e1c
Note the single version source in the release notes
atrabattoni Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 72 additions & 73 deletions docs/api/coordinates.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@

## Coordinates

Constructor


```{eval-rst}
.. autosummary::
:toctree: ../_autosummary
Expand All @@ -22,23 +19,19 @@ Methods
:toctree: ../_autosummary

Coordinates.isdim
Coordinates.get_query
Coordinates.to_index
Coordinates.equals
Coordinates.to_dict
Coordinates.copy
Coordinates.drop_dims
Coordinates.drop_coords
Coordinates.drop_dims
Coordinates.drop_coords
```

### Coordinate

Constructor
## Coordinate

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

Coordinate
```

Expand All @@ -49,9 +42,11 @@ Attributes
:toctree: ../_autosummary

Coordinate.dtype
Coordinate.ndim
Coordinate.shape
Coordinate.size
Coordinate.dim
Coordinate.values
Coordinate.name
```

Methods
Expand All @@ -60,22 +55,32 @@ Methods
.. autosummary::
:toctree: ../_autosummary

Coordinate.to_index
Coordinate.isscalar
Coordinate.isdense
Coordinate.isinterp
Coordinate.isdim
Coordinate.isregular
Coordinate.equals
Coordinate.copy
```

## AxisCoordinate

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

### ScalarCoordinate
AxisCoordinate
```

Constructor
Attributes

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

ScalarCoordinate
AxisCoordinate.ndim
AxisCoordinate.empty
AxisCoordinate.indices
AxisCoordinate.start
AxisCoordinate.end
```

Methods
Expand All @@ -84,15 +89,27 @@ Methods
.. autosummary::
:toctree: ../_autosummary

ScalarCoordinate.isvalid
ScalarCoordinate.equals
ScalarCoordinate.to_index
ScalarCoordinate.to_dict
AxisCoordinate.isregular
AxisCoordinate.get_sampling_interval
AxisCoordinate.to_regular
AxisCoordinate.get_split_indices
AxisCoordinate.get_discontinuities
AxisCoordinate.get_availabilities
AxisCoordinate.simplify
AxisCoordinate.to_index
AxisCoordinate.to_dataarray
```

### DenseCoordinate
## ScalarCoordinate

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

ScalarCoordinate
```

Constructor
## DenseCoordinate

```{eval-rst}
.. autosummary::
Expand All @@ -101,22 +118,28 @@ Constructor
DenseCoordinate
```

Methods
Attributes

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

DenseCoordinate.isvalid
DenseCoordinate.index
DenseCoordinate.get_indexer
DenseCoordinate.slice_indexer
DenseCoordinate.to_dict
```

### InterpCoordinate
Methods

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

Constructor
DenseCoordinate.from_block
DenseCoordinate.get_sampling_interval
DenseCoordinate.to_regular
DenseCoordinate.simplify
```

## InterpCoordinate

```{eval-rst}
.. autosummary::
Expand All @@ -127,19 +150,14 @@ Constructor

Attributes


```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

InterpCoordinate.tie_indices
InterpCoordinate.tie_values
InterpCoordinate.empty
InterpCoordinate.dtype
InterpCoordinate.ndim
InterpCoordinate.shape
InterpCoordinate.indices
InterpCoordinate.values
InterpCoordinate.sampling_interval
InterpCoordinate.tolerance
```

Methods
Expand All @@ -148,24 +166,13 @@ Methods
.. autosummary::
:toctree: ../_autosummary

InterpCoordinate.isvalid
InterpCoordinate.equals
InterpCoordinate.get_value
InterpCoordinate.format_index
InterpCoordinate.slice_index
InterpCoordinate.get_indexer
InterpCoordinate.slice_indexer
InterpCoordinate.decimate
InterpCoordinate.from_block
InterpCoordinate.to_regular
InterpCoordinate.get_sampling_interval
InterpCoordinate.simplify
InterpCoordinate.get_discontinuities
InterpCoordinate.from_array
InterpCoordinate.to_dict
```


### SampledCoordinate

Constructor
## SampledCoordinate

```{eval-rst}
.. autosummary::
Expand All @@ -176,7 +183,6 @@ Constructor

Attributes


```{eval-rst}
.. autosummary::
:toctree: ../_autosummary
Expand All @@ -185,12 +191,6 @@ Attributes
SampledCoordinate.tie_lengths
SampledCoordinate.tie_indices
SampledCoordinate.sampling_interval
SampledCoordinate.empty
SampledCoordinate.dtype
SampledCoordinate.ndim
SampledCoordinate.shape
SampledCoordinate.indices
SampledCoordinate.values
```

Methods
Expand All @@ -199,18 +199,17 @@ Methods
.. autosummary::
:toctree: ../_autosummary

SampledCoordinate.concat
SampledCoordinate.decimate
SampledCoordinate.equals
SampledCoordinate.from_array
SampledCoordinate.from_block
SampledCoordinate.get_indexer
SampledCoordinate.get_sampling_interval
SampledCoordinate.get_split_indices
SampledCoordinate.get_value
SampledCoordinate.isvalid
SampledCoordinate.to_regular
SampledCoordinate.simplify
SampledCoordinate.slice_index
SampledCoordinate.slice_indexer
SampledCoordinate.to_dict
```
```

## Functions

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

get_sampling_interval
```
1 change: 1 addition & 0 deletions docs/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ picking
processing
signal
synthetics
testing
virtual
```
1 change: 0 additions & 1 deletion docs/api/synthetics.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@

wavelet_wavefronts
randn_wavefronts
dummy
```
12 changes: 12 additions & 0 deletions docs/api/testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
```{eval-rst}
.. currentmodule:: xdas.testing
```

# xdas.testing

```{eval-rst}
.. autosummary::
:toctree: ../_autosummary

dummy
```
3 changes: 1 addition & 2 deletions docs/api/xdas.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
concat
concatenate
concat_coords
get_sampling_interval
split
plot_availability
```
Expand Down Expand Up @@ -122,8 +123,6 @@ Methods
DataArray.from_stream
DataArray.to_netcdf
DataArray.from_netcdf
DataArray.to_dict
DataArray.from_dict
DataArray.plot
```

Expand Down
14 changes: 8 additions & 6 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

from xdas import __version__

# -- Project information -----------------------------------------------------

project = "xdas"
copyright = "2024, Alister Trabattoni"
author = "Alister Trabattoni"

# The full version, including alpha/beta/rc tags
release = "0.2.7"
release = __version__


# -- General configuration ---------------------------------------------------
Expand Down Expand Up @@ -86,13 +88,13 @@
}

# -- Generate dummy data -----------------------------------------------------
import os # noqa: E402
import os

import h5py # noqa: E402
import numpy as np # noqa: E402
import h5py
import numpy as np

import xdas as xd # noqa: E402
from xdas.synthetics import wavelet_wavefronts # noqa: E402
import xdas as xd
from xdas.synthetics import wavelet_wavefronts

dirpath = os.path.join(os.path.split(__file__)[0], "_data")
if not os.path.exists(dirpath):
Expand Down
Loading
Loading