thyra 3.0.2__tar.gz → 3.0.3__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 (97) hide show
  1. {thyra-3.0.2 → thyra-3.0.3}/PKG-INFO +1 -1
  2. {thyra-3.0.2 → thyra-3.0.3}/pyproject.toml +1 -1
  3. {thyra-3.0.2 → thyra-3.0.3}/thyra/__init__.py +1 -1
  4. {thyra-3.0.2 → thyra-3.0.3}/thyra/__main__.py +19 -1
  5. {thyra-3.0.2 → thyra-3.0.3}/LICENSE +0 -0
  6. {thyra-3.0.2 → thyra-3.0.3}/README.md +0 -0
  7. {thyra-3.0.2 → thyra-3.0.3}/thyra/alignment/__init__.py +0 -0
  8. {thyra-3.0.2 → thyra-3.0.3}/thyra/alignment/affine.py +0 -0
  9. {thyra-3.0.2 → thyra-3.0.3}/thyra/alignment/teaching_points.py +0 -0
  10. {thyra-3.0.2 → thyra-3.0.3}/thyra/config.py +0 -0
  11. {thyra-3.0.2 → thyra-3.0.3}/thyra/convert.py +0 -0
  12. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/__init__.py +0 -0
  13. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/__init__.py +0 -0
  14. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/_chunking.py +0 -0
  15. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/base_spatialdata_converter.py +0 -0
  16. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/converter.py +0 -0
  17. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/spatialdata_2d_converter.py +0 -0
  18. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/spatialdata_3d_converter.py +0 -0
  19. {thyra-3.0.2 → thyra-3.0.3}/thyra/converters/spatialdata/streaming_converter.py +0 -0
  20. {thyra-3.0.2 → thyra-3.0.3}/thyra/core/__init__.py +0 -0
  21. {thyra-3.0.2 → thyra-3.0.3}/thyra/core/base_converter.py +0 -0
  22. {thyra-3.0.2 → thyra-3.0.3}/thyra/core/base_extractor.py +0 -0
  23. {thyra-3.0.2 → thyra-3.0.3}/thyra/core/base_reader.py +0 -0
  24. {thyra-3.0.2 → thyra-3.0.3}/thyra/core/registry.py +0 -0
  25. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/__init__.py +0 -0
  26. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/extractors/__init__.py +0 -0
  27. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/extractors/bruker_extractor.py +0 -0
  28. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/extractors/imzml_extractor.py +0 -0
  29. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/extractors/waters_extractor.py +0 -0
  30. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/ontology/__init__.py +0 -0
  31. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/ontology/_ims.py +0 -0
  32. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/ontology/_ms.py +0 -0
  33. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/ontology/_uo.py +0 -0
  34. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/ontology/cache.py +0 -0
  35. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/types.py +0 -0
  36. {thyra-3.0.2 → thyra-3.0.3}/thyra/metadata/validator.py +0 -0
  37. {thyra-3.0.2 → thyra-3.0.3}/thyra/preview.py +0 -0
  38. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/__init__.py +0 -0
  39. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/__init__.py +0 -0
  40. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/base_bruker_reader.py +0 -0
  41. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/folder_structure.py +0 -0
  42. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/mis_parser.py +0 -0
  43. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/rapiflex/__init__.py +0 -0
  44. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/rapiflex/rapiflex_reader.py +0 -0
  45. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/__init__.py +0 -0
  46. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/__init__.py +0 -0
  47. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/dll/LICENCE-BRUKER.txt +0 -0
  48. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/dll/README.md +0 -0
  49. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/dll/timsdata.dll +0 -0
  50. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/dll/timsdata.so +0 -0
  51. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/dll_manager.py +0 -0
  52. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/platform_detector.py +0 -0
  53. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/sdk/sdk_functions.py +0 -0
  54. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/timstof_reader.py +0 -0
  55. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/utils/__init__.py +0 -0
  56. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/utils/batch_processor.py +0 -0
  57. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/utils/coordinate_cache.py +0 -0
  58. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/utils/mass_axis_builder.py +0 -0
  59. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/bruker/timstof/utils/memory_manager.py +0 -0
  60. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/imzml/__init__.py +0 -0
  61. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/imzml/imzml_reader.py +0 -0
  62. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/__init__.py +0 -0
  63. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/imaging_grid.py +0 -0
  64. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/lib/MLReader.dll +0 -0
  65. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/lib/MassLynxRaw.dll +0 -0
  66. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/lib/libMLReader.so +0 -0
  67. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/lib/libMassLynxRaw.so +0 -0
  68. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/masslynx_lib.py +0 -0
  69. {thyra-3.0.2 → thyra-3.0.3}/thyra/readers/waters/waters_reader.py +0 -0
  70. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/__init__.py +0 -0
  71. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/common_axis.py +0 -0
  72. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/constants.py +0 -0
  73. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/data_characteristics.py +0 -0
  74. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/decision_tree.py +0 -0
  75. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/gaps.py +0 -0
  76. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/instrument_detectors.py +0 -0
  77. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/__init__.py +0 -0
  78. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/base_generator.py +0 -0
  79. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/fticr_generator.py +0 -0
  80. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/linear_generator.py +0 -0
  81. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/linear_tof_generator.py +0 -0
  82. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/orbitrap_generator.py +0 -0
  83. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/mass_axis/reflector_tof_generator.py +0 -0
  84. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/strategies/__init__.py +0 -0
  85. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/strategies/base.py +0 -0
  86. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/strategies/nearest_neighbor.py +0 -0
  87. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/strategies/tic_preserving.py +0 -0
  88. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/tic.py +0 -0
  89. {thyra-3.0.2 → thyra-3.0.3}/thyra/resampling/types.py +0 -0
  90. {thyra-3.0.2 → thyra-3.0.3}/thyra/tools/__init__.py +0 -0
  91. {thyra-3.0.2 → thyra-3.0.3}/thyra/tools/check_ontology.py +0 -0
  92. {thyra-3.0.2 → thyra-3.0.3}/thyra/tools/make_example_data.py +0 -0
  93. {thyra-3.0.2 → thyra-3.0.3}/thyra/utils/__init__.py +0 -0
  94. {thyra-3.0.2 → thyra-3.0.3}/thyra/utils/bruker_exceptions.py +0 -0
  95. {thyra-3.0.2 → thyra-3.0.3}/thyra/utils/logging_config.py +0 -0
  96. {thyra-3.0.2 → thyra-3.0.3}/thyra/utils/windows_paths.py +0 -0
  97. {thyra-3.0.2 → thyra-3.0.3}/thyra/utils/zarr_atomic_write.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: thyra
