xedocs 0.2.31__tar.gz → 0.2.44__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 (93) hide show
  1. {xedocs-0.2.31 → xedocs-0.2.44}/PKG-INFO +9 -9
  2. {xedocs-0.2.31 → xedocs-0.2.44}/pyproject.toml +9 -9
  3. {xedocs-0.2.31 → xedocs-0.2.44}/tests/test_corrections.py +1 -1
  4. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/__init__.py +1 -1
  5. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/dispatchers.py +2 -2
  6. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/constants.py +2 -0
  7. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/base_references.py +3 -3
  8. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/__init__.py +2 -0
  9. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/baseline_samples_nv.py +1 -1
  10. xedocs-0.2.44/xedocs/schemas/corrections/implementations/peak_reconstruction_bias.py +21 -0
  11. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/position_reconstruction.py +2 -2
  12. xedocs-0.2.44/xedocs/schemas/corrections/implementations/relative_charge_yield.py +20 -0
  13. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/detector_operations.py +5 -3
  14. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/utils.py +26 -7
  15. {xedocs-0.2.31 → xedocs-0.2.44}/AUTHORS.rst +0 -0
  16. {xedocs-0.2.31 → xedocs-0.2.44}/README.rst +0 -0
  17. {xedocs-0.2.31 → xedocs-0.2.44}/tests/__init__.py +0 -0
  18. {xedocs-0.2.31 → xedocs-0.2.44}/tests/test_xedocs.py +0 -0
  19. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/_settings.py +0 -0
  20. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/_straxen_plugin.py +0 -0
  21. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/cli.py +0 -0
  22. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/clock.py +0 -0
  23. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/data_locations/__init__.py +0 -0
  24. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/data_locations/api.py +0 -0
  25. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/data_locations/corrections_repo.py +0 -0
  26. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/data_locations/data_folder.py +0 -0
  27. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/data_locations/github.py +0 -0
  28. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/data_locations/mongodb.py +0 -0
  29. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/databases.py +0 -0
  30. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/entrypoints.py +0 -0
  31. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/json_records.py +0 -0
  32. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/regex_dispatcher.py +0 -0
  33. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/__init__.py +0 -0
  34. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/analysis/__init__.py +0 -0
  35. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/analysis/base_analysis.py +0 -0
  36. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/analysis/processing_requests.py +0 -0
  37. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/base_schemas.py +0 -0
  38. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/calibrations/__init__.py +0 -0
  39. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/calibrations/base_calibrations.py +0 -0
  40. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/calibrations/diffused_calibration.py +0 -0
  41. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/calibrations/ibelt_calibrations.py +0 -0
  42. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/calibrations/sources.py +0 -0
  43. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/calibrations/utube_calibrations.py +0 -0
  44. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/context_config.py +0 -0
  45. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/context_lineage.py +0 -0
  46. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/__init__.py +0 -0
  47. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/base_corrections.py +0 -0
  48. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/avg_se_gain.py +0 -0
  49. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/bayes_model.py +0 -0
  50. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/cs2_aft_corrections.py +0 -0
  51. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/electron_diffusion_cte.py +0 -0
  52. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/electron_drift.py +0 -0
  53. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/electron_lifetime.py +0 -0
  54. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/extraction_efficiency.py +0 -0
  55. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/field_distortion.py +0 -0
  56. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/field_simulation.py +0 -0
  57. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/global_versions.py +0 -0
  58. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/hit_thresholds.py +0 -0
  59. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/hotspot_veto_cut.py +0 -0
  60. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/lone_hits.py +0 -0
  61. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/photoionization_strength.py +0 -0
  62. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/pmt_area_to_pe.py +0 -0
  63. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/relative_light_yield.py +0 -0
  64. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/s1_aft_xyz.py +0 -0
  65. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/s1_pattern_maps.py +0 -0
  66. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/s1_xyz.py +0 -0
  67. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/s2_pattern_maps.py +0 -0
  68. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/s2_xy.py +0 -0
  69. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/se_gain_partition.py +0 -0
  70. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/se_gains.py +0 -0
  71. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/som_network.py +0 -0
  72. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/test_correction.py +0 -0
  73. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/corrections/implementations/z_bias.py +0 -0
  74. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/detector_numbers.py +0 -0
  75. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/fax.py +0 -0
  76. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/historian_reader.py +0 -0
  77. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/__init__.py +0 -0
  78. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/abnormal_rates.py +0 -0
  79. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/anode_ramp.py +0 -0
  80. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/anode_washing.py +0 -0
  81. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/base_report.py +0 -0
  82. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/operations_reports/hotspot.py +0 -0
  83. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/plugin_lineages.py +0 -0
  84. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/__init__.py +0 -0
  85. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/base_pmt_data.py +0 -0
  86. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/gain_calculation.py +0 -0
  87. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/pmt_installs.py +0 -0
  88. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/pmts.py +0 -0
  89. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/voltage_changes.py +0 -0
  90. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/schemas/pmt_data/voltage_settings.py +0 -0
  91. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/widgets.py +0 -0
  92. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/xedocs.py +0 -0
  93. {xedocs-0.2.31 → xedocs-0.2.44}/xedocs/xenon_config.py +0 -0
