xradio 0.0.28__py3-none-any.whl → 0.0.30__py3-none-any.whl

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 (48) hide show
  1. xradio/__init__.py +5 -4
  2. xradio/_utils/array.py +90 -0
  3. xradio/_utils/zarr/common.py +48 -3
  4. xradio/image/_util/zarr.py +4 -1
  5. xradio/schema/__init__.py +24 -6
  6. xradio/schema/bases.py +440 -2
  7. xradio/schema/check.py +96 -55
  8. xradio/schema/dataclass.py +123 -27
  9. xradio/schema/metamodel.py +21 -4
  10. xradio/schema/typing.py +33 -18
  11. xradio/vis/__init__.py +5 -2
  12. xradio/vis/_processing_set.py +71 -32
  13. xradio/vis/_vis_utils/_ms/_tables/create_field_and_source_xds.py +710 -0
  14. xradio/vis/_vis_utils/_ms/_tables/load.py +23 -10
  15. xradio/vis/_vis_utils/_ms/_tables/load_main_table.py +145 -64
  16. xradio/vis/_vis_utils/_ms/_tables/read.py +747 -172
  17. xradio/vis/_vis_utils/_ms/_tables/read_main_table.py +173 -44
  18. xradio/vis/_vis_utils/_ms/_tables/read_subtables.py +79 -28
  19. xradio/vis/_vis_utils/_ms/_tables/write.py +102 -45
  20. xradio/vis/_vis_utils/_ms/_tables/write_exp_api.py +127 -65
  21. xradio/vis/_vis_utils/_ms/chunks.py +58 -21
  22. xradio/vis/_vis_utils/_ms/conversion.py +582 -102
  23. xradio/vis/_vis_utils/_ms/descr.py +52 -20
  24. xradio/vis/_vis_utils/_ms/msv2_to_msv4_meta.py +72 -35
  25. xradio/vis/_vis_utils/_ms/msv4_infos.py +0 -59
  26. xradio/vis/_vis_utils/_ms/msv4_sub_xdss.py +76 -9
  27. xradio/vis/_vis_utils/_ms/optimised_functions.py +0 -46
  28. xradio/vis/_vis_utils/_ms/partition_queries.py +308 -119
  29. xradio/vis/_vis_utils/_ms/partitions.py +82 -25
  30. xradio/vis/_vis_utils/_ms/subtables.py +32 -14
  31. xradio/vis/_vis_utils/_utils/partition_attrs.py +30 -11
  32. xradio/vis/_vis_utils/_utils/xds_helper.py +136 -45
  33. xradio/vis/_vis_utils/_zarr/read.py +60 -22
  34. xradio/vis/_vis_utils/_zarr/write.py +83 -9
  35. xradio/vis/_vis_utils/ms.py +48 -29
  36. xradio/vis/_vis_utils/zarr.py +44 -20
  37. xradio/vis/convert_msv2_to_processing_set.py +43 -32
  38. xradio/vis/load_processing_set.py +38 -61
  39. xradio/vis/read_processing_set.py +64 -96
  40. xradio/vis/schema.py +687 -0
  41. xradio/vis/vis_io.py +75 -43
  42. {xradio-0.0.28.dist-info → xradio-0.0.30.dist-info}/LICENSE.txt +6 -1
  43. {xradio-0.0.28.dist-info → xradio-0.0.30.dist-info}/METADATA +10 -5
  44. xradio-0.0.30.dist-info/RECORD +73 -0
  45. {xradio-0.0.28.dist-info → xradio-0.0.30.dist-info}/WHEEL +1 -1
  46. xradio/vis/model.py +0 -497
  47. xradio-0.0.28.dist-info/RECORD +0 -71
  48. {xradio-0.0.28.dist-info → xradio-0.0.30.dist-info}/top_level.txt +0 -0
xradio/vis/vis_io.py CHANGED
@@ -15,7 +15,8 @@ def read_vis(
15
15
  chunks: Union[Tuple[int], List[int]] = None,
16
16
  expand: bool = False,
17
17
  ) -> CASAVisSet:
18
- """Read a MeasurementSet (MSv2 format) into a next generation CASA
18
+ """
19
+ Read a MeasurementSet (MSv2 format) into a next generation CASA
19
20
  dataset (visibilities dataset as a set of Xarray datasets).
20
21
 
21
22
  The MS is partitioned into multiple sub- Xarray datasets (where the data variables are read as
@@ -24,31 +25,37 @@ def read_vis(
24
25
  and polarizations) and, subject to experimentation, by scan and subscan. This results in multiple
25
26
  partitions as xarray datasets (xds) contained within a main xds (mxds).
26
27
 
27
- :param infile: Input MS filename
28
- :param rowmap: (to be removed) Dictionary of DDI to tuple of (row indices, channel indices). Returned
29
- by ms_selection function. Default None ignores selections
30
- :param subtables: Also read and include subtables along with main table selection. Default False will
31
- omit subtables (faster)
32
- :param asdm_subtables: in addition to MeasurementSet subtables (if enabled), also read extension
33
- subtables names "ASDM_*"
34
- :param partition_scheme: (experimenting) Whether to partition sub-xds datasets by scan/subscan
35
- (in addition to DDI), or other alternative partitioning schemes. Accepted values: 'scan/subscan',
36
- 'scan', 'ddi', 'intent'. Default: 'intent'
37
- :param chunks: Can be used to set a specific chunk shape (with a tuple of ints), or to control the
38
- optimization used for automatic chunking (with a list of ints). A tuple of ints in the form of (row,
39
- chan, pol) will use a fixed chunk shape. A list or numpy array of ints in the form of [idx1, etc]
40
- will trigger auto-chunking optimized for the given indices, with row=0, chan=1, pol=2. Default None
41
- uses auto-chunking with a best fit across all dimensions (probably sub-optimal for most cases).
42
- :param expand: (to be removed) Whether or not to return the original flat row structure of the MS (False)
43
- or expand the rows to time x baseline dimensions (True). Expanding the rows allows for easier indexing
44
- and parallelization across time and baseline dimensions, at the cost of some conversion time. Default
45
- False
46
- :param **kwargs: (to be removed?) Selection parameters from the standard way of making CASA MS
47
- selections. Supported keys are: spw, field, scan, baseline, time, scanintent, uvdist, polarization,
48
- array, observation. Values are strings.
49
-
50
- :return: ngCASA visisbilities dataset, essentially made of two dictionaries of
51
- metainformation and data partitions
28
+ Parameters
29
+ ----------
30
+ infile : str
31
+ Input MS filename
32
+ subtables : bool (Default value = True)
33
+ Also read and include subtables along with main table selection. Default False will
34
+ omit subtables (faster)
35
+ asdm_subtables : bool (Default value = True)
36
+ in addition to MeasurementSet subtables (if enabled), also read extension
37
+ subtables names "ASDM_*"
38
+ partition_scheme : str (Default value = "intent")
39
+ (experimenting) Whether to partition sub-xds datasets by scan/subscan
40
+ (in addition to DDI), or other alternative partitioning schemes. Accepted values: 'scan/subscan',
41
+ 'scan', 'ddi', 'intent'. Default: 'intent'
42
+ chunks : Union[Tuple[int], List[int]] (Default value = None)
43
+ Can be used to set a specific chunk shape (with a tuple of ints), or to control the
44
+ optimization used for automatic chunking (with a list of ints). A tuple of ints in the form of (row,
45
+ chan, pol) will use a fixed chunk shape. A list or numpy array of ints in the form of [idx1, etc]
46
+ will trigger auto-chunking optimized for the given indices, with row=0, chan=1, pol=2. Default None
47
+ uses auto-chunking with a best fit across all dimensions (probably sub-optimal for most cases).
48
+ expand : bool (Default value = False)
49
+ (to be removed) Whether or not to return the original flat row structure of the MS (False)
50
+ or expand the rows to time x baseline dimensions (True). Expanding the rows allows for easier indexing
51
+ and parallelization across time and baseline dimensions, at the cost of some conversion time. Default
52
+ False
53
+
54
+ Returns
55
+ -------
56
+ CASAVisSet
57
+ ngCASA visisbilities dataset, essentially made of two dictionaries of
58
+ metainformation and data partitions
52
59
  """
53
60
  infile = os.path.expanduser(infile)
54
61
  if not os.path.isdir(infile):
@@ -68,16 +75,28 @@ def load_vis_block(
68
75
  partition_key: Tuple[int, int, str],
69
76
  subtables: List[str] = None,
70
77
  ) -> Dict[Tuple[int, int], xr.Dataset]:
71
- """Read a chunk of a visibilities dataset into an Xarray dataset, loading the
78
+ """
79
+ Read a chunk of a visibilities dataset into an Xarray dataset, loading the
72
80
  data in memory.
73
81
  The input format support is the MeasurementSet v2 (MSv2 format)
74
82
 
75
- :param infile: Input visibilities path
76
- :param block_des: specification of chunk to load
77
-
78
- :return: CASA visibilities dataset holding a chunk of visibility data, for one
79
- partition
80
- (spw_id, pol_setup_id, intent_string triplet)
83
+ Parameters
84
+ ----------
85
+ infile : str
86
+ Input visibilities path
87
+ block_des : Dict[str, slice]
88
+ specification of chunk to load
89
+ partition_key: Tuple[int, int, str]
90
+ key of partition to load
91
+ subtables: List[str] (Default value = None)
92
+ subtables to load
93
+
94
+ Returns
95
+ -------
96
+ Dict[Tuple[int, int], xr.Dataset]
97
+ CASA visibilities dataset holding a chunk of visibility data, for one
98
+ partition
99
+ (spw_id, pol_setup_id, intent_string triplet)
81
100
  """
82
101
  # TODO: use the input partition_key
83
102
  # the intent str of the partition_key is not yet effectively used
@@ -92,20 +111,33 @@ def write_vis(
92
111
  compressor: Union[numcodecs.abc.Codec, None] = None,
93
112
  out_format: str = "zarr",
94
113
  ) -> None:
95
- """Write CASA vis dataset to disk.
114
+ """
115
+ Write CASA vis dataset to disk.
96
116
  The disk format supported is "zarr". When chunks_on_disk is not specified the
97
117
  chunking in the input dataset is used. When chunks_on_disk is specified that
98
118
  dataset is saved using that chunking.
99
119
 
100
- :param cds: CASA visibilities dataset to write to disk
101
- :param outpath: output path, generally ends in .zarr
102
- :param chunks_on_disk: a dictionary with the chunk size that will
103
- be used when writing to disk. For example {'time': 20, 'chan': 6}.
104
- If chunks_on_disk is not specified the chunking of dataset will
105
- be used.
106
- :param compressor: the blosc compressor to use when saving the
107
- converted data to disk using zarr. If None the zstd compression
108
- algorithm used with compression level 2.
120
+ Parameters
121
+ ----------
122
+ cds : CASAVisSet
123
+ CASA visibilities dataset to write to disk
124
+ outpath : str
125
+ output path, generally ends in .zarr
126
+ chunks_on_disk : Union[Dict, None] (Default value = None)
127
+ a dictionary with the chunk size that will
128
+ be used when writing to disk. For example {'time': 20, 'chan': 6}.
129
+ If chunks_on_disk is not specified the chunking of dataset will
130
+ be used.
131
+ compressor : Union[numcodecs.abc.Codec, None] (Default value = None)
132
+ the blosc compressor to use when saving the
133
+ converted data to disk using zarr. If None the zstd compression
134
+ algorithm used with compression level 2.
135
+ out_format : str (Default value = "zarr")
136
+ format to write
137
+
138
+ Returns
139
+ -------
140
+ None
109
141
  """
110
142
 
111
143
  if out_format == "zarr":
@@ -1,6 +1,11 @@
1
1
  BSD 3-Clause License
2
2
 
3
- Copyright (c) 2023, Associated Universities, Inc.
3
+ All works in this repository are copyrighted 2024.
4
+ For inquiries contact Associated Universities, Inc., 2650 Park Tower Drive Vienna, VA 22180, USA.
5
+
6
+ Portions of this repository are copyrighted by the following entities:
7
+ 1. AUI/NRAO, ESO, NAOJ, in the framework of the ALMA partnership.
8
+ 2. AUI/NRAO in the framework of the ngVLA project.
4
9
 
5
10
  Redistribution and use in source and binary forms, with or without
6
11
  modification, are permitted provided that the following conditions are met:
@@ -1,11 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xradio
3
- Version: 0.0.28
3
+ Version: 0.0.30
4
4
  Summary: Xarray Radio Astronomy Data IO
5
5
  Author-email: Jan-Willem Steeb <jsteeb@nrao.edu>
6
6
  License: BSD 3-Clause License
7
7
 
8
- Copyright (c) 2023, Associated Universities, Inc.
8
+ All works in this repository are copyrighted 2024.
9
+ For inquiries contact Associated Universities, Inc., 2650 Park Tower Drive Vienna, VA 22180, USA.
10
+
11
+ Portions of this repository are copyrighted by the following entities:
12
+ 1. AUI/NRAO, ESO, NAOJ, in the framework of the ALMA partnership.
13
+ 2. AUI/NRAO in the framework of the ngVLA project.
9
14
 
10
15
  Redistribution and use in source and binary forms, with or without
11
16
  modification, are permitted provided that the following conditions are met:
@@ -42,7 +47,7 @@ Requires-Dist: distributed
42
47
  Requires-Dist: graphviper
43
48
  Requires-Dist: matplotlib
44
49
  Requires-Dist: numba >=0.57.0
45
- Requires-Dist: numpy
50
+ Requires-Dist: numpy <2.0.0
46
51
  Requires-Dist: prettytable
47
52
  Requires-Dist: pytest
48
53
  Requires-Dist: pytest-cov
@@ -52,12 +57,12 @@ Requires-Dist: scipy
52
57
  Requires-Dist: tqdm
53
58
  Requires-Dist: xarray
54
59
  Requires-Dist: zarr
55
- Requires-Dist: bokeh
56
- Requires-Dist: jupyterlab
57
60
  Requires-Dist: pyarrow
61
+ Requires-Dist: typeguard
58
62
  Requires-Dist: typing-extensions ; python_version < "3.10"
59
63
  Requires-Dist: python-casacore >=3.5.2 ; sys_platform != "darwin"
60
64
  Provides-Extra: docs
65
+ Requires-Dist: jupyterlab ; extra == 'docs'
61
66
  Requires-Dist: ipykernel ; extra == 'docs'
62
67
  Requires-Dist: ipympl ; extra == 'docs'
63
68
  Requires-Dist: ipython ; extra == 'docs'
@@ -0,0 +1,73 @@
1
+ xradio/__init__.py,sha256=atgBiCKe3d2v5UbVOtFD5sGXblX09MZg44dOH3Ceajo,363
2
+ xradio/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ xradio/_utils/array.py,sha256=DgSLenRDaDKPuqTHGnzxhWlDc8no8eXueZ2A2EOlOs8,2007
4
+ xradio/_utils/common.py,sha256=bjUZfZZrYTOt0i_XVfmQ2kvgr3egoYPWKGgnr4vKe-Y,46
5
+ xradio/_utils/_casacore/tables.py,sha256=aq6E_4RRAHdTBCwMKrVil1cWhFU2O980DNH9IlRKXLw,1280
6
+ xradio/_utils/zarr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ xradio/_utils/zarr/common.py,sha256=I6Pl9e91onqxCslq7wMDxPD50fKntDGT7bAiM5CgTAg,5107
8
+ xradio/image/__init__.py,sha256=HAD0GfopIbhdxOYckyW6S9US_dSWmZrwIl3FHUzZwrE,435
9
+ xradio/image/image.py,sha256=QoJ_BTLoMfeXJzU1yvtidBIhaMmjNA5_-6C3FWJRUeI,15635
10
+ xradio/image/_util/__init__.py,sha256=M9lxD1Gc7kv0ucDEDbjLRuIEuESev-IG8j9EaCKUAkA,77
11
+ xradio/image/_util/casacore.py,sha256=DmBTHUQ6870N5ARuFnYSfjZSLniJYgsjrsICUlCREYM,4234
12
+ xradio/image/_util/common.py,sha256=vQs7Du9FSkb_D64Syt3IkiWkb_GmG9xhDPdgbpgP9Ok,9031
13
+ xradio/image/_util/fits.py,sha256=gyGm06fuCKqVGK7uv-ObvQNfFawUDsIOa_nQyklM3Aw,329
14
+ xradio/image/_util/image_factory.py,sha256=6tPzs20FTm2wEshHc1xqtTV7D0TbKxGLUKAVtvOc68I,10506
15
+ xradio/image/_util/zarr.py,sha256=lhQqVRC1GEWClG3zRbuDr2IlQBfXeDqaLUJIN-MVMxA,1652
16
+ xradio/image/_util/_casacore/__init__.py,sha256=OlsiRE40o1jSbBI4khgQQzgfDYbAlOMKIhO4UFlbGhg,41
17
+ xradio/image/_util/_casacore/common.py,sha256=ky999eTCWta8w-uIs-7P7rPhZRLuh9yTuQXAxPvaPm4,1579
18
+ xradio/image/_util/_casacore/xds_from_casacore.py,sha256=Rht4A32QLAQ7uizwKfOsZ3Z819shvlUbsZfAuTIVerU,42562
19
+ xradio/image/_util/_casacore/xds_to_casacore.py,sha256=P6c-yoOjuVQkm07ApA7FFKfje4aPwV-MsRFKaRaPq9I,15338
20
+ xradio/image/_util/_fits/xds_from_fits.py,sha256=kpZ2gdbDQtoUD1DdQZymup5OVnB3e73D66LruLYESsw,28445
21
+ xradio/image/_util/_zarr/common.py,sha256=apMX_bF4Hr3pFGjnDFpp36KgmhTYAPBZquNkjBHrsXk,307
22
+ xradio/image/_util/_zarr/xds_from_zarr.py,sha256=hz6lHlpybfr_r8pn_uObDHOFmN5h75F11bkBv8KCuP0,3192
23
+ xradio/image/_util/_zarr/xds_to_zarr.py,sha256=wogXbwX8n3Sl9PHoc3_Y_LBowQsQ-94HZQFZ5NcxUZA,1624
24
+ xradio/image/_util/_zarr/zarr_low_level.py,sha256=JJ_NgYTAbfiOXkpqIv9nA3bvthaqTZtumVYsLse_qGU,11001
25
+ xradio/schema/__init__.py,sha256=EzEMnOtN8G_wdjo8QBRKfq5MrYgfr_nt1pfunlI6i6Q,733
26
+ xradio/schema/bases.py,sha256=9IUCCP9BwpGxi43vD1xsxszBx9u1KyfKtPoJ12oGPjA,15990
27
+ xradio/schema/check.py,sha256=3bJPPWPryt1Mrb1ltwYrPeInXgm--EVJ6jcmfzOKxg8,18071
28
+ xradio/schema/dataclass.py,sha256=LyYsHdorNrzqX1NFBr01vBM0vaBA7XY_TIkZXphMdns,12333
29
+ xradio/schema/metamodel.py,sha256=WjtW7pAVzcjLRWifRH3sQoOiN6TV810hARpOIz1M_gw,3845
30
+ xradio/schema/typing.py,sha256=8-o6fZd99kJ4FVdgBYRTIRJ-wDqpcUNXzCTfJvl3TIw,10439
31
+ xradio/vis/__init__.py,sha256=0HFHuUezO-2eVn16IKAzVQCqL896Spaj_QIYjVY9Aq4,401
32
+ xradio/vis/_processing_set.py,sha256=ZmrQms_ETDdvunGs8dGtdAKI0hm759LG-E6jjaCGiYI,5906
33
+ xradio/vis/convert_msv2_to_processing_set.py,sha256=nT_19bFZk4NixAZq9Zy8n7HIUAfDz9i_iomL7d_lxYM,5068
34
+ xradio/vis/load_processing_set.py,sha256=xREcp9G1Vywbb9Pc8_XUcbFypt_JAXNAIG5xEKOBEQ8,5807
35
+ xradio/vis/read_processing_set.py,sha256=NTgcncF2knAPJVbD_1dKFuLDowJ6AM1kAIbwPdSQBTI,4067
36
+ xradio/vis/schema.py,sha256=mYXHWuzcaTo1PD7A98BqcfMobI74UjklJaAp0J4wQTM,23577
37
+ xradio/vis/vis_io.py,sha256=Onv0tBcix06Dc2b9UjXQzcTVlTvykG49KPO36tf5WKI,5714
38
+ xradio/vis/_vis_utils/__init__.py,sha256=Scu6rKJ2SpO8aG7F-xdTZcYfyWx0viV8gFh8E8ur_gI,93
39
+ xradio/vis/_vis_utils/ms.py,sha256=JcaFxidq-iL7tIbyv6F4qnMTeHediaumP_Y3RTAJvLw,5481
40
+ xradio/vis/_vis_utils/ms_column_descriptions_dicts.py,sha256=BV2SyiAmIB8P8n-u8osKlKYKiOq8fmiFsB9xSxlkTrM,39906
41
+ xradio/vis/_vis_utils/zarr.py,sha256=WlFPpcRZz2qXVyzrQ7MqmndhBm5NJUZZZaThDvx2Nw8,3962
42
+ xradio/vis/_vis_utils/_ms/chunks.py,sha256=XiQWyzqxPSmcsb1RhKAuAO55YKPmBDnbUmfymLeEIFo,5414
43
+ xradio/vis/_vis_utils/_ms/conversion.py,sha256=f9-2WaxjYushC-5eNYGienBW3iXRKvKFgBKw4KYcZ2A,32242
44
+ xradio/vis/_vis_utils/_ms/descr.py,sha256=ymavAEnFUc6zIcncP_-72y8zoOYk7Sx-euPYWXkUSE0,5206
45
+ xradio/vis/_vis_utils/_ms/msv2_msv3.py,sha256=9AKs2HWly7Ivv_Cjr11dIPGmm33_rtSBoGF9wN5ZwEQ,116
46
+ xradio/vis/_vis_utils/_ms/msv2_to_msv4_meta.py,sha256=JWv8ggK3b3tBzxgbuQJ-eG0QFOI-Jnbp7fveee2FuDw,4972
47
+ xradio/vis/_vis_utils/_ms/msv4_infos.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
+ xradio/vis/_vis_utils/_ms/msv4_sub_xdss.py,sha256=L5rg6TMkgLA_PvbOuu3khGcoFjGUHUp1E_1v-IrLWII,13411
49
+ xradio/vis/_vis_utils/_ms/optimised_functions.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ xradio/vis/_vis_utils/_ms/partition_queries.py,sha256=onvci1ew4vQ5NS-pY7xGADyJRPXpeDsUgNRvX4WuLRc,19422
51
+ xradio/vis/_vis_utils/_ms/partitions.py,sha256=0js5S1RBnf5ev2UjtqaPW-cmo0nhVup8UsLvKZgNPrQ,13157
52
+ xradio/vis/_vis_utils/_ms/subtables.py,sha256=vwKXgt2CQ5EQLbaQ_3NBbkpWzH0aX7Q172ToYb7nXXY,3944
53
+ xradio/vis/_vis_utils/_ms/_tables/create_field_and_source_xds.py,sha256=s7s0zUovGh5951TLDP4hQOBPnmn_B8m105_Qn_X20NI,24553
54
+ xradio/vis/_vis_utils/_ms/_tables/load.py,sha256=QBKS41SyXtxiMAy6Yd6vneANvK6i7I-4z-z7ynMu0Vk,1837
55
+ xradio/vis/_vis_utils/_ms/_tables/load_main_table.py,sha256=NsaZzrKWx5Eib2JqWR8ZEo7onxcmyFYMhJPqrQAUew4,14822
56
+ xradio/vis/_vis_utils/_ms/_tables/read.py,sha256=BGR5ztiS4qdZwYG8mpYOBe9KsnqMayr_JmZ-Nlh-sVU,41454
57
+ xradio/vis/_vis_utils/_ms/_tables/read_main_table.py,sha256=K41wByQ0yDOJGqCNcfZE29Y_z0VtkudPk0ioxkaZVsE,26130
58
+ xradio/vis/_vis_utils/_ms/_tables/read_subtables.py,sha256=affBKTPeqD0qBYCbcqVvB6ujhsLf8PBLGb6n2aaNKeg,12454
59
+ xradio/vis/_vis_utils/_ms/_tables/table_query.py,sha256=q8EGFf_zIwHcHnvFJOn8hPh8zFZQ3f7BGbXvL3bHad4,555
60
+ xradio/vis/_vis_utils/_ms/_tables/write.py,sha256=URL7KOw6Sohu6lr4LRWVz3KkDzR8DoVS-P_oV3ibRXU,9599
61
+ xradio/vis/_vis_utils/_ms/_tables/write_exp_api.py,sha256=INniN_sVOZ0DmhHU3k0B4JT10Q4cqpySUvJ_OOiG9K0,15308
62
+ xradio/vis/_vis_utils/_utils/cds.py,sha256=OpvKowSheIthUbcPEv2AoKmxlEt3DqJZS5C1AYh5z10,1179
63
+ xradio/vis/_vis_utils/_utils/partition_attrs.py,sha256=GgItjC6wQ6UXUzypGz-lOllNMtEs0UYmSEeEjAE86c8,3401
64
+ xradio/vis/_vis_utils/_utils/stokes_types.py,sha256=DMa8TmmS7BQ99Xm8c7ZjcRapMtLbrKVxrt4f0qUIOvg,561
65
+ xradio/vis/_vis_utils/_utils/xds_helper.py,sha256=ggv3ArWMN75tklA5v0WxjfBM6rSvUBVBNtgZp1_rU2M,13094
66
+ xradio/vis/_vis_utils/_zarr/encoding.py,sha256=GENIlThV6a9CUCL6gIGlu9c6NR3OFWNos6mpxZjMwDc,536
67
+ xradio/vis/_vis_utils/_zarr/read.py,sha256=9UKX_kKztE5jhsriBPnLhWtbptk5DRSVUEHT8V5qh8w,7597
68
+ xradio/vis/_vis_utils/_zarr/write.py,sha256=vebYh-rAKfY3Feuv6H400s-2UuciPtfZMIlMtb23YSk,10044
69
+ xradio-0.0.30.dist-info/LICENSE.txt,sha256=9CYIJt7riOXo9AD0eXBZviLxo_HebD-2JJI8oiWtzfg,1807
70
+ xradio-0.0.30.dist-info/METADATA,sha256=ln-6BSbfL6qcPWrskhLb4sMhvYBZ2TReO5kUBmTKTP0,4449
71
+ xradio-0.0.30.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
72
+ xradio-0.0.30.dist-info/top_level.txt,sha256=dQu27fGBZJ2Yk-gW5XeD-dZ76Xa4Xcvk60Vz-dwXp7k,7
73
+ xradio-0.0.30.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5