xradio 0.0.55__tar.gz → 0.0.58__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 (96) hide show
  1. {xradio-0.0.55/src/xradio.egg-info → xradio-0.0.58}/PKG-INFO +43 -11
  2. {xradio-0.0.55 → xradio-0.0.58}/README.md +14 -2
  3. {xradio-0.0.55 → xradio-0.0.58}/pyproject.toml +41 -10
  4. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/__init__.py +2 -2
  5. xradio-0.0.58/src/xradio/_utils/_casacore/casacore_from_casatools.py +1001 -0
  6. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/_casacore/tables.py +6 -1
  7. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/coord_math.py +22 -23
  8. xradio-0.0.58/src/xradio/_utils/dict_helpers.py +170 -0
  9. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/schema.py +5 -2
  10. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/zarr/common.py +1 -73
  11. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_casacore/common.py +11 -3
  12. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_casacore/xds_from_casacore.py +59 -35
  13. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_casacore/xds_to_casacore.py +47 -16
  14. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_fits/xds_from_fits.py +172 -77
  15. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/casacore.py +9 -4
  16. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/common.py +4 -4
  17. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/image_factory.py +8 -8
  18. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/image.py +45 -5
  19. xradio-0.0.58/src/xradio/measurement_set/__init__.py +37 -0
  20. xradio-0.0.58/src/xradio/measurement_set/_utils/__init__.py +3 -0
  21. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/_tables/read.py +35 -90
  22. xradio-0.0.58/src/xradio/measurement_set/_utils/_msv2/_tables/read_main_table.py +102 -0
  23. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/_tables/table_query.py +13 -3
  24. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/conversion.py +129 -145
  25. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/create_antenna_xds.py +9 -16
  26. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/create_field_and_source_xds.py +125 -221
  27. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/msv2_to_msv4_meta.py +1 -2
  28. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/msv4_info_dicts.py +13 -8
  29. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_msv2/msv4_sub_xdss.py +27 -72
  30. xradio-0.0.58/src/xradio/measurement_set/_utils/_msv2/optimised_functions.py +0 -0
  31. xradio-0.0.58/src/xradio/measurement_set/_utils/_msv2/partition_queries.py +150 -0
  32. xradio-0.0.58/src/xradio/measurement_set/_utils/_msv2/subtables.py +16 -0
  33. xradio-0.0.58/src/xradio/measurement_set/_utils/_utils/interpolate.py +60 -0
  34. xradio-0.0.58/src/xradio/measurement_set/_utils/_zarr/encoding.py +9 -0
  35. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/convert_msv2_to_processing_set.py +0 -2
  36. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/load_processing_set.py +2 -2
  37. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/measurement_set_xdt.py +14 -14
  38. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/open_processing_set.py +1 -3
  39. xradio-0.0.58/src/xradio/measurement_set/processing_set_xdt.py +873 -0
  40. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/schema.py +96 -123
  41. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/schema/check.py +91 -97
  42. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/schema/dataclass.py +159 -22
  43. xradio-0.0.58/src/xradio/schema/export.py +99 -0
  44. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/schema/metamodel.py +51 -16
  45. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/schema/typing.py +5 -5
  46. {xradio-0.0.55 → xradio-0.0.58/src/xradio.egg-info}/PKG-INFO +43 -11
  47. {xradio-0.0.55 → xradio-0.0.58}/src/xradio.egg-info/SOURCES.txt +4 -16
  48. xradio-0.0.58/src/xradio.egg-info/requires.txt +63 -0
  49. xradio-0.0.55/src/xradio/_utils/dict_helpers.py +0 -105
  50. xradio-0.0.55/src/xradio/image/_util/fits.py +0 -13
  51. xradio-0.0.55/src/xradio/measurement_set/__init__.py +0 -27
  52. xradio-0.0.55/src/xradio/measurement_set/_utils/__init__.py +0 -5
  53. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/_tables/load.py +0 -63
  54. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/_tables/load_main_table.py +0 -487
  55. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/_tables/read_main_table.py +0 -782
  56. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/_tables/read_subtables.py +0 -395
  57. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/_tables/write.py +0 -320
  58. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/_tables/write_exp_api.py +0 -385
  59. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/chunks.py +0 -115
  60. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/descr.py +0 -165
  61. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/msv2_msv3.py +0 -7
  62. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/partition_queries.py +0 -407
  63. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/partitions.py +0 -392
  64. xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/subtables.py +0 -123
  65. xradio-0.0.55/src/xradio/measurement_set/_utils/_utils/cds.py +0 -40
  66. xradio-0.0.55/src/xradio/measurement_set/_utils/_utils/xds_helper.py +0 -404
  67. xradio-0.0.55/src/xradio/measurement_set/_utils/_zarr/encoding.py +0 -14
  68. xradio-0.0.55/src/xradio/measurement_set/_utils/_zarr/read.py +0 -263
  69. xradio-0.0.55/src/xradio/measurement_set/_utils/_zarr/write.py +0 -329
  70. xradio-0.0.55/src/xradio/measurement_set/_utils/msv2.py +0 -106
  71. xradio-0.0.55/src/xradio/measurement_set/_utils/zarr.py +0 -133
  72. xradio-0.0.55/src/xradio/measurement_set/processing_set_xdt.py +0 -1667
  73. xradio-0.0.55/src/xradio.egg-info/requires.txt +0 -38
  74. {xradio-0.0.55 → xradio-0.0.58}/LICENSE.txt +0 -0
  75. {xradio-0.0.55 → xradio-0.0.58}/MANIFEST.in +0 -0
  76. {xradio-0.0.55 → xradio-0.0.58}/setup.cfg +0 -0
  77. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/__init__.py +0 -0
  78. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/list_and_array.py +0 -0
  79. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/_utils/zarr/__init__.py +0 -0
  80. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/__init__.py +0 -0
  81. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/__init__.py +0 -0
  82. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_casacore/__init__.py +0 -0
  83. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_zarr/common.py +0 -0
  84. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_zarr/xds_from_zarr.py +0 -0
  85. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_zarr/xds_to_zarr.py +0 -0
  86. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/_zarr/zarr_low_level.py +0 -0
  87. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/image/_util/zarr.py +0 -0
  88. /xradio-0.0.55/src/xradio/measurement_set/_utils/_msv2/optimised_functions.py → /xradio-0.0.58/src/xradio/measurement_set/_utils/_msv2/__init__.py +0 -0
  89. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_utils/partition_attrs.py +0 -0
  90. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/measurement_set/_utils/_utils/stokes_types.py +0 -0
  91. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/schema/__init__.py +0 -0
  92. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/schema/bases.py +0 -0
  93. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/sphinx/__init__.py +0 -0
  94. {xradio-0.0.55 → xradio-0.0.58}/src/xradio/sphinx/schema_table.py +0 -0
  95. {xradio-0.0.55 → xradio-0.0.58}/src/xradio.egg-info/dependency_links.txt +0 -0
  96. {xradio-0.0.55 → xradio-0.0.58}/src/xradio.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xradio
