Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
b8c326f
Fix minor error in the release note.
atrabattoni May 18, 2026
ab51890
typo in release notes.
atrabattoni May 18, 2026
f4728dd
typo in the release notes.
atrabattoni May 18, 2026
99a4ce2
Refactor Coordinate.__new__.
atrabattoni May 20, 2026
7c134b7
Fix scalar Coordinate name.
atrabattoni May 24, 2026
d665a78
Ignore AI agents.
atrabattoni May 24, 2026
9d43fab
Add pytest coverage configuration.
atrabattoni May 24, 2026
81679be
Rework docs: user_guide/index - sampled_coordinates - processing
atrabattoni May 24, 2026
c9ffe73
Add docstrings everywhere.
atrabattoni May 24, 2026
e4d620b
Make testing faster. Some test are marked as slow. Run them with --s…
atrabattoni May 24, 2026
0dc1e85
Update the API part of the doc.
atrabattoni May 24, 2026
3a8d591
Fix docstrings.
atrabattoni May 24, 2026
9d867d7
Fix some docstrings.
atrabattoni May 24, 2026
d89dad9
Invert slow test logic to not skip by default.
atrabattoni May 24, 2026
3711cff
One more missing docstring argument.
atrabattoni May 24, 2026
e485a9a
Increase test coverage.
atrabattoni May 24, 2026
31b2147
Increase code coverage.
atrabattoni May 25, 2026
1202ec2
Switch from isort + black to ruff.
atrabattoni May 25, 2026
580921b
FULL TEST COVERAGE !!!
atrabattoni May 25, 2026
9c7487a
FULL DOSCTRING COVERAGE !!!
atrabattoni May 25, 2026
206e25c
Update release-notes and prepare to 0.2.7.
atrabattoni May 25, 2026
f88bdf9
Remove pytest-timeout from tests dependencies.
atrabattoni May 25, 2026
3d4ab67
FULL RUFF CHECKS !!!
atrabattoni May 25, 2026
593150f
Add docstring checks (except D105).
atrabattoni May 25, 2026
f4b3157
Update release notes.
atrabattoni May 25, 2026
95926de
Fix nasty python 3.10 error.
atrabattoni May 28, 2026
998b6a3
Merge pull request #70 from xdas-dev/refactoring
atrabattoni May 28, 2026
a4d70d0
Fix slow `is_monotonic` for `Interp` and `Sampled` coordinate object.
atrabattoni May 28, 2026
41c8b6e
Update release-notes.py
atrabattoni May 28, 2026
27f145c
Merge pull request #71 from xdas-dev/fix/slow-monotonic-method
atrabattoni May 28, 2026
92d4942
Fix concat empty objects.
atrabattoni May 28, 2026
42d98b5
Update release-notes.md.
atrabattoni May 28, 2026
c418984
Fix some error and add `Datacollecion.sel` tests.
atrabattoni May 28, 2026
9d7aad0
Docstring updates.
atrabattoni Jun 1, 2026
69dd7fb
Merge pull request #72 from xdas-dev/fix/concat-empty
atrabattoni Jun 1, 2026
d4fad8d
Migrate dev workflow from conda to uv
atrabattoni Jun 1, 2026
aba00ca
Update CI workflows to use uv
atrabattoni Jun 1, 2026
bd492ca
Remove pyright dependency for now.
atrabattoni Jun 1, 2026
239ebd0
Ignore uv.lock.
atrabattoni Jun 1, 2026
703559b
Merge pull request #73 from xdas-dev/chore/migrate-to-uv
atrabattoni Jun 1, 2026
b84b540
Add missing relase note about uv.
atrabattoni Jun 1, 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
15 changes: 5 additions & 10 deletions .github/workflows/code-coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,16 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
- name: Set up uv
uses: astral-sh/setup-uv@v6
with:
python-version: 3.14
python-version: "3.14"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install '.[tests]'
run: uv sync --all-groups

- name: Run tests with coverage
run: coverage run --source=xdas -m pytest

- name: Generate coverage report
run: coverage xml
run: uv run pytest --cov --cov-report=xml

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
Expand Down
12 changes: 4 additions & 8 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,11 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- name: Set up uv
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install '.[tests]'
run: uv sync --all-groups
- name: Test with pytest
run: |
pytest
run: uv run pytest
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,11 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
#.idea/

# AI agents
CLAUDE.md
.claude

# uv lock not relevant for a library
uv.lock
44 changes: 41 additions & 3 deletions docs/api/atoms.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ Attributes
Atom.initialized
```


Methods

```{eval-rst}
Expand All @@ -34,19 +33,57 @@ Methods
Atom.initialize_from_state
Atom.call
Atom.reset
Atom.save_state
Atom.set_state
Atom.load_state
```

## Core atoms
## Core atoms

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

Sequential
Partial
State
```

### Partial

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

Partial
```

Attributes

```{eval-rst}
.. autosummary::

Partial.stateful
```

Methods

```{eval-rst}
.. autosummary::

Partial.call
Partial.from_state
Partial.get_state
```

## Decorators

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

atomized
```

## Signal processing

```{eval-rst}
Expand All @@ -57,6 +94,7 @@ Methods
FIRFilter
IIRFilter
LFilter
MLPicker
ResamplePoly
SOSFilter
Trigger
Expand Down
50 changes: 50 additions & 0 deletions docs/api/processing.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,66 @@

# xdas.processing

## Functions

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

process
```

## Loaders

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

DataArrayLoader
RealTimeLoader
```

### DataArrayLoader

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

DataArrayLoader.nbytes
```

## Writers

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

DataArrayWriter
DataFrameWriter
StreamWriter
ZMQPublisher
ZMQSubscriber
```

### DataArrayWriter

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

DataArrayWriter.submit
DataArrayWriter.write
DataArrayWriter.shutdown
DataArrayWriter.result
```

### ZMQPublisher

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

ZMQPublisher.submit
ZMQPublisher.write
ZMQPublisher.result
```
2 changes: 1 addition & 1 deletion docs/api/signal.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
medfilt
```

## Spectral analysisi
## Spectral analysis

```{eval-rst}
.. autosummary::
Expand Down
1 change: 1 addition & 0 deletions docs/api/synthetics.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@

wavelet_wavefronts
randn_wavefronts
dummy
```
112 changes: 100 additions & 12 deletions docs/api/virtual.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,57 +6,130 @@

## VirtualArray

Base class for all virtual array types.

Attributes

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

VirtualArray.shape
VirtualArray.dtype
VirtualArray.to_dataset
VirtualArray.ndim
VirtualArray.size
VirtualArray.empty
VirtualArray.nbytes
VirtualArray.empty
```

Methods

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

VirtualArray.to_dataset
```

## VirtualSource

A lazy pointer to a single dataset inside an HDF5/NetCDF4 file.

Constructor

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

VirtualSource
```

Attributes

```{eval-rst}
.. autosummary::

VirtualSource.vsource
VirtualSource.shape
VirtualSource.dtype
VirtualSource.ndim
VirtualSource.size
VirtualSource.nbytes
VirtualSource.empty
```

Methods

```{eval-rst}
.. autosummary::

VirtualSource.to_dataset
```

## VirtualStack

A lazy concatenation of multiple {py:class}`VirtualSource` objects along one axis.

Constructor

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

VirtualStack
```

Attributes

```{eval-rst}
.. autosummary::

VirtualStack.sources
VirtualStack.axis
VirtualStack.shape
VirtualStack.dtype
VirtualStack.ndim
VirtualStack.size
VirtualStack.nbytes
VirtualStack.empty
```

Methods

```{eval-rst}
.. autosummary::

VirtualStack.append
VirtualStack.extend
VirtualStack.to_dataset
VirtualStack._to_layout
```

## VirtualLayout

Internal HDF5 virtual dataset layout object.

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

VirtualLayout
```

Attributes

```{eval-rst}
.. autosummary::

VirtualLayout.shape
VirtualLayout.dtype
VirtualLayout.to_dataset
```

## VirtualSource
Methods

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

VirtualSource.vsource
VirtualSource.shape
VirtualSource.dtype
VirtualSource.to_dataset
VirtualSource._to_layout
VirtualLayout.to_dataset
```

## Selection
Expand All @@ -65,7 +138,22 @@
.. autosummary::
:toctree: ../_autosummary

Selection
```

Attributes

```{eval-rst}
.. autosummary::

Selection.shape
Selection.ndim
```

Methods

```{eval-rst}
.. autosummary::

Selection.get_indexer
```
```
Loading
Loading