dataerai-sdk 0.2.0b59__tar.gz → 0.2.0b60__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 (279) hide show
  1. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/PKG-INFO +1 -1
  2. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_version.py +1 -1
  3. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/__init__.py +4 -0
  4. dataerai_sdk-0.2.0b60/dataerai/metaextract/feature_access.py +48 -0
  5. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai_sdk.egg-info/PKG-INFO +1 -1
  6. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai_sdk.egg-info/SOURCES.txt +1 -0
  7. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/LICENSE +0 -0
  8. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/README.md +0 -0
  9. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/__init__.py +0 -0
  10. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_agent.py +0 -0
  11. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_daemon.py +0 -0
  12. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_errors.py +0 -0
  13. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_events.py +0 -0
  14. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_framing.py +0 -0
  15. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_timeparse.py +0 -0
  16. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_transport.py +0 -0
  17. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/_types.py +0 -0
  18. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/__init__.py +0 -0
  19. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/capture.py +0 -0
  20. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/cli.py +0 -0
  21. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/feature_access.py +0 -0
  22. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/fleet_hub.py +0 -0
  23. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/integration.py +0 -0
  24. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/journal.py +0 -0
  25. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/models.py +0 -0
  26. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/bambu/recorder.py +0 -0
  27. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/client.py +0 -0
  28. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/envelope.py +0 -0
  29. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/magics.py +0 -0
  30. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/api.py +0 -0
  31. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bases.py +0 -0
  32. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bio/__init__.py +0 -0
  33. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bio/alignment.py +0 -0
  34. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bio/fcs.py +0 -0
  35. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bio/gff.py +0 -0
  36. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bio/sequence.py +0 -0
  37. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/bio/vcf.py +0 -0
  38. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/checksum.py +0 -0
  39. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/compchem/__init__.py +0 -0
  40. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/compchem/molfile.py +0 -0
  41. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/compchem/qchem_output.py +0 -0
  42. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/compchem/structure.py +0 -0
  43. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/compchem/xyz.py +0 -0
  44. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/__init__.py +0 -0
  45. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/fits.py +0 -0
  46. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/hdf5.py +0 -0
  47. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/image.py +0 -0
  48. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/matlab.py +0 -0
  49. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/netcdf.py +0 -0
  50. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/nexus.py +0 -0
  51. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/numpy_array.py +0 -0
  52. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/parquet.py +0 -0
  53. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/tiff.py +0 -0
  54. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/containers/zarr_store.py +0 -0
  55. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converter.py +0 -0
  56. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/AFM/__init__.py +0 -0
  57. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/AFM/oxfordAFM/__init__.py +0 -0
  58. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/AFM/oxfordAFM/ibw.py +0 -0
  59. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/RHEED/__init__.py +0 -0
  60. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/RHEED/ksa/__init__.py +0 -0
  61. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/RHEED/ksa/imm.py +0 -0
  62. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/Xray/__init__.py +0 -0
  63. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/Xray/panalytical/__init__.py +0 -0
  64. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/Xray/panalytical/xrdml.py +0 -0
  65. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/converters/__init__.py +0 -0
  66. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/core.py +0 -0
  67. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/crystallography/__init__.py +0 -0
  68. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/crystallography/cif.py +0 -0
  69. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/crystallography/vasp.py +0 -0
  70. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/data_type.py +0 -0
  71. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/data_type_definitions.py +0 -0
  72. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/__init__.py +0 -0
  73. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/bandexcitation/__init__.py +0 -0
  74. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/bandexcitation/h5.py +0 -0
  75. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/bruker/__init__.py +0 -0
  76. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/bruker/nanoscope.py +0 -0
  77. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/oxfordAFM/__init__.py +0 -0
  78. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/AFM/oxfordAFM/ibw.py +0 -0
  79. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/EM/__init__.py +0 -0
  80. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/EM/dm/__init__.py +0 -0
  81. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/EM/dm/dm3.py +0 -0
  82. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/EM/dm/dm4.py +0 -0
  83. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/RHEED/__init__.py +0 -0
  84. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/RHEED/ksa/__init__.py +0 -0
  85. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/RHEED/ksa/imm.py +0 -0
  86. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/Xray/__init__.py +0 -0
  87. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/Xray/panalytical/__init__.py +0 -0
  88. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/Xray/panalytical/xrdml.py +0 -0
  89. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/instruments/__init__.py +0 -0
  90. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/massspec/__init__.py +0 -0
  91. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/massspec/imzml.py +0 -0
  92. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/massspec/mzml.py +0 -0
  93. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/massspec/mzxml.py +0 -0
  94. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/massspec/thermo_raw.py +0 -0
  95. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/medical/__init__.py +0 -0
  96. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/medical/dicom.py +0 -0
  97. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/medical/edf.py +0 -0
  98. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/medical/nifti.py +0 -0
  99. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/medical/nwb.py +0 -0
  100. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/microscopy/__init__.py +0 -0
  101. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/microscopy/czi.py +0 -0
  102. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/microscopy/leica_lif.py +0 -0
  103. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/microscopy/nd2.py +0 -0
  104. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/microscopy/olympus.py +0 -0
  105. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/registry.py +0 -0
  106. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/spectroscopy/__init__.py +0 -0
  107. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/spectroscopy/bruker_opus.py +0 -0
  108. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/spectroscopy/jcamp.py +0 -0
  109. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/spectroscopy/renishaw_wdf.py +0 -0
  110. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/spectroscopy/thermo_spc.py +0 -0
  111. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/text_metadata.py +0 -0
  112. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/units.py +0 -0
  113. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/utils.py +0 -0
  114. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/__init__.py +0 -0
  115. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/Xray/__init__.py +0 -0
  116. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/Xray/panalytical/__init__.py +0 -0
  117. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/Xray/panalytical/xrd.py +0 -0
  118. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/__init__.py +0 -0
  119. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/__init__.py +0 -0
  120. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/afms/__init__.py +0 -0
  121. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/afms/afm.py +0 -0
  122. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/afms/dart_pfm.py +0 -0
  123. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/afms/single_frequency_pfm.py +0 -0
  124. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/afms/vector_pfm.py +0 -0
  125. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/instruments/oxford/afms/visualize.py +0 -0
  126. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/layout.py +0 -0
  127. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/maps.py +0 -0
  128. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata.py +0 -0
  129. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/__init__.py +0 -0
  130. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/_common.py +0 -0
  131. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/afm.py +0 -0
  132. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/bio.py +0 -0
  133. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/chemistry.py +0 -0
  134. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/clinical.py +0 -0
  135. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/containers.py +0 -0
  136. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/generic.py +0 -0
  137. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/imaging.py +0 -0
  138. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/microscopy.py +0 -0
  139. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/spectroscopy.py +0 -0
  140. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/metadata_schemas/xrd.py +0 -0
  141. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/metaextract/viz/router.py +0 -0
  142. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/__init__.py +0 -0
  143. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/access.py +0 -0
  144. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/ai_ready_reader.py +0 -0
  145. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/__init__.py +0 -0
  146. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/calibration.py +0 -0
  147. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/client.py +0 -0
  148. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/codes.py +0 -0
  149. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/hooks.py +0 -0
  150. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/inference.py +0 -0
  151. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/sae.py +0 -0
  152. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/attribution/training.py +0 -0
  153. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/bench.py +0 -0
  154. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/cache.py +0 -0
  155. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/croissant.py +0 -0
  156. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/gpu.py +0 -0
  157. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/hls4ml.py +0 -0
  158. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/io.py +0 -0
  159. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/keras_dataset.py +0 -0
  160. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/lineage.py +0 -0
  161. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/loader.py +0 -0
  162. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/report.py +0 -0
  163. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/serve/__init__.py +0 -0
  164. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/serve/__main__.py +0 -0
  165. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/serve/inputs.py +0 -0
  166. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/serve/loader.py +0 -0
  167. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/serve/runtime.py +0 -0
  168. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/staging.py +0 -0
  169. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/__init__.py +0 -0
  170. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/_docs.py +0 -0
  171. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/errors.py +0 -0
  172. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/live.py +0 -0
  173. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/reader.py +0 -0
  174. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/session.py +0 -0
  175. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/timeseries.py +0 -0
  176. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/video.py +0 -0
  177. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/stream/writer.py +0 -0
  178. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/telemetry.py +0 -0
  179. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/train_reference.py +0 -0
  180. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/ml/zarr_dataset.py +0 -0
  181. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/nn/__init__.py +0 -0
  182. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/nn/_provenance.py +0 -0
  183. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/nn/pytorch.py +0 -0
  184. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/nn/system.py +0 -0
  185. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/nn/tensorflow.py +0 -0
  186. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/notebook.py +0 -0
  187. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/notebook_trace.py +0 -0
  188. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/pycroscopy/__init__.py +0 -0
  189. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/pycroscopy/feature_control.py +0 -0
  190. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/qick/__init__.py +0 -0
  191. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/qick/feature_control.py +0 -0
  192. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/rest/__init__.py +0 -0
  193. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/rest/_config.py +0 -0
  194. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/rest/auth.py +0 -0
  195. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/rest/client.py +0 -0
  196. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/__init__.py +0 -0
  197. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/__main__.py +0 -0
  198. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/agent.py +0 -0
  199. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/api.py +0 -0
  200. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/artifacts.py +0 -0
  201. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/capabilities.py +0 -0
  202. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/cli.py +0 -0
  203. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/config.py +0 -0
  204. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/device_auth.py +0 -0
  205. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/executor.py +0 -0
  206. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/handlers/__init__.py +0 -0
  207. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/handlers/bench.py +0 -0
  208. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/handlers/infer.py +0 -0
  209. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/handlers/serve.py +0 -0
  210. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/handlers/stage.py +0 -0
  211. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/handlers/train.py +0 -0
  212. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/heartbeat.py +0 -0
  213. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/sigv4.py +0 -0
  214. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/state.py +0 -0
  215. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/runner/telemetry.py +0 -0
  216. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai/watermark.py +0 -0
  217. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai_sdk.egg-info/dependency_links.txt +0 -0
  218. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai_sdk.egg-info/entry_points.txt +0 -0
  219. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai_sdk.egg-info/requires.txt +0 -0
  220. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/dataerai_sdk.egg-info/top_level.txt +0 -0
  221. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/pyproject.toml +0 -0
  222. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/setup.cfg +0 -0
  223. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_agent.py +0 -0
  224. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ai_ready_croissant_external.py +0 -0
  225. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ai_ready_croissant_external_mlc.py +0 -0
  226. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_attribution_feature_control.py +0 -0
  227. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_attribution_inference.py +0 -0
  228. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_attribution_sae.py +0 -0
  229. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_attribution_training.py +0 -0
  230. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_client.py +0 -0
  231. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_collection_sync.py +0 -0
  232. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_collections.py +0 -0
  233. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_envelope.py +0 -0
  234. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_events.py +0 -0
  235. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_framing.py +0 -0
  236. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_infer_handler.py +0 -0
  237. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_keras_hls4ml.py +0 -0
  238. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_lineage_client.py +0 -0
  239. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_access_ttl.py +0 -0
  240. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_ai_ready_croissant.py +0 -0
  241. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_ai_ready_reader.py +0 -0
  242. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_bench.py +0 -0
  243. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_cache.py +0 -0
  244. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_content_pinning.py +0 -0
  245. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_cred_lifecycle.py +0 -0
  246. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_distributed.py +0 -0
  247. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_gpu.py +0 -0
  248. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_gpu_path.py +0 -0
  249. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_io.py +0 -0
  250. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_loader.py +0 -0
  251. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_packaging.py +0 -0
  252. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_read_path.py +0 -0
  253. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_review_followups.py +0 -0
  254. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_review_followups_torch.py +0 -0
  255. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_sampler_correctness.py +0 -0
  256. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_staging.py +0 -0
  257. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_ml_telemetry.py +0 -0
  258. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_nn_pytorch.py +0 -0
  259. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_nn_tensorflow.py +0 -0
  260. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_notebook.py +0 -0
  261. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_notebook_trace.py +0 -0
  262. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_notebook_trace_feature_control.py +0 -0
  263. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_provenance_tokens_feature_control.py +0 -0
  264. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_rest_auth.py +0 -0
  265. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_rest_client.py +0 -0
  266. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_serve_inputs.py +0 -0
  267. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_serve_loader.py +0 -0
  268. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_serve_runtime.py +0 -0
  269. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_serve_session.py +0 -0
  270. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_stream_core.py +0 -0
  271. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_stream_live.py +0 -0
  272. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_stream_timeseries.py +0 -0
  273. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_stream_video.py +0 -0
  274. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_terms_gate.py +0 -0
  275. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_timeparse.py +0 -0
  276. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_transport.py +0 -0
  277. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_verifiable_credentials.py +0 -0
  278. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_watermark.py +0 -0
  279. {dataerai_sdk-0.2.0b59 → dataerai_sdk-0.2.0b60}/tests/test_zarr_dataset.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataerai-sdk
3
- Version: 0.2.0b59
3
+ Version: 0.2.0b60
4
4
  Summary: Python SDK for the Dataerai transfer daemon
5
5
  Author: Dataerai
6
6
  License: DATAERAI PROPRIETARY SOFTWARE LICENSE AGREEMENT
@@ -9,4 +9,4 @@ See ``packaging/version.py`` (the ``compute_version`` brain) and
9
9
  ``doc/runbooks/20260616_SDK_CLI_PyPI_Release_Runbook.md``.
10
10
  """
11
11
 
12
- __version__ = "0.2.0b59"
12
+ __version__ = "0.2.0b60"
@@ -77,6 +77,10 @@ from .api import (
77
77
  get_supported_formats,
78
78
  process_file,
79
79
  )
80
+ from .feature_access import (
81
+ LocalMetadataExtractionAccess,
82
+ LocalMetadataExtractionUnavailable,
83
+ )
80
84
 
81
85
  # Import checksum utilities
82
86
  from .checksum import (
@@ -0,0 +1,48 @@
1
+ """Live feature decision for connected local metadata extraction."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any, Callable
6
+
7
+
8
+ class LocalMetadataExtractionUnavailable(RuntimeError):
9
+ """A live Dataerai decision did not authorize local extraction."""
10
+
11
+
12
+ class LocalMetadataExtractionAccess:
13
+ """Require a fresh server decision immediately before local parsing."""
14
+
15
+ endpoint = "/api/integrations/metadata-extraction-local/access/"
16
+
17
+ def __init__(
18
+ self,
19
+ client: Any,
20
+ *,
21
+ extractor: Callable[..., dict[str, Any]] | None = None,
22
+ ) -> None:
23
+ self.client = client
24
+ self._extractor = extractor
25
+
26
+ def require(self) -> None:
27
+ try:
28
+ payload = self.client.get_json("GET", self.endpoint)
29
+ except Exception:
30
+ raise LocalMetadataExtractionUnavailable(
31
+ "Local metadata extraction is unavailable; no file was parsed.",
32
+ ) from None
33
+ if payload != {
34
+ "feature": "metadata_extraction_local",
35
+ "enabled": True,
36
+ }:
37
+ raise LocalMetadataExtractionUnavailable(
38
+ "Local metadata extraction is unavailable; no file was parsed.",
39
+ )
40
+
41
+ def extract(self, file_path: Any, *, format: str | None = None) -> dict[str, Any]:
42
+ self.require()
43
+ extractor = self._extractor
44
+ if extractor is None:
45
+ from .api import extract_metadata
46
+
47
+ extractor = extract_metadata
48
+ return extractor(file_path, format=format)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataerai-sdk
3
- Version: 0.2.0b59
3
+ Version: 0.2.0b60
4
4
  Summary: Python SDK for the Dataerai transfer daemon
5
5
  Author: Dataerai
6
6
  License: DATAERAI PROPRIETARY SOFTWARE LICENSE AGREEMENT
@@ -34,6 +34,7 @@ dataerai/metaextract/converter.py
34
34
  dataerai/metaextract/core.py
35
35
  dataerai/metaextract/data_type.py
36
36
  dataerai/metaextract/data_type_definitions.py
37
+ dataerai/metaextract/feature_access.py
37
38
  dataerai/metaextract/registry.py
38
39
  dataerai/metaextract/text_metadata.py
39
40
  dataerai/metaextract/units.py
File without changes