masster 0.5.24__tar.gz → 0.5.26__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.

Potentially problematic release.


This version of masster might be problematic. Click here for more details.

Files changed (89) hide show
  1. {masster-0.5.24 → masster-0.5.26}/PKG-INFO +6 -2
  2. {masster-0.5.24 → masster-0.5.26}/README.md +5 -0
  3. masster-0.5.26/THIRD_PARTY_NOTICES.md +64 -0
  4. {masster-0.5.24 → masster-0.5.26}/pyproject.toml +1 -2
  5. {masster-0.5.24 → masster-0.5.26}/src/masster/_version.py +1 -1
  6. {masster-0.5.24 → masster-0.5.26}/src/masster/study/export.py +26 -2
  7. {masster-0.5.24 → masster-0.5.26}/uv.lock +4 -39
  8. {masster-0.5.24 → masster-0.5.26}/.github/workflows/publish.yml +0 -0
  9. {masster-0.5.24 → masster-0.5.26}/.github/workflows/security.yml +0 -0
  10. {masster-0.5.24 → masster-0.5.26}/.github/workflows/test.yml +0 -0
  11. {masster-0.5.24 → masster-0.5.26}/.gitignore +0 -0
  12. {masster-0.5.24 → masster-0.5.26}/.pre-commit-config.yaml +0 -0
  13. {masster-0.5.24 → masster-0.5.26}/LICENSE +0 -0
  14. {masster-0.5.24 → masster-0.5.26}/Makefile +0 -0
  15. {masster-0.5.24 → masster-0.5.26}/demo/example_batch_process.py +0 -0
  16. {masster-0.5.24 → masster-0.5.26}/demo/example_sample_process.py +0 -0
  17. {masster-0.5.24 → masster-0.5.26}/src/masster/__init__.py +0 -0
  18. {masster-0.5.24 → masster-0.5.26}/src/masster/chromatogram.py +0 -0
  19. {masster-0.5.24 → masster-0.5.26}/src/masster/data/libs/aa.csv +0 -0
  20. {masster-0.5.24 → masster-0.5.26}/src/masster/data/libs/ccm.csv +0 -0
  21. {masster-0.5.24 → masster-0.5.26}/src/masster/data/libs/urine.csv +0 -0
  22. {masster-0.5.24 → masster-0.5.26}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.timeseries.data +0 -0
  23. {masster-0.5.24 → masster-0.5.26}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff +0 -0
  24. {masster-0.5.24 → masster-0.5.26}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff.scan +0 -0
  25. {masster-0.5.24 → masster-0.5.26}/src/masster/data/wiff/2025_01_14_VW_7600_LpMx_DBS_CID_2min_TOP15_030msecMS1_005msecReac_CE35_DBS-ON_3.wiff2 +0 -0
  26. {masster-0.5.24 → masster-0.5.26}/src/masster/lib/__init__.py +0 -0
  27. {masster-0.5.24 → masster-0.5.26}/src/masster/lib/lib.py +0 -0
  28. {masster-0.5.24 → masster-0.5.26}/src/masster/logger.py +0 -0
  29. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/__init__.py +0 -0
  30. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/adducts.py +0 -0
  31. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/defaults/__init__.py +0 -0
  32. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/defaults/find_adducts_def.py +0 -0
  33. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/defaults/find_features_def.py +0 -0
  34. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/defaults/find_ms2_def.py +0 -0
  35. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/defaults/get_spectrum_def.py +0 -0
  36. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/defaults/sample_def.py +0 -0
  37. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/h5.py +0 -0
  38. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/helpers.py +0 -0
  39. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/lib.py +0 -0
  40. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/load.py +0 -0
  41. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/parameters.py +0 -0
  42. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/plot.py +0 -0
  43. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/processing.py +0 -0
  44. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/quant.py +0 -0
  45. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/sample.py +0 -0
  46. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/sample5_schema.json +0 -0
  47. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/save.py +0 -0
  48. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/sciex.py +0 -0
  49. {masster-0.5.24 → masster-0.5.26}/src/masster/sample/thermo.py +0 -0
  50. {masster-0.5.24 → masster-0.5.26}/src/masster/spectrum.py +0 -0
  51. {masster-0.5.24 → masster-0.5.26}/src/masster/study/__init__.py +0 -0
  52. {masster-0.5.24 → masster-0.5.26}/src/masster/study/analysis.py +0 -0
  53. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/__init__.py +0 -0
  54. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/align_def.py +0 -0
  55. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/export_def.py +0 -0
  56. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/fill_def.py +0 -0
  57. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/find_consensus_def.py +0 -0
  58. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/find_ms2_def.py +0 -0
  59. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/identify_def.py +0 -0
  60. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/integrate_chrom_def.py +0 -0
  61. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/integrate_def.py +0 -0
  62. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/merge_def.py +0 -0
  63. {masster-0.5.24 → masster-0.5.26}/src/masster/study/defaults/study_def.py +0 -0
  64. {masster-0.5.24 → masster-0.5.26}/src/masster/study/h5.py +0 -0
  65. {masster-0.5.24 → masster-0.5.26}/src/masster/study/helpers.py +0 -0
  66. {masster-0.5.24 → masster-0.5.26}/src/masster/study/id.py +0 -0
  67. {masster-0.5.24 → masster-0.5.26}/src/masster/study/importers.py +0 -0
  68. {masster-0.5.24 → masster-0.5.26}/src/masster/study/load.py +0 -0
  69. {masster-0.5.24 → masster-0.5.26}/src/masster/study/merge.py +0 -0
  70. {masster-0.5.24 → masster-0.5.26}/src/masster/study/parameters.py +0 -0
  71. {masster-0.5.24 → masster-0.5.26}/src/masster/study/plot.py +0 -0
  72. {masster-0.5.24 → masster-0.5.26}/src/masster/study/processing.py +0 -0
  73. {masster-0.5.24 → masster-0.5.26}/src/masster/study/save.py +0 -0
  74. {masster-0.5.24 → masster-0.5.26}/src/masster/study/study.py +0 -0
  75. {masster-0.5.24 → masster-0.5.26}/src/masster/study/study5_schema.json +0 -0
  76. {masster-0.5.24 → masster-0.5.26}/src/masster/wizard/__init__.py +0 -0
  77. {masster-0.5.24 → masster-0.5.26}/src/masster/wizard/wizard.py +0 -0
  78. {masster-0.5.24 → masster-0.5.26}/tests/conftest.py +0 -0
  79. {masster-0.5.24 → masster-0.5.26}/tests/test_chromatogram.py +0 -0
  80. {masster-0.5.24 → masster-0.5.26}/tests/test_defaults.py +0 -0
  81. {masster-0.5.24 → masster-0.5.26}/tests/test_imports.py +0 -0
  82. {masster-0.5.24 → masster-0.5.26}/tests/test_integration.py +0 -0
  83. {masster-0.5.24 → masster-0.5.26}/tests/test_logger.py +0 -0
  84. {masster-0.5.24 → masster-0.5.26}/tests/test_parameters.py +0 -0
  85. {masster-0.5.24 → masster-0.5.26}/tests/test_sample.py +0 -0
  86. {masster-0.5.24 → masster-0.5.26}/tests/test_spectrum.py +0 -0
  87. {masster-0.5.24 → masster-0.5.26}/tests/test_study.py +0 -0
  88. {masster-0.5.24 → masster-0.5.26}/tests/test_version.py +0 -0
  89. {masster-0.5.24 → masster-0.5.26}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: masster
3
- Version: 0.5.24
3
+ Version: 0.5.26
4
4
  Summary: Mass spectrometry data analysis package
5
5
  Project-URL: homepage, https://github.com/zamboni-lab/masster
6
6
  Project-URL: repository, https://github.com/zamboni-lab/masster
@@ -684,7 +684,6 @@ Requires-Dist: alpharaw>=0.4.8
684
684
  Requires-Dist: bokeh>=3.7.3
685
685
  Requires-Dist: cmap>=0.6.2
686
686
  Requires-Dist: datashader>=0.18.1
687
- Requires-Dist: get-gecko-driver>=1.4
688
687
  Requires-Dist: h5py>=3.14.0
689
688
  Requires-Dist: hdbscan>=0.8.40
690
689
  Requires-Dist: holoviews>=1.21.0
@@ -852,5 +851,10 @@ python -c "from masster import Wizard; wiz = Wizard(source='D:/Data/studies/my_s
852
851
  ## License
853
852
  GNU Affero General Public License v3
854
853
 
854
+ See the [LICENSE](LICENSE) file for details.
855
+
856
+ ### Third-Party Licenses
857
+ This project uses several third-party libraries, including pyOpenMS which is licensed under the BSD 3-Clause License. For complete information about third-party dependencies and their licenses, see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
858
+
855
859
  ## Citation
856
860
  If you use Masster in your research, please cite this repository.
@@ -124,5 +124,10 @@ python -c "from masster import Wizard; wiz = Wizard(source='D:/Data/studies/my_s
124
124
  ## License
125
125
  GNU Affero General Public License v3
126
126
 
127
+ See the [LICENSE](LICENSE) file for details.
128
+
129
+ ### Third-Party Licenses
130
+ This project uses several third-party libraries, including pyOpenMS which is licensed under the BSD 3-Clause License. For complete information about third-party dependencies and their licenses, see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
131
+
127
132
  ## Citation
128
133
  If you use Masster in your research, please cite this repository.
@@ -0,0 +1,64 @@
1
+ # Third-Party Licenses and Notices
2
+
3
+ This project uses third-party libraries and components that are distributed under their own licenses. Below is a list of these dependencies and their respective license information.
4
+
5
+ ---
6
+
7
+ ## pyOpenMS
8
+
9
+ **License:** BSD 3-Clause License
10
+ **Copyright:** OpenMS Team
11
+ **Source:** https://github.com/OpenMS/OpenMS
12
+
13
+ pyOpenMS is a Python wrapper for OpenMS, a library for mass spectrometry data analysis.
14
+
15
+ ### BSD 3-Clause License
16
+
17
+ ```
18
+ Copyright (c) 2002-2025, The OpenMS Team
19
+ All rights reserved.
20
+
21
+ Redistribution and use in source and binary forms, with or without
22
+ modification, are permitted provided that the following conditions are met:
23
+
24
+ 1. Redistributions of source code must retain the above copyright notice,
25
+ this list of conditions and the following disclaimer.
26
+
27
+ 2. Redistributions in binary form must reproduce the above copyright notice,
28
+ this list of conditions and the following disclaimer in the documentation
29
+ and/or other materials provided with the distribution.
30
+
31
+ 3. Neither the name of the copyright holder nor the names of its
32
+ contributors may be used to endorse or promote products derived from
33
+ this software without specific prior written permission.
34
+
35
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
36
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
39
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
40
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
41
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
42
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
43
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
44
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Other Dependencies
50
+
51
+ This project also depends on the following open-source libraries. Please refer to their respective repositories for detailed license information:
52
+
53
+ - **NumPy** - BSD License
54
+ - **Pandas** - BSD License
55
+ - **SciPy** - BSD License
56
+ - **Matplotlib** - PSF-based License
57
+ - **h5py** - BSD License
58
+ - **Bokeh** - BSD License
59
+ - **Panel** - BSD License
60
+ - **Polars** - MIT License
61
+ - **scikit-learn** - BSD License
62
+ - **and others** - See pyproject.toml for complete dependency list
63
+
64
+ For the most up-to-date license information for these dependencies, please refer to their official repositories and documentation.
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "masster"
4
- version = "0.5.24"
4
+ version = "0.5.26"
5
5
  description = "Mass spectrometry data analysis package"
6
6
  authors = [
7
7
  { name = "Zamboni Lab" }
@@ -47,7 +47,6 @@ dependencies = [
47
47
  "scikit-learn>=1.7.1",
48
48
  "umap-learn>=0.5.9.post2",
49
49
  "hdbscan>=0.8.40",
50
- "get-gecko-driver>=1.4",
51
50
  "webdriver-manager>=4.0.2",
52
51
  ]
53
52
 
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
 
4
- __version__ = "0.5.24"
4
+ __version__ = "0.5.25"
5
5
 
6
6
 
7
7
  def get_version():
@@ -1305,10 +1305,34 @@ def export_parquet(self, filename: str | None = None) -> None:
1305
1305
  if self.consensus_df is not None and not self.consensus_df.is_empty():
1306
1306
  consensus_file = f"{filename}_consensus.parquet"
1307
1307
  try:
1308
- self.consensus_df.write_parquet(consensus_file)
1308
+ # Create a copy of consensus_df for parquet export
1309
+ consensus_export_df = self.consensus_df.clone()
1310
+
1311
+ # Handle Object dtype columns that can't be serialized to parquet
1312
+ for col in consensus_export_df.columns:
1313
+ if consensus_export_df[col].dtype == pl.Object:
1314
+ if col == "iso":
1315
+ # Convert numpy arrays to string representation for parquet compatibility
1316
+ # This preserves the data while making it parquet-serializable
1317
+ consensus_export_df = consensus_export_df.with_columns([
1318
+ pl.col("iso").map_elements(
1319
+ lambda x: str(x.tolist()) if x is not None else None,
1320
+ return_dtype=pl.String
1321
+ ).alias("iso")
1322
+ ])
1323
+ else:
1324
+ # For other Object columns, convert to string representation
1325
+ consensus_export_df = consensus_export_df.with_columns([
1326
+ pl.col(col).map_elements(
1327
+ lambda x: str(x) if x is not None else None,
1328
+ return_dtype=pl.String
1329
+ ).alias(col)
1330
+ ])
1331
+
1332
+ consensus_export_df.write_parquet(consensus_file)
1309
1333
  exported_files.append(consensus_file)
1310
1334
  self.logger.debug(
1311
- f"Exported consensus to {consensus_file} ({self.consensus_df.height} rows)",
1335
+ f"Exported consensus to {consensus_file} ({consensus_export_df.height} rows)",
1312
1336
  )
1313
1337
  except Exception as e:
1314
1338
  self.logger.error(f"Error writing consensus parquet file: {e}")
@@ -147,18 +147,6 @@ wheels = [
147
147
  { url = "https://files.pythonhosted.org/packages/48/ca/ba5f909b40ea12ec542d5d7bdd13ee31c4d65f3beed20211ef81c18fa1f3/bandit-1.8.6-py3-none-any.whl", hash = "sha256:3348e934d736fcdb68b6aa4030487097e23a501adf3e7827b63658df464dddd0", size = 133808, upload-time = "2025-07-06T03:10:49.134Z" },
148
148
  ]
149
149
 
150
- [[package]]
151
- name = "beautifulsoup4"
152
- version = "4.12.3"
153
- source = { registry = "https://pypi.org/simple" }
154
- dependencies = [
155
- { name = "soupsieve" },
156
- ]
157
- sdist = { url = "https://files.pythonhosted.org/packages/b3/ca/824b1195773ce6166d388573fc106ce56d4a805bd7427b624e063596ec58/beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", size = 581181, upload-time = "2024-01-17T16:53:17.902Z" }
158
- wheels = [
159
- { url = "https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed", size = 147925, upload-time = "2024-01-17T16:53:12.779Z" },
160
- ]
161
-
162
150
  [[package]]
163
151
  name = "biopython"
164
152
  version = "1.85"
@@ -848,21 +836,6 @@ wheels = [
848
836
  { url = "https://files.pythonhosted.org/packages/c7/93/0dd45cd283c32dea1545151d8c3637b4b8c53cdb3a625aeb2885b184d74d/fonttools-4.60.1-py3-none-any.whl", hash = "sha256:906306ac7afe2156fcf0042173d6ebbb05416af70f6b370967b47f8f00103bbb", size = 1143175, upload-time = "2025-09-29T21:13:24.134Z" },
849
837
  ]
850
838
 
851
- [[package]]
852
- name = "get-gecko-driver"
853
- version = "1.4"
854
- source = { registry = "https://pypi.org/simple" }
855
- dependencies = [
856
- { name = "beautifulsoup4" },
857
- { name = "requests" },
858
- { name = "typer" },
859
- { name = "urllib3" },
860
- ]
861
- sdist = { url = "https://files.pythonhosted.org/packages/94/81/79dc8fce839822b53852ef543c529e170593fc42874162dfe2cd9bfb83a9/get_gecko_driver-1.4.tar.gz", hash = "sha256:0a023816dacb363200ae7546e7f75104cae5f22d7f2946cff600b13395c2c5aa", size = 10000, upload-time = "2025-01-24T02:23:28.734Z" }
862
- wheels = [
863
- { url = "https://files.pythonhosted.org/packages/5e/f8/2ffa13fd3c26feeec4caa44829e0ea585b95d5111f03d4523e71b15596bc/get_gecko_driver-1.4-py3-none-any.whl", hash = "sha256:67ee0528e85c842ca92b9a2052a39a8940d4196b82ec4b407dbed2a424674e76", size = 11151, upload-time = "2025-01-24T02:23:27.185Z" },
864
- ]
865
-
866
839
  [[package]]
867
840
  name = "h11"
868
841
  version = "0.16.0"
@@ -911,10 +884,13 @@ dependencies = [
911
884
  sdist = { url = "https://files.pythonhosted.org/packages/c1/84/6b010387b795f774e1ec695df3c8660c15abd041783647d5e7e4076bfc6b/hdbscan-0.8.40.tar.gz", hash = "sha256:c9e383ff17beee0591075ff65d524bda5b5a35dfb01d218245a7ba30c8d48a17", size = 6904096, upload-time = "2024-11-18T16:14:05.384Z" }
912
885
  wheels = [
913
886
  { url = "https://files.pythonhosted.org/packages/26/6b/88b8c8023c0c0b27589ad83c82084a1b751917a3e09bdf7fcacf7e6bd523/hdbscan-0.8.40-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5e958f0d7a33cd2b5e8e927b47f7360bf8a3e7d72355dd65a701e8aabe407b27", size = 1491349, upload-time = "2024-11-18T16:16:10.666Z" },
887
+ { url = "https://files.pythonhosted.org/packages/e5/72/84bc7b6ea9eb59ca6c5e4d3f32313cdfa8f4ab5cfece6fb6dfef4c9149fc/hdbscan-0.8.40-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b95447c9c2cf6c95f98210c0edee3dc463d0a237e5531076855d9776495c96fc", size = 4459927, upload-time = "2025-10-11T11:55:49.958Z" },
914
888
  { url = "https://files.pythonhosted.org/packages/a3/ef/32c8a0b3dc6e6c4e433b85b30c3723d8eb48d115c0185b82ab89e1a0ef89/hdbscan-0.8.40-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e0d6197ee045b173e1f16e6884386f335a56091e373a839dd24f7331a8fa9ed", size = 4576215, upload-time = "2024-11-18T16:14:11.241Z" },
915
889
  { url = "https://files.pythonhosted.org/packages/64/b1/96c347c7740efa1ac803be64155159284f92fafcff88c1077344e64eead5/hdbscan-0.8.40-cp311-cp311-win_amd64.whl", hash = "sha256:127cbe8c858dc77adfde33a3e1ce4f3bea810f78b01d2bd47b1147d4b5a50472", size = 732173, upload-time = "2024-11-18T16:18:40.361Z" },
916
890
  { url = "https://files.pythonhosted.org/packages/33/ff/4739886abb990dc6feb7b02eafb38a7eaf090fffef6336e70a03d693f433/hdbscan-0.8.40-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:353eaa22e42bee69df095744dbb8b29360e516bd9dcb84580dceeeb755f004cc", size = 1497291, upload-time = "2024-11-18T16:16:54.731Z" },
891
+ { url = "https://files.pythonhosted.org/packages/f0/0f/97a315772abf99b3c230e3d57f3fa426d163ce4d6070241d68a3f0241ea9/hdbscan-0.8.40-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:991e745aa51abfb8abfb0e1525b9309df03a2f67fdd8df96e18f91fe7fe06806", size = 4362227, upload-time = "2025-10-11T11:53:16.452Z" },
917
892
  { url = "https://files.pythonhosted.org/packages/c0/cb/6b4254f8a33e075118512e55acf3485c155ea52c6c35d69a985bdc59297c/hdbscan-0.8.40-cp312-cp312-win_amd64.whl", hash = "sha256:1b55a935ed7b329adac52072e1c4028979dfc54312ca08de2deece9c97d6ebb1", size = 726198, upload-time = "2024-11-18T16:18:09.99Z" },
893
+ { url = "https://files.pythonhosted.org/packages/80/2d/ca4d81a5aa5b8ccde1d41b892a2f480c2df238c58f113eee4df50473a3b0/hdbscan-0.8.40-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:32ea7bc4ce8854b5549d341edc841a29766feb62f8c399520e6e0940a41c5e39", size = 4336968, upload-time = "2025-10-11T11:53:10.417Z" },
918
894
  ]
919
895
 
920
896
  [[package]]
@@ -1473,14 +1449,13 @@ wheels = [
1473
1449
 
1474
1450
  [[package]]
1475
1451
  name = "masster"
1476
- version = "0.5.24"
1452
+ version = "0.5.26"
1477
1453
  source = { editable = "." }
1478
1454
  dependencies = [
1479
1455
  { name = "alpharaw" },
1480
1456
  { name = "bokeh" },
1481
1457
  { name = "cmap" },
1482
1458
  { name = "datashader" },
1483
- { name = "get-gecko-driver" },
1484
1459
  { name = "h5py" },
1485
1460
  { name = "hdbscan" },
1486
1461
  { name = "holoviews" },
@@ -1538,7 +1513,6 @@ requires-dist = [
1538
1513
  { name = "coverage", marker = "extra == 'test'", specifier = ">=7.0.0" },
1539
1514
  { name = "datashader", specifier = ">=0.18.1" },
1540
1515
  { name = "flake8", marker = "extra == 'dev'", specifier = ">=5.0.0" },
1541
- { name = "get-gecko-driver", specifier = ">=1.4" },
1542
1516
  { name = "h5py", specifier = ">=3.14.0" },
1543
1517
  { name = "hdbscan", specifier = ">=0.8.40" },
1544
1518
  { name = "holoviews", specifier = ">=1.21.0" },
@@ -3149,15 +3123,6 @@ wheels = [
3149
3123
  { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" },
3150
3124
  ]
3151
3125
 
3152
- [[package]]
3153
- name = "soupsieve"
3154
- version = "2.8"
3155
- source = { registry = "https://pypi.org/simple" }
3156
- sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" }
3157
- wheels = [
3158
- { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" },
3159
- ]
3160
-
3161
3126
  [[package]]
3162
3127
  name = "sphinx"
3163
3128
  version = "8.2.3"
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