@@ -1,16 +1,15 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: xedocs
3
- Version: 0.2.31
3
+ Version: 0.2.44
4
4
  Summary: Top-level package for xedocs.
5
- Home-page: https://github.com/XENONnT/xedocs
5
+ License-File: AUTHORS.rst
6
6
  Author: Yossi Mosbacher
7
7
  Author-email: joe.mosbacher@gmail.com
8
- Requires-Python: >=3.8,<4.0
8
+ Requires-Python: >=3.9,<3.13
9
9
  Classifier: Development Status :: 2 - Pre-Alpha
10
10
  Classifier: Intended Audience :: Developers
11
11
  Classifier: Natural Language :: English
12
12
  Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.8
14
13
  Classifier: Programming Language :: Python :: 3.9
15
14
  Classifier: Programming Language :: Python :: 3.10
16
15
  Classifier: Programming Language :: Python :: 3.11
@@ -19,14 +18,15 @@ Provides-Extra: all
19
18
  Provides-Extra: db
20
19
  Requires-Dist: appdirs (>=1.4.4,<2.0.0)
21
20
  Requires-Dist: click
22
- Requires-Dist: parse (>=1.19.1,<2.0.0)
21
+ Requires-Dist: parse (>=1.20.2,<2.0.0)
23
22
  Requires-Dist: pymongo ; extra == "db"
24
23
  Requires-Dist: pyyaml (>=6.0,<7.0)
25
- Requires-Dist: rframe (>=0.2.21,<0.3.0)
24
+ Requires-Dist: rframe (>=0.2.25,<0.3.0)
26
25
  Requires-Dist: rich
27
- Requires-Dist: tinydb (>=4.7.0,<5.0.0)
28
- Requires-Dist: tqdm (>=4.64.1,<5.0.0)
26
+ Requires-Dist: tinydb (>=4.8.2,<5.0.0)
27
+ Requires-Dist: tqdm (>=4.67.1,<5.0.0)
29
28
  Requires-Dist: xeauth (>=0.2.3,<0.3.0)
29
+ Project-URL: Homepage, https://github.com/XENONnT/xedocs
30
30
  Description-Content-Type: text/x-rst
31
31
 
32
32
  =======================================
@@ -1,7 +1,7 @@
1
1
  [tool]
2
2
  [tool.poetry]
3
3
  name = "xedocs"
4
- version = "0.2.31"
4
+ version = "0.2.44"
5
5
  homepage = "https://github.com/XENONnT/xedocs"
6
6
  description = "Top-level package for xedocs."
7
7
  authors = ["Yossi Mosbacher <joe.mosbacher@gmail.com>"]