3
- Version: 0.0.55
3
+ Version: 0.0.58
4
4
  Summary: Xarray Radio Astronomy Data IO
5
5
  Author-email: Jan-Willem Steeb <jsteeb@nrao.edu>, Federico Montesino Pouzols <pouzols@eso.edu>, Dave Mehringer <dmehring@nrao.edu>, Peter Wortmann <peter.wortmann@skao.int>
6
6
  License: BSD 3-Clause License
@@ -41,22 +41,22 @@ Requires-Python: <3.14,>=3.11
41
41
  Description-Content-Type: text/markdown
42
42
  License-File: LICENSE.txt
43
43
  Requires-Dist: astropy
44
- Requires-Dist: dask
45
- Requires-Dist: distributed
46
- Requires-Dist: toolviper>=0.0.11
44
+ Requires-Dist: toolviper>=0.0.12
47
45
  Requires-Dist: numba>=0.57.0
48
- Requires-Dist: numpy
49
- Requires-Dist: pytest
50
- Requires-Dist: pytest-cov
51
- Requires-Dist: pytest-html
52
46
  Requires-Dist: s3fs
53
47
  Requires-Dist: scipy
54
48
  Requires-Dist: xarray
55
49
  Requires-Dist: zarr<3,>=2
56
50
  Requires-Dist: pyarrow
