Skip to content

Commit 98dc07f

Browse files
authored
Merge pull request #543 from PyLops/dev
Merge for v2.2.0
2 parents 73af25c + 5b06bc6 commit 98dc07f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+2096
-858
lines changed

.github/workflows/build.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,27 @@ jobs:
77
strategy:
88
matrix:
99
platform: [ ubuntu-latest, macos-latest ]
10-
python-version: ["3.7", "3.8", "3.9", "3.10"]
10+
python-version: ["3.8", "3.9", "3.10"]
1111

1212
runs-on: ${{ matrix.platform }}
1313
steps:
1414
- uses: actions/checkout@v3
15+
- name: Get history and tags for SCM versioning to work
16+
run: |
17+
git fetch --prune --unshallow
18+
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
1519
- name: Set up Python ${{ matrix.python-version }}
1620
uses: actions/setup-python@v4
1721
with:
1822
python-version: ${{ matrix.python-version }}
1923
- name: Install dependencies
2024
run: |
21-
python -m pip install --upgrade pip
25+
python -m pip install --upgrade pip setuptools
2226
pip install flake8 pytest
2327
if [ -f requirements.txt ]; then pip install -r requirements-dev.txt; fi
2428
- name: Install pylops
2529
run: |
30+
python -m setuptools_scm
2631
pip install .
2732
- name: Test with pytest
2833
run: |

.github/workflows/codacy-coverage-reporter.yaml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,27 @@ on: [push, pull_request_target]
66

77
jobs:
88
build:
9+
strategy:
10+
matrix:
11+
platform: [ ubuntu-latest, ]
12+
python-version: ["3.8", ]
913

10-
runs-on: ubuntu-latest
14+
runs-on: ${{ matrix.platform }}
1115
steps:
1216
- uses: actions/checkout@v3
13-
- name: Set up Python
17+
- name: Set up Python ${{ matrix.python-version }}
1418
uses: actions/setup-python@v4
1519
with:
16-
python-version: 3.9
20+
python-version: ${{ matrix.python-version }}
1721
- name: Install dependencies
1822
run: |
1923
python -m pip install --upgrade pip
20-
pip install flake8 pytest coverage
24+
pip install flake8 pytest
2125
if [ -f requirements.txt ]; then pip install -r requirements-dev.txt; fi
2226
- name: Install pylops
2327
run: |
2428
pip install .
29+
pip install coverage
2530
- name: Code coverage with coverage
2631
run: |
2732
coverage run -m pytest

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repos:
1515
- --line-length=88
1616

1717
- repo: https://github.com/pycqa/isort
18-
rev: 5.10.1
18+
rev: 5.12.0
1919
hooks:
2020
- id: isort
2121
name: isort (python)

.readthedocs.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
# Required
6+
version: 2
7+
8+
# Set the version of Python and other tools you might need
9+
build:
10+
os: ubuntu-20.04
11+
tools:
12+
python: "3.9"
13+
14+
# Build documentation in the docs/ directory with Sphinx
15+
sphinx:
16+
configuration: docs/source/conf.py
17+
18+
# Declare the Python requirements required to build your docs
19+
python:
20+
install:
21+
- requirements: requirements-dev.txt
22+
- method: pip
23+
path: .

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
# 2.2.0
2+
3+
* Added `pylops.signalprocessing.NonStationaryConvolve3D` operator
4+
* Added nd-array capabilities to `pylops.basicoperators.Identity` and `pylops.basicoperators.Zero`
5+
* Added second implementation in `pylops.waveeqprocessing.BlendingContinuous` which is more
6+
performant when dealing with small number of receivers
7+
* Added `forceflat` property to operators with ambiguous `rmatvec` (`pylops.basicoperators.Block`,
8+
`pylops.basicoperators.Bilinear`, `pylops.basicoperators.BlockDiag`, `pylops.basicoperators.HStack`,
9+
`pylops.basicoperators.MatrixMult`, `pylops.basicoperators.VStack`, and `pylops.basicoperators.Zero`)
10+
* Improved `dynamic` mode of `pylops.waveeqprocessing.Kirchhoff` operator
11+
* Modified `pylops.signalprocessing.Convolve1D` to allow both filters that are both shorter and longer of the
12+
input vector
13+
* Modified all solvers to use `matvec/rmatvec` instead of `@/.H @` to improve performance
14+
15+
116
# 2.1.0
217
* Added `pylops.signalprocessing.DCT`, `pylops.signalprocessing.NonStationaryConvolve1D`,
318
`pylops.signalprocessing.NonStationaryConvolve2D`, `pylops.signalprocessing.NonStationaryFilters1D`, and

MIGRATION_V1_V2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ should be used as a checklist when converting a piece of code using PyLops from
1010
for every operator by default. While the change is mostly backwards compatible, there are some operators (e.g. the ``Bilinear``
1111
transpose/conjugate) which can output reshaped arrays instead of 1d-arrays. To ensure no breakage, you can entirely disable this
1212
feature either globally by setting ``pylops.set_ndarray_multiplication(False)``, or locally with the context manager
13-
``pylops.disabled_ndarray_multiplication()``. Both will revert to v1.x behavior. At this time, PyLops sparse solvers do
13+
``pylops.disabled_ndarray_multiplication()``. Both will revert to v1.x behavior. At this time, PyLops solvers do
1414
*not* support N-D array multiplication.
1515

1616
See the table at the end of this document for support ndarray operations.

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ dev-install_conda:
3131

3232
tests:
3333
make pythoncheck
34-
$(PYTHON) setup.py test
34+
pytest
3535

3636
doc:
3737
cd docs && rm -rf source/api/generated && rm -rf source/gallery &&\

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,5 @@ A list of video tutorials to learn more about PyLops:
147147
* Juan Daniel Romero, jdromerom
148148
* Aniket Singh Rawat, dikwickley
149149
* Rohan Babbar, rohanbabbar04
150+
* Wei Zhang, ZhangWeiGeo
151+
* Fedor Goncharov, fedor-goncharov

azure-pipelines.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
steps:
5656
- task: UsePythonVersion@0
5757
inputs:
58-
versionSpec: '3.7'
58+
versionSpec: '3.8'
5959
architecture: 'x64'
6060

6161
- script: |
@@ -65,7 +65,7 @@ jobs:
6565
displayName: 'Install prerequisites and library'
6666
6767
- script: |
68-
python setup.py test
68+
pytest
6969
condition: succeededOrFailed()
7070
displayName: 'Run tests'
7171
@@ -84,7 +84,7 @@ jobs:
8484
steps:
8585
- task: UsePythonVersion@0
8686
inputs:
87-
versionSpec: '3.7'
87+
versionSpec: '3.8'
8888
architecture: 'x64'
8989

9090
- script: |
@@ -94,6 +94,6 @@ jobs:
9494
displayName: 'Install prerequisites and library'
9595
9696
- script: |
97-
python setup.py test
97+
pytest
9898
condition: succeededOrFailed()
9999
displayName: 'Run tests'

docs/source/api/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ Signal processing
9191
ConvolveND
9292
NonStationaryConvolve1D
9393
NonStationaryConvolve2D
94+
NonStationaryConvolve3D
9495
NonStationaryFilters1D
9596
NonStationaryFilters2D
9697
Interp

0 commit comments

Comments
 (0)