@@ -10,9 +10,9 @@ classifiers=[
10
10
  'Development Status :: 2 - Pre-Alpha',
11
11
  'Intended Audience :: Developers',
12
12
  'Natural Language :: English',
13
- 'Programming Language :: Python :: 3.8',
14
13
  'Programming Language :: Python :: 3.9',
15
14
  'Programming Language :: Python :: 3.10',
15
+ 'Programming Language :: Python :: 3.11',
16
16
  ]
17
17
  packages = [
18
18
  { include = "xedocs" },
@@ -20,23 +20,23 @@ packages = [
20
20
  ]
21
21
 
22
22
  [tool.poetry.dependencies]
23
- python = ">=3.8,<4.0"
23
+ python = ">=3.9,<3.13"
24
24
  click = "*"
25
25
  rich = "*"
26
- rframe = "^0.2.21"
26
+ rframe = "^0.2.25"
27
27
  pymongo = {version = "*", optional = true}
28
28
  appdirs = "^1.4.4"
29
- tinydb = "^4.7.0"
30
- tqdm = "^4.64.1"
29
+ tinydb = "^4.8.2"
30
+ tqdm = "^4.67.1"
31
31
  xeauth = "^0.2.3"
32
32
  pyyaml = "^6.0"
33
- parse = "^1.19.1"
33
+ parse = "^1.20.2"
34
34
 
35
35
  [tool.poetry.extras]
36
36
  db = ["pymongo"]
37
37
  all = ["db"]
38
38
 
39
- [tool.poetry.dev-dependencies]
39
+ [tool.poetry.group.dev.dependencies]
40
40
  bumpversion = "*"
41
41
  coverage = "*"
42
42
  flake8 = "*"
@@ -65,7 +65,7 @@ xedocs = 'xedocs.cli:main'
65
65
  "xedocs_protocol" = "xedocs._straxen_plugin"
66
66
 
67
67
  [build-system]
68
- requires = ["poetry-core>=1.0.8", "setuptools"]
68
+ requires = ["poetry-core>=1.8.3", "setuptools"]
69
69
  build-backend = "poetry.core.masonry.api"
70
70
 
71
71
  [tool.dephell.main]
@@ -310,7 +310,7 @@ class TestCorrections(unittest.TestCase):
310
310
 
311
311
  if not clock.after_cutoff(left) and clock.after_cutoff(right):
312
312
  cutoff = clock.cutoff_datetime()
313
- half_diff = (cutoff - left) / 2
313
+ half_diff = (cutoff - clock.normalize_tz(left)) / 2
314
314
  if half_diff > datetime.timedelta(seconds=1):
315
315
  with self.assertRaises(UpdateError):
316
316
  last_doc.time = (left, left + half_diff)
@@ -2,7 +2,7 @@
2
2
 
3
3
  __author__ = """Yossi Mosbacher"""
4
4
  __email__ = "joe.mosbacher@gmail.com"
5
- __version__ = "0.2.31"
5
+ __version__ = "0.2.44"
6
6
 
7
7
 
8
8
  import logging
@@ -54,8 +54,8 @@ def read_csv_files(path, **kwargs) -> List[dict]:
54
54
  docs =[]
55
55
 
56
56
  with fsspec.open_files(path, **kwargs) as fs:
57
- kwargs = rframe.utils.filter_kwargs(pd.read_csv, kwargs)
58
- for f in fs:
57
+ kwargs = rframe.utils.filter_kwargs(pd.read_csv, kwargs)
58
+ for f in fs:
59
59
  ds = pd.read_csv(f, **kwargs).to_dict(orient='records')
60
60
  docs.extend(ds)
61
61
  return docs
@@ -22,3 +22,5 @@ DIFFUSED_SOURCE = Literal["rn-220", "rn-222", "kr-83m", "ar-37",]
22
22
  DETECTOR = Literal["tpc", "neutron_veto", "muon_veto", "tpc_he"]
23
23
 
24
24
  PARTITION = Literal["all_tpc", "ab", "cd"]
25
+
26
+ SIGNAL = Literal["s1", "s2"]
@@ -93,7 +93,7 @@ class BaseMap(BaseResourceReference):
93
93
  'dill.gz','dill', 'npy_pickle',
94
94
  'binary', 'text', 'txt', 'csv']
