Skip to content

Commit c796a8e

Browse files
authored
Release version 1.4.1, Merge pull request #623 from sentinel-hub/develop
Release version 1.4.1
2 parents 7d6af0d + 876b243 commit c796a8e

File tree

160 files changed

+3328
-2406
lines changed

Some content is hidden

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

160 files changed

+3328
-2406
lines changed

.github/workflows/ci_action.yml

+10-8
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,15 @@ jobs:
6262

6363
- name: Run mypy
6464
run: |
65-
mypy core/eolearn/core
66-
mypy coregistration/eolearn/coregistration
67-
mypy geometry/eolearn/geometry
68-
mypy features/eolearn/features
69-
mypy mask/eolearn/mask
70-
mypy ml_tools/eolearn/ml_tools
71-
mypy visualization/eolearn/visualization
65+
mypy \
66+
core/eolearn/core \
67+
coregistration/eolearn/coregistration \
68+
geometry/eolearn/geometry \
69+
features/eolearn/features \
70+
io/eolearn/io \
71+
mask/eolearn/mask \
72+
ml_tools/eolearn/ml_tools \
73+
visualization/eolearn/visualization
7274
7375
test-on-github:
7476
runs-on: ubuntu-latest
@@ -116,7 +118,7 @@ jobs:
116118
pytest -m "not sh_integration"
117119
118120
- name: Upload code coverage
119-
if: ${{ matrix.full_test_suite }}
121+
if: ${{ matrix.full_test_suite && github.event_name == 'push' }}
120122
uses: codecov/codecov-action@v2
121123
with:
122124
files: coverage.xml

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ docs/_build/
6767
# PyBuilder
6868
target/
6969

70-
# Jupyter Notebook
70+
# Jupyter Notebook, Jupyter Lab
7171
.ipynb_checkpoints
72+
.jupyter
7273

7374
# pyenv
7475
.python-version

.pre-commit-config.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ repos:
1313
- id: debug-statements
1414

1515
- repo: https://github.com/psf/black
16-
rev: 22.12.0
16+
rev: 23.1.0
1717
hooks:
1818
- id: black
1919
language_version: python3
2020

2121
- repo: https://github.com/pycqa/isort
22-
rev: 5.11.4
22+
rev: 5.12.0
2323
hooks:
2424
- id: isort
2525
name: isort (python)
2626

2727
- repo: https://github.com/PyCQA/autoflake
28-
rev: v2.0.0
28+
rev: v2.0.1
2929
hooks:
3030
- id: autoflake
3131
args:
@@ -40,13 +40,13 @@ repos:
4040
hooks:
4141
- id: flake8
4242
additional_dependencies:
43-
- flake8-bugbear
44-
- flake8-comprehensions
45-
- flake8-simplify
46-
- flake8-typing-imports
43+
- flake8-bugbear==23.2.13
44+
- flake8-comprehensions==3.10.1
45+
- flake8-simplify==0.19.3
46+
- flake8-typing-imports==1.14.0
4747

4848
- repo: https://github.com/nbQA-dev/nbQA
49-
rev: 1.6.0
49+
rev: 1.6.3
5050
hooks:
5151
- id: nbqa-black
5252
- id: nbqa-isort

.zenodo.json

+210
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
{
2+
"title": "eo-learn",
3+
"description": "eo-learn makes extraction of valuable information from satellite imagery easy.\\nThe availability of open Earth observation (EO) data through the Copernicus and Landsat programs represents an unprecedented resource for many EO applications, ranging from ocean and land use and land cover monitoring, disaster control, emergency services and humanitarian relief. Given the large amount of high spatial resolution data at high revisit frequency, techniques able to automatically extract complex patterns in such spatio-temporaldata are needed.\\neo-learn is a collection of Python packages that have been developed to seamlessly access and process spatio-temporal image sequences acquired by any satellite fleet in a timely and automatic manner. eo-learn is easy to use, it's design modular, and encourages collaboration -- sharing and reusing of specific tasks in a typical EO-value-extraction workflows, such as cloud masking, image co-registration, feature extraction, classification, etc. Everyone is free to use any of the available tasks and is encouraged to improve the, develop new ones and share them with the rest of the community.",
4+
"keywords": [
5+
"Earth Observation",
6+
"Python",
7+
"Workflows",
8+
"Remote sensing",
9+
"Data Processing",
10+
"Machine Learning"
11+
],
12+
"creators": [
13+
{
14+
"affiliation": "Sinergise",
15+
"name": "EO Research Team"
16+
}
17+
],
18+
"contributors": [
19+
{
20+
"name": "Matej Batič",
21+
"affiliation": "Sinergise",
22+
"type": "ProjectMember"
23+
},
24+
{
25+
"name": "Sabina Dolenc",
26+
"affiliation": "Sinergise",
27+
"type": "ProjectMember"
28+
},
29+
{
30+
"name": "Jan Geršak",
31+
"affiliation": "Sinergise",
32+
"type": "ProjectMember"
33+
},
34+
{
35+
"name": "Chung-Xiang Hong",
36+
"affiliation": "Sentinel Hub",
37+
"type": "ProjectMember"
38+
},
39+
{
40+
"name": "Domagoj Korais",
41+
"affiliation": "Sinergise",
42+
"type": "ProjectMember"
43+
},
44+
{
45+
"name": "Matic Lubej",
46+
"affiliation": "Sinergise",
47+
"type": "ProjectMember"
48+
},
49+
{
50+
"name": "Žiga Lukšič",
51+
"affiliation": "Sinergise",
52+
"type": "ProjectMember"
53+
},
54+
{
55+
"name": "Grega Milčinski",
56+
"affiliation": "Sinergise",
57+
"type": "ProjectMember"
58+
},
59+
{
60+
"name": "Nika Oman Kadunc",
61+
"affiliation": "Sinergise",
62+
"type": "ProjectMember"
63+
},
64+
{
65+
"name": "Devis Peressutti",
66+
"affiliation": "Sinergise",
67+
"type": "ProjectMember"
68+
},
69+
{
70+
"name": "Tomi Sljepčević",
71+
"affiliation": "Sinergise",
72+
"type": "ProjectMember"
73+
},
74+
{
75+
"name": "Tamara Šuligoj",
76+
"affiliation": "Sinergise",
77+
"type": "ProjectMember"
78+
},
79+
{
80+
"name": "Jovan Višnjić",
81+
"affiliation": "Sinergise",
82+
"type": "ProjectMember"
83+
},
84+
{
85+
"name": "Anže Zupanc",
86+
"affiliation": "Sinergise",
87+
"type": "ProjectMember"
88+
},
89+
{
90+
"name": "Matej Aleksandrov",
91+
"affiliation": "Sinergise",
92+
"type": "ProjectMember"
93+
},
94+
{
95+
"name": "Andrej Burja",
96+
"affiliation": "Sinergise",
97+
"type": "ProjectMember"
98+
},
99+
{
100+
"name": "Eva Erzin",
101+
"affiliation": "Sinergise",
102+
"type": "ProjectMember"
103+
},
104+
{
105+
"name": "Jernej Puc",
106+
"affiliation": "Sinergise",
107+
"type": "ProjectMember"
108+
},
109+
{
110+
"name": "Blaž Sovdat",
111+
"affiliation": "Sinergise",
112+
"type": "ProjectMember"
113+
},
114+
{
115+
"name": "Lojze Žust",
116+
"affiliation": "Sinergise",
117+
"type": "ProjectMember"
118+
},
119+
{
120+
"name": "Drew Bollinger",
121+
"affiliation": "DevelopmentSeed",
122+
"type": "Other"
123+
},
124+
{
125+
"name": "Peter Fogh",
126+
"type": "Other"
127+
},
128+
{
129+
"name": "Hugo Fournier",
130+
"affiliation": "Magellium",
131+
"type": "Other"
132+
},
133+
{
134+
"name": "Ben Huff",
135+
"type": "Other"
136+
},
137+
{
138+
"name": "Filip Koprivec",
139+
"affiliation": "Jožef Stefan Institute",
140+
"type": "Other"
141+
},
142+
{
143+
"name": "Colin Moldenhauer",
144+
"type": "Other"
145+
},
146+
{
147+
"name": "William Ouellette",
148+
"affiliation": "TomTom",
149+
"type": "Other"
150+
},
151+
{
152+
"name": "Radoslav Pitoňák",
153+
"type": "Other"
154+
},
155+
{
156+
"name": "Johannes Schmid",
157+
"affiliation": "GeoVille",
158+
"type": "Other"
159+
},
160+
{
161+
"name": "Nour Soltani",
162+
"type": "Other"
163+
},
164+
{
165+
"name": "Beno Šircelj",
166+
"affiliation": "Jožef Stefan Institute",
167+
"type": "Other"
168+
},
169+
{
170+
"name": "Andrew Tedstone",
171+
"type": "Other"
172+
},
173+
{
174+
"name": "Raaj Tilak Sarma",
175+
"type": "Other"
176+
},
177+
{
178+
"name": "Zhuangfang Yi 依庄防",
179+
"type": "Other"
180+
},
181+
{
182+
"name": "Patrick Zippenfenig",
183+
"affiliation": "meteoblue",
184+
"type": "Other"
185+
},
186+
{
187+
"name": "fred-sch",
188+
"type": "Other"
189+
},
190+
{
191+
"name": "Gnilliw",
192+
"type": "Other"
193+
},
194+
{
195+
"name": "theirix",
196+
"type": "Other"
197+
}
198+
],
199+
"license": {
200+
"id": "MIT"
201+
},
202+
"grants": [
203+
{
204+
"id": "776115"
205+
},
206+
{
207+
"id": "101004112"
208+
}
209+
]
210+
}

CHANGELOG.md

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
## [Version 1.4.1] - 2023-3-14
2+
3+
- The codebase is now fully annotated and type annotations are mandatory for all new code.
4+
- In the future `EOPatch` objects will **require** a valid `bbox`. For now the users are warned when no such value is provided.
5+
- `SaveTask` and `LoadTask` now automatically save/load the bounding box whenever possible, even if not specified in `features` parameter. `CopyTask` and `MergeEOPatchesTask` also always include the bounding box when possible.
6+
- The `EOPatch` attribute `bbox` can no longer be deleted via the `del` command.
7+
- The `EOPatch` attribute `timestamp` was renamed into `timestamps`. The old name still works, but the users are notified. Similarly for `FeatureType.TIMESTAMP` which was renamed to `FeatureType.TIMESTAMPS`.
8+
- Feature parsers from `eolearn.core.utils.parsers` now support callables as input for `allowed_feature_types`, which are used for filtration over all feature types. Due to this improvement the class `FeatureTypeSet` was deprecated.
9+
- Certain rarely used methods of `FeatureType` were deprecated. Method `is_raster` has been renamed to `is_array` and designates feature types that contain numpy arrays. We also added `is_image` for types that denote temporal and timeless imagery.
10+
- Contributors are no longer listed in file headers, but are instead listed in the `CREDITS.md` file in the root of the repository.
11+
- Updated `CONTRIBUTING.md` instructions.
12+
- Various other minor improvements and deprecations.
13+
14+
115
## [Version 1.4.0] - 2023-1-20
216

317
- (**codebreaking**) Complete overhaul of `eolearn.coregistration`. See documentation for details.
@@ -15,7 +29,7 @@
1529

1630
## [Version 1.3.1] - 2022-11-23
1731

18-
- Sentinel Hub IO tasks now support a custom timestamp filtration via `timestamp_filter` parameter.
32+
- Sentinel Hub IO tasks now support a custom timestamp filtration via `timestamp_filter` parameter, contributed by @ColinMoldenhauer.
1933
- `MergeFeatureTask` now supports the `axis` parameter.
2034
- Fix minor issues with the coregistration module.
2135
- Prepare for future removal of `sentinelhub.os_utils`.

0 commit comments

Comments
 (0)