3
- Version: 3.0.2
3
+ Version: 3.0.3
4
4
  Summary: A modern Python library for converting Mass Spectrometry Imaging (MSI) data into SpatialData/Zarr format - your portal to spatial omics
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "thyra"
7
- version = "3.0.2"
7
+ version = "3.0.3"
8
8
  description = "A modern Python library for converting Mass Spectrometry Imaging (MSI) data into SpatialData/Zarr format - your portal to spatial omics"
9
9
  authors = ["Theodoros Visvikis <t.visvikis@maastrichtuniversity.nl>"]
10
10
  maintainers = ["Theodoros Visvikis <t.visvikis@maastrichtuniversity.nl>"]
@@ -36,7 +36,7 @@ warnings.filterwarnings(
36
36
  category=FutureWarning,
37
37
  )
38
38
 
39
- __version__ = "3.0.2"
39
+ __version__ = "3.0.3"
40
40
 
41
41
  # Import key components - avoid wildcard imports
42
42
  try:
@@ -350,7 +350,22 @@ def _handle_post_conversion(success: bool, output: Path) -> bool:
350
350
 
351
351
 
352
352
  class GroupedCommand(click.Command):
353
- """Command that groups options into sections in --help output."""
353
+ """Command that groups options into sections in --help output.
354
+
355
+ Every visible option must appear in exactly one ``GROUPS`` entry.
356
+ Anything missing still shows up -- ``format_help`` sweeps the remainder
357
+ into a trailing ``Options:`` section rather than dropping it -- but that
358
+ section is a defect signal, not a home. It is where
359
+ ``--resample-gap-tolerance`` and ``--spectrum-type`` sat for two
360
+ releases, next to ``--version`` and ``--help``, while docs/cli.md told
361
+ readers the help was organised by category.
362
+
363
+ ``tests/unit/test_cli_help_grouping.py`` fails if the trailing section is
364
+ ever non-empty again, so adding an option without classifying it here is
365
+ caught before release rather than by a reader.
366
+
367
+ Section order is mirrored by docs/cli.md; keep the two in step.
368
+ """
354
369
 
355
370
  GROUPS = {
356
371
  "Conversion": [
@@ -371,8 +386,10 @@ class GroupedCommand(click.Command):
371
386
  "--resample-max-mz",
372
387
  "--resample-width-at-mz",
373
388
  "--resample-reference-mz",
389
+ "--resample-gap-tolerance",
374
390
  ],
375
391
  "Performance": ["--streaming", "--sparse-format"],
392
+ "imzML-specific": ["--spectrum-type"],
376
393
  "Bruker-specific": [
377
394
  "--use-recalibrated",
378
395
  "--no-recalibrated",
@@ -380,6 +397,7 @@ class GroupedCommand(click.Command):
380
397
  "--intensity-threshold",
381
398
  ],
382
399
  "Other": ["--dataset-id", "--handle-3d"],
400
+ "General": ["--version", "--help"],
383
401
  }
384
402
 
385
403
  def format_help(self, ctx: click.Context, formatter: click.HelpFormatter) -> None:
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
File without changes
File without changes
File without changes
File without changes
File without changes