95
95
 
96
- algorithm: Literal["cnn", "gcn", "mlp"] = rframe.Index()
96
+ algorithm: Literal["cnn", "gcn", "mlp", "cnf"] = rframe.Index()
97
97
 
98
98
  value: str
99
99
 
@@ -108,8 +108,8 @@ class BaseMap(BaseResourceReference):
108
108
 
109
109
  @property
110
110
  def local_file(self):
111
- import straxen
112
- downloader = straxen.MongoDownloader()
111
+ import utilix
112
+ downloader = utilix.mongo_storage.MongoDownloader()
113
113
  return downloader.download_single(self.value)
114
114
 
115
115
  @property
@@ -14,6 +14,7 @@ from .se_gains import *
14
14
  from .electron_diffusion_cte import *
15
15
  from .baseline_samples_nv import *
16
16
  from .relative_light_yield import *
17
+ from .relative_charge_yield import *
17
18
  from .s1_aft_xyz import *
18
19
  from .avg_se_gain import *
19
20
  from .bayes_model import *
@@ -26,3 +27,4 @@ from .z_bias import *
26
27
  from .cs2_aft_corrections import *
27
28
  from .se_gain_partition import *
28
29
  from .test_correction import *
30
+ from .peak_reconstruction_bias import *
@@ -14,4 +14,4 @@ from ..base_corrections import TimeSampledCorrection
14
14
  class BaselineSamplesNV(TimeSampledCorrection):
15
15
 
16
16
  _ALIAS = "baseline_samples_nv"
17
- value: float
17
+ value: int
@@ -0,0 +1,21 @@
1
+ """
2
+ Peak Reconstruction Bias
3
+
4
+ Atul Prajapati, Carlo Fuselli, Chiara Di Donato
5
+
6
+ https://xe1t-wiki.lngs.infn.it/doku.php?id=xenon:xennont:peak_reconstruction_bias_sr2
7
+ Description: We know that there are multiple effects that introduce a bias in the reconstructed area. We estimate this bias with simulations produced with fuse. We compare the raw area that is the input, with the reconstrcuted area. We observe that effects like thresholds, afterpulses (AP) and noise introduce an energy dependent bias of the order of 2-3%. We want to provide a correction for the S1 and S2 areas to take these effects into account. Note that photo-ionisation also induces a similar bias, but this topic is not addressed in this notes (for now).
8
+
9
+ """
10
+ import rframe
11
+
12
+ from ..base_references import BaseResourceReference
13
+ from ...constants import SIGNAL
14
+
15
+ class PeakReconstructionBias(BaseResourceReference):
16
+ _ALIAS = "peak_reconstruction_bias"
17
+ fmt = "json"
18
+
19
+ signal: SIGNAL = rframe.Index()
20
+
21
+ value: str
@@ -8,7 +8,7 @@ See description in the Team C overview page [here](https://xe1t-wiki.lngs.infn.i
8
8
 
9
9
  Mostly following the "OFF PMTs" list [here](https://xe1t-wiki.lngs.infn.it/doku.php?id=xenon:xenonnt:dsg:pmt:gains:pmtsoff)
10
10
 
11
- More information on the flow model can be found [here](https://xe1t-wiki.lngs.infn.it/doku.php?id=xenon:xenonnt:svetter:conditional_norm_flow_posrec_principle)
11
+ More information on the cnf model can be found [here](https://xe1t-wiki.lngs.infn.it/doku.php?id=xenon:xenonnt:svetter:conditional_norm_flow_posrec_principle)
12
12
 
13
13
  """
14
14
 
@@ -24,7 +24,7 @@ class PosRecModel(BaseResourceReference):
24
24
  _ALIAS = "posrec_models"
25
25
  fmt = "binary"
26
26
 
27
- kind: Literal["cnn", "gcn", "mlp", "s1_cnn", "flow"] = rframe.Index()
27
+ kind: Literal["cnn", "gcn", "mlp", "s1_cnn", "cnf"] = rframe.Index()
28
28
 
29
29
  value: str
30
30
 
@@ -0,0 +1,20 @@
1
+ """
2
+ # Correction: Relative charge yield
3
+ # What is it correction: Corrected areas (cS2)
4
+
5
+ # Description: Correction done to the area of cS2s in our detector. The relative charge yield corresponds to the number of electrons released by an interaction per energy. This correction helps us convert from the number of electrons observed in an S2 event to an energy.
6
+
7
+ # Latest wiki reference: https://xe1t-wiki.lngs.infn.it/doku.php?id=caio:analysis:sr2:v18.5_relative_cy_map
8
+
9
+ """
10
+
11
+
12
+ import rframe
13
+
14
+ from ..base_corrections import TimeSampledCorrection
15
+
16
+
17
+ class RelativeChargeYield(TimeSampledCorrection):
18
+
19
+ _ALIAS = "relative_charge_yield"
20
+ value: float
@@ -6,6 +6,8 @@ class DetectorOperations(BaseOperationsReport):
6
6
 
7
7
  _ALIAS="detector_operations"
8
8
 
9
- system:Literal["CRY", "PUR", "LXePUR", "RSX", "RSX_2", "DST", "RAD", "DAQ"]
10
- subject: str
11
-
9
+ #system:Literal["CRY", "PUR", "LXePUR", "RSX", "RSX_2", "DST", "RAD", "DAQ"]
10
+ system: str = ""
11
+ label: str = ""
12
+ details: str = ""
13
+ link: str = ""
@@ -134,20 +134,38 @@ class LazyFileAccessor(DataAccessor):
134
134
  def iter_path_records(self, ignore_paths=(), **labels):
135
135
  for path in self.urlpaths:
136
136
  glob_patttern = self.format_to_glob(path)
137
- fs, _, fpaths = fsspec.get_fs_token_paths(glob_patttern,
138
- storage_options=self.storage_options)
139
- pattern = path.replace(f"{fs.protocol}://", "")
137
+ fs, _, fpaths = fsspec.get_fs_token_paths(glob_patttern, storage_options=self.storage_options)
138
+
139
+ # Always define original_protocol
140
+ original_protocol = fs.protocol if fs.protocol else 'file'
141
+ if isinstance(original_protocol, tuple):
142
+ original_protocol = original_protocol[0]
143
+ else:
144
+ original_protocol = original_protocol
145
+
146
+ # Debug prints
147
+ # print(f"\n[DEBUG]")
148
+ # print(f"Processing path: {path}")
149
+ # print(f"fs.protocol: {fs.protocol}")
150
+ # print(f"Original protocol: {original_protocol}")
151
+ # print(f"Glob pattern: {glob_patttern}")
152
+ # print(f"File paths: {fpaths}")
153
+
154
+ pattern = path.replace(f"{original_protocol}://", "")
140
155
  pattern = parse.compile(self.glob_to_format(pattern))
156
+
157
+ # More debug prints
158
+ # print(f"Parse pattern: {pattern}")
159
+
141
160
  loaded = set(ignore_paths)
142
-
161
+
143
162
  for fpath in fpaths:
144
163
  if fpath in loaded:
145
164
  continue
146
165
  r = pattern.parse(fpath)
147
166
  if r is None:
148
167
  continue
149
- for k,vs in labels.items():
150
-
168
+ for k, vs in labels.items():
151
169
  if vs is None:
152
170
  continue
153
171
  if not isinstance(vs, list):
@@ -164,10 +182,11 @@ class LazyFileAccessor(DataAccessor):
164
182
  if label not in vs:
165
183
  break
166
184
  else:
167
- records = read_files(fpath, protocol=fs.protocol, **fs.storage_options)
185
+ records = read_files(fpath, protocol=original_protocol, **fs.storage_options)
168
186
  yield fpath, records
169
187
  self.loaded.add(fpath)
170
188
 
189
+
171
190
  def load_files(self, **labels):
172
191
  index_fields = list(self.schema.get_index_fields())
173
192
  if len(index_fields) == 1:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes