dist-s1-enumerator 1.0.10__tar.gz → 1.0.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/CHANGELOG.md +9 -0
  2. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/PKG-INFO +3 -2
  3. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/README.md +2 -1
  4. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/asf.py +1 -1
  5. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/dist_enum.py +1 -1
  6. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/dist_enum_inputs.py +2 -2
  7. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/tabular_models.py +1 -1
  8. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator.egg-info/PKG-INFO +3 -2
  9. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/dependabot.yml +0 -0
  10. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/bump-tag-for-release.yml +0 -0
  11. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/changelog-updated.yml +0 -0
  12. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/github-release.yml +0 -0
  13. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/labeled-pr.yml +0 -0
  14. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/nb_tests.yml +0 -0
  15. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/pypi-release.yml +0 -0
  16. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/static_analysis.yml +0 -0
  17. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.github/workflows/tests.yml +0 -0
  18. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/.gitignore +0 -0
  19. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/LICENSE +0 -0
  20. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/environment.yml +0 -0
  21. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/notebooks/A__Staging_Inputs_for_One_MGRS_Tile.ipynb +0 -0
  22. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/notebooks/B__Enumerate_MGRS_tile.ipynb +0 -0
  23. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/pyproject.toml +0 -0
  24. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/setup.cfg +0 -0
  25. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/__init__.py +0 -0
  26. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/constants.py +0 -0
  27. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/data/jpl_burst_geo.parquet +0 -0
  28. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/data/mgrs.parquet +0 -0
  29. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/data/mgrs_burst_lookup_table.parquet +0 -0
  30. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/exceptions.py +0 -0
  31. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/mgrs_burst_data.py +0 -0
  32. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/param_models.py +0 -0
  33. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/py.typed +0 -0
  34. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator/rtc_s1_io.py +0 -0
  35. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator.egg-info/SOURCES.txt +0 -0
  36. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator.egg-info/dependency_links.txt +0 -0
  37. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator.egg-info/not-zip-safe +0 -0
  38. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator.egg-info/requires.txt +0 -0
  39. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/src/dist_s1_enumerator.egg-info/top_level.txt +0 -0
  40. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/conftest.py +0 -0
  41. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/dist_hls_tiles.txt +0 -0
  42. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/mock_ts_data_for_enum.ipynb +0 -0
  43. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/rtc_s1_ts_metadata/chile_19HBD.parquet +0 -0
  44. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/rtc_s1_ts_metadata/mgrs01UBT.parquet +0 -0
  45. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/rtc_s1_ts_metadata/mgrs11SLT_11SLU_11SMT.parquet +0 -0
  46. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/rtc_s1_ts_metadata/mgrs15RXN__track63.parquet +0 -0
  47. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/rtc_s1_ts_metadata/mgrs22WFD.parquet +0 -0
  48. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/data/ts_data_for_workflow_inputs.ipynb +0 -0
  49. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_asf.py +0 -0
  50. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_dist_enum.py +0 -0
  51. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_dist_enum_inputs.py +0 -0
  52. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_mgrs_burst_data.py +0 -0
  53. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_notebooks.py +0 -0
  54. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_package.py +0 -0
  55. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_param_model.py +0 -0
  56. {dist_s1_enumerator-1.0.10 → dist_s1_enumerator-1.0.11}/tests/test_rtc_s1_io.py +0 -0
@@ -6,6 +6,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/)
7
7
  and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [1.0.11] - 2026-01-27
10
+
11
+ ### Changed
12
+ * Defaults for max_pre_img per burst set to defaults (4, 3, 3) in enumeration of many products and single product. This aligns with standard inputs for DIST-S1.
13
+
14
+ ### Fixed
15
+ * Casting time strings into timestamps using pandas 2.0+ was attaching precision that was breaking schema validation with different precision (I believe pandas default is nano-second precision and ASF distributes with microsecond precision). Using `coerce=True` for the schema (forcing it to cast into the correct precision) and forcing data to have UTC time-zones fixes this issue with validation.
16
+
17
+
9
18
  ## [1.0.10] - 2026-01-07
10
19
 
11
20
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dist-s1-enumerator
3
- Version: 1.0.10
3
+ Version: 1.0.11
4
4
  Summary: Enumeration and ops library for the OPERA DIST-S1 project
5
5
  Author-email: "Richard West, Charlie Marshak, Talib Oliver-Cabrera, and Jungkyo Jung" <charlie.z.marshak@jpl.nasa.gov>
6
6
  License: Apache-2.0
@@ -99,7 +99,8 @@ Yields:
99
99
  <details>
100
100
  <summary>Output</summary>
101
101
 