57
- Requires-Dist: python_casacore>=3.6.1; sys_platform != "darwin"
58
51
  Requires-Dist: typeguard
59
52
  Requires-Dist: numcodecs<0.16
53
+ Requires-Dist: psutil
54
+ Provides-Extra: test
55
+ Requires-Dist: pytest; extra == "test"
56
+ Requires-Dist: pytest-cov; extra == "test"
57
+ Requires-Dist: pytest-html; extra == "test"
58
+ Provides-Extra: python-casacore
59
+ Requires-Dist: python_casacore>=3.6.1; sys_platform != "darwin" and extra == "python-casacore"
60
60
  Provides-Extra: interactive
61
61
  Requires-Dist: matplotlib; extra == "interactive"
62
62
  Requires-Dist: prettytable; extra == "interactive"
@@ -74,6 +74,26 @@ Requires-Dist: sphinx-autosummary-accessors; extra == "docs"
74
74
  Requires-Dist: sphinx_rtd_theme; extra == "docs"
75
75
  Requires-Dist: twine; extra == "docs"
76
76
  Requires-Dist: pandoc; extra == "docs"
77
+ Provides-Extra: all
78
+ Requires-Dist: pytest; extra == "all"
79
+ Requires-Dist: pytest-cov; extra == "all"
80
+ Requires-Dist: pytest-html; extra == "all"
81
+ Requires-Dist: python_casacore>=3.6.1; sys_platform != "darwin" and extra == "all"
82
+ Requires-Dist: matplotlib; extra == "all"
83
+ Requires-Dist: prettytable; extra == "all"
84
+ Requires-Dist: jupyterlab; extra == "all"
85
+ Requires-Dist: ipykernel; extra == "all"
86
+ Requires-Dist: ipympl; extra == "all"
87
+ Requires-Dist: ipython; extra == "all"
88
+ Requires-Dist: jupyter-client; extra == "all"
89
+ Requires-Dist: nbsphinx; extra == "all"
90
+ Requires-Dist: recommonmark; extra == "all"
91
+ Requires-Dist: scanpydoc; extra == "all"
92
+ Requires-Dist: sphinx-autoapi; extra == "all"
93
+ Requires-Dist: sphinx-autosummary-accessors; extra == "all"
94
+ Requires-Dist: sphinx_rtd_theme; extra == "all"
95
+ Requires-Dist: twine; extra == "all"
96
+ Requires-Dist: pandoc; extra == "all"
77
97
  Dynamic: license-file
78
98
 
79
99
  # xradio
@@ -93,8 +113,6 @@ It is recommended to use the conda environment manager from [miniforge](https://
93
113
  conda create --name xradio python=3.12 --no-default-packages
94
114
  conda activate xradio
95
115
  ```
96
- > 📝 On macOS it is required to pre-install `python-casacore` using `conda install -c conda-forge python-casacore`.
97
-
98
116
  XRADIO can now be installed using:
99
117
  ```sh
100
118
  pip install xradio
@@ -103,3 +121,17 @@ This will also install the minimal dependencies for XRADIO. To install the minim
103
121
  ```sh
104
122
  pip install "xradio[interactive]"
105
123
  ```
124
+ To enable conversion from MSv2 to MSv4 use (this only works for Linux):
125
+ ```sh
126
+ pip install "xradio[python-casacore]"
127
+ ```
128
+ > 📝 On macOS it is required to pre-install `python-casacore` using `conda install -c conda-forge python-casacore`.
129
+
130
+ To be able to run tests:
131
+ ```sh
132
+ pip install "xradio[test]"
133
+ ```
134
+ Multiple-dependencies can be installed using:
135
+ ```sh
136
+ pip install "xradio[interactive,python-casacore,test]"
137
+ ```
@@ -15,8 +15,6 @@ It is recommended to use the conda environment manager from [miniforge](https://
15
15
  conda create --name xradio python=3.12 --no-default-packages
16
16
  conda activate xradio
17
17
  ```
18
- > 📝 On macOS it is required to pre-install `python-casacore` using `conda install -c conda-forge python-casacore`.
19
-
20
18
  XRADIO can now be installed using:
21
19
  ```sh
22
20
  pip install xradio
@@ -25,3 +23,17 @@ This will also install the minimal dependencies for XRADIO. To install the minim
25
23
  ```sh
26
24
  pip install "xradio[interactive]"
27
25
  ```
26
+ To enable conversion from MSv2 to MSv4 use (this only works for Linux):
27
+ ```sh
28
+ pip install "xradio[python-casacore]"
29
+ ```
30
+ > 📝 On macOS it is required to pre-install `python-casacore` using `conda install -c conda-forge python-casacore`.
31
+
32
+ To be able to run tests:
33
+ ```sh
34
+ pip install "xradio[test]"
35
+ ```
36
+ Multiple-dependencies can be installed using:
37
+ ```sh
38
+ pip install "xradio[interactive,python-casacore,test]"
39
+ ```
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "xradio"
3
- version = "0.0.55"
3
+ version = "v0.0.58"
4
4
  description = " Xarray Radio Astronomy Data IO"
5
5
  authors = [
6
6
  {name = "Jan-Willem Steeb", email="jsteeb@nrao.edu"},
@@ -14,25 +14,34 @@ requires-python = ">= 3.11, < 3.14"
14
14
 
15
15
  dependencies = [
16
16
  'astropy',
17
- 'dask',
18
- 'distributed',
19
- 'toolviper>=0.0.11',
17
+ 'toolviper>=0.0.12',
20
18
  'numba>=0.57.0',
21
- 'numpy',
22
- 'pytest',
23
- 'pytest-cov',
24
- 'pytest-html',
25
19
  's3fs',
26
20
  'scipy',
27
21
  'xarray',
28
22
  'zarr>=2,<3',
29
23
  'pyarrow',
30
- 'python_casacore>=3.6.1; sys_platform != "darwin" ',
31
24
  'typeguard',
32
- 'numcodecs<0.16'
25
+ 'numcodecs<0.16',
26
+ 'psutil' # psutil is needed so large FITS images are not loaded into memory
33
27
  ]
34
28
 
29
+ # toolviper has the following key dependencies also directly used by XRADIO (https://github.com/casangi/toolviper/blob/main/pyproject.toml):
30
+ # 'numpy',
31
+ # 'dask',
32
+ # 'distributed',
33
+
35
34
  [project.optional-dependencies]
35
+ test = [
36
+ 'pytest',
37
+ 'pytest-cov',
38
+ 'pytest-html',
39
+ ]
40
+
41
+ python_casacore = [
42
+ 'python_casacore>=3.6.1; sys_platform != "darwin"'
43
+ ]
44
+
36
45
  interactive = [
37
46
  'matplotlib',
38
47
  'prettytable',
@@ -54,6 +63,28 @@ docs = [
54
63
  'pandoc'
55
64
  ]
56
65
 
66
+ all = [
67
+ 'pytest',
68
+ 'pytest-cov',
69
+ 'pytest-html',
70
+ 'python_casacore>=3.6.1; sys_platform != "darwin" ',
71
+ 'matplotlib',
72
+ 'prettytable',
73
+ 'jupyterlab',
74
+ 'ipykernel',
75
+ 'ipympl',
76
+ 'ipython',
77
+ 'jupyter-client',
78
+ 'nbsphinx',
79
+ 'recommonmark',
80
+ 'scanpydoc',
81
+ 'sphinx-autoapi',
82
+ 'sphinx-autosummary-accessors',
83
+ 'sphinx_rtd_theme',
84
+ 'twine',
85
+ 'pandoc'
86
+ ]
87
+
57
88
  [tool.pytest.ini_options]
58
89
  addopts = [
59
90
  "--import-mode=importlib",
@@ -1,5 +1,5 @@
1
- import os
2
- from toolviper.utils.logger import setup_logger
1
+ # import os
2
+ # from toolviper.utils.logger import setup_logger
3
3
 
4
4
 
5
5
  # _logger_name = "xradio"