102
- ```[{'mgrs_tile_id': '19HBD',
102
+ ```
103
+ [{'mgrs_tile_id': '19HBD',
103
104
  'post_acq_date': '2023-11-05',
104
105
  'track_number': 91,
105
106
  'post_acq_timestamp': '2023-11-05 23:36:49+00:00'},
@@ -76,7 +76,8 @@ Yields:
76
76
  <details>
77
77
  <summary>Output</summary>
78
78
 
79
- ```[{'mgrs_tile_id': '19HBD',
79
+ ```
80
+ [{'mgrs_tile_id': '19HBD',
80
81
  'post_acq_date': '2023-11-05',
81
82
  'track_number': 91,
82
83
  'post_acq_timestamp': '2023-11-05 23:36:49+00:00'},
@@ -135,7 +135,7 @@ def get_rtc_s1_ts_metadata_by_burst_ids(
135
135
  properties_f = [
136
136
  {
137
137
  'opera_id': p['sceneName'],
138
- 'acq_dt': pd.to_datetime(p['startTime']),
138
+ 'acq_dt': pd.Timestamp(p['startTime'], tz='UTC'),
139
139
  'track_number': p['pathNumber'],
140
140
  'polarizations': p['polarization'],
141
141
  'all_urls': [p['url']] + p['additionalUrls'],
@@ -231,7 +231,7 @@ def enumerate_dist_s1_products(
231
231
  df_rtc_ts: gpd.GeoDataFrame,
232
232
  mgrs_tile_ids: list[str],
233
233
  lookback_strategy: str = 'multi_window',
234
- max_pre_imgs_per_burst: int = (5, 5, 5),
234
+ max_pre_imgs_per_burst: int = (4, 3, 3),
235
235
  min_pre_imgs_per_burst: int = 1,
236
236
  tqdm_enabled: bool = True,
237
237
  delta_lookback_days: int = 365,
@@ -32,7 +32,7 @@ def enumerate_dist_s1_workflow_inputs(
32
32
  start_acq_dt: datetime | pd.Timestamp | str | None = None,
33
33
  stop_acq_dt: datetime | pd.Timestamp | str | None = None,
34
34
  lookback_strategy: str = 'multi_window',
35
- max_pre_imgs_per_burst: int | list[int] | tuple[int, ...] = (5, 5, 5),
35
+ max_pre_imgs_per_burst: int | list[int] | tuple[int, ...] = (4, 3, 3),
36
36
  min_pre_imgs_per_burst: int = 1,
37
37
  delta_lookback_days: int | list[int] | tuple[int, ...] = 365,
38
38
  delta_window_days: int = 365,
@@ -60,7 +60,7 @@ def enumerate_dist_s1_workflow_inputs(
60
60
  Lookback strategy to use, by default 'multi_window'. Options are
61
61
  'immediate_lookback' or 'multi_window'.
62
62
  max_pre_imgs_per_burst : int | list[int] | tuple[int, ...], optional
63
- Maximum number of pre-images per burst to include, by default 10.
63
+ Maximum number of pre-images per burst to include, by default (4, 3, 3).
64
64
  If lookback strategy is 'multi_window':
65
65
  - this is interpreted as the maximum number of pre-images on each anniversary date.
66
66
  - tuple/list of integers are provided, each int represents the maximum number of pre-images on each
@@ -27,7 +27,7 @@ rtc_s1_resp_schema = DataFrameSchema(
27
27
  {
28
28
  'opera_id': Column(str, required=True),
29
29
  'jpl_burst_id': Column(str, required=True),
30
- 'acq_dt': Column(DateTime(tz='UTC'), required=True),
30
+ 'acq_dt': Column(DateTime(tz='UTC'), coerce=True, required=True),
31
31
  'acq_date_for_mgrs_pass': Column(str, required=False),
32
32
  'polarizations': Column(str, required=True),
33
33
  'track_number': Column(int, required=True),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dist-s1-enumerator
3
- Version: 1.0.10
3
+ Version: 1.0.11
4
4
  Summary: Enumeration and ops library for the OPERA DIST-S1 project
5
5
  Author-email: "Richard West, Charlie Marshak, Talib Oliver-Cabrera, and Jungkyo Jung" <charlie.z.marshak@jpl.nasa.gov>
6
6
  License: Apache-2.0
@@ -99,7 +99,8 @@ Yields:
99
99
  <details>
100
100
  <summary>Output</summary>
101
101
 
102
- ```[{'mgrs_tile_id': '19HBD',
102
+ ```
103
+ [{'mgrs_tile_id': '19HBD',
103
104
  'post_acq_date': '2023-11-05',
104
105
  'track_number': 91,
105
106
  'post_acq_timestamp': '2023-11-05 23:36:49+00:00'},