cellestial 0.48.3__tar.gz → 0.48.4__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 (62) hide show
  1. {cellestial-0.48.3 → cellestial-0.48.4}/PKG-INFO +1 -1
  2. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/datasets/datasets.py +6 -6
  3. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/outline.py +11 -1
  4. {cellestial-0.48.3 → cellestial-0.48.4}/pyproject.toml +1 -1
  5. {cellestial-0.48.3 → cellestial-0.48.4}/LICENSE +0 -0
  6. {cellestial-0.48.3 → cellestial-0.48.4}/README.md +0 -0
  7. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/__init__.py +0 -0
  8. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/_version.py +0 -0
  9. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/datasets/__init__.py +0 -0
  10. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/frames/__init__.py +0 -0
  11. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/frames/build.py +0 -0
  12. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/frames/operations.py +0 -0
  13. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/__init__.py +0 -0
  14. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/_deferred.py +0 -0
  15. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/arrow.py +0 -0
  16. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/bracket.py +0 -0
  17. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/ondata_legend.py +0 -0
  18. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/stream.py +0 -0
  19. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/layers/utilities.py +0 -0
  20. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/__init__.py +0 -0
  21. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/base/__init__.py +0 -0
  22. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/base/base.py +0 -0
  23. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/basic/__init__.py +0 -0
  24. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/basic/bar.py +0 -0
  25. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/basic/scatter.py +0 -0
  26. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/common/__init__.py +0 -0
  27. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/common/xyplot.py +0 -0
  28. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/common/xyplots.py +0 -0
  29. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/core/__init__.py +0 -0
  30. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/core/dimensional.py +0 -0
  31. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/core/distribution.py +0 -0
  32. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/core/distributions.py +0 -0
  33. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/core/subdimensional.py +0 -0
  34. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/core/subdimensionals.py +0 -0
  35. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/differential/__init__.py +0 -0
  36. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/differential/markers.py +0 -0
  37. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/differential/volcano.py +0 -0
  38. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/heatmap/__init__.py +0 -0
  39. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/heatmap/_key_groups.py +0 -0
  40. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/heatmap/_rank_genes_groups.py +0 -0
  41. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/heatmap/dotplot.py +0 -0
  42. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/heatmap/heatmap.py +0 -0
  43. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/heatmap/stacked_violin.py +0 -0
  44. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/quick/__init__.py +0 -0
  45. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/quick/elbow.py +0 -0
  46. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/quick/highest.py +0 -0
  47. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/single/quick/ridge.py +0 -0
  48. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/spatial/__init__.py +0 -0
  49. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/spatial/_components.py +0 -0
  50. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/spatial/spatial.py +0 -0
  51. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/spatial/spatials.py +0 -0
  52. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/themes/__init__.py +0 -0
  53. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/themes/_distributions.py +0 -0
  54. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/themes/_heatmaps.py +0 -0
  55. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/themes/_scatters.py +0 -0
  56. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/__init__.py +0 -0
  57. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/colors.py +0 -0
  58. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/dendrogram.py +0 -0
  59. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/errors.py +0 -0
  60. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/operations.py +0 -0
  61. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/save.py +0 -0
  62. {cellestial-0.48.3 → cellestial-0.48.4}/cellestial/util/utilities.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cellestial
3
- Version: 0.48.3
3
+ Version: 0.48.4
4
4
  Summary:
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -165,7 +165,7 @@ def pbmc3k(
165
165
  bring: bool = True,
166
166
  ) -> AnnData:
167
167
  """
168
- Download and preprocess the pbmc3k dataset.
168
+ Download, preprocess, and load the pbmc3k dataset.
169
169
 
170
170
  Parameters
171
171
  ----------
@@ -338,7 +338,7 @@ def pancreas(
338
338
  bring: bool = True,
339
339
  ) -> AnnData:
340
340
  """
341
- Download and preprocess the endocrinogenesis day-15 pancreas dataset.
341
+ Download, preprocess, and load the endocrinogenesis day-15 pancreas dataset.
342
342
 
343
343
  Parameters
344
344
  ----------
@@ -430,7 +430,7 @@ def from_url(
430
430
  bring: bool = True,
431
431
  ) -> AnnData:
432
432
  """
433
- Download an `.h5ad` dataset from a direct HTTP(S) URL.
433
+ Download and load an `.h5ad` dataset from a direct HTTP(S) URL.
434
434
 
435
435
  Parameters
436
436
  ----------
@@ -532,7 +532,7 @@ def from_cellxgene(
532
532
  bring: bool = True,
533
533
  ) -> AnnData:
534
534
  """
535
- Download a dataset from CELLxGENE by URL or UUID.
535
+ Download and load a dataset from CELLxGENE by URL or UUID.
536
536
 
537
537
  Parameters
538
538
  ----------
@@ -600,7 +600,7 @@ def breast_cancer_atlas(
600
600
  bring: bool = True,
601
601
  ) -> AnnData:
602
602
  """
603
- Download the breast cancer cell atlas from CELLxGENE.
603
+ Download and load the breast cancer cell atlas from CELLxGENE.
604
604
 
605
605
  Parameters
606
606
  ----------
@@ -644,7 +644,7 @@ def human_lymph_node(
644
644
  bring: bool = True,
645
645
  ) -> AnnData:
646
646
  """
647
- Download and preprocess the V1 Human Lymph Node Visium spatial dataset.
647
+ Download, preprocess, and load the V1 Human Lymph Node Visium spatial dataset.
648
648
 
649
649
  Parameters
650
650
  ----------
@@ -37,6 +37,16 @@ def _get_density_boundaries(
37
37
  else:
38
38
  groups = [[g] if isinstance(g, str) else list(g) for g in groups]
39
39
 
40
+ requested = {g for group in groups for g in group}
41
+ available = set(frame.get_column(group_by).unique().to_list())
42
+ missing = requested - available
43
+ if missing:
44
+ msg = (
45
+ f"Groups {sorted(missing)} not found in column '{group_by}'. "
46
+ f"Available groups: {sorted(available)}."
47
+ )
48
+ raise ValueError(msg)
49
+
40
50
  boundaries = []
41
51
  for group in groups:
42
52
  group_label = "+".join(group) if len(group) > 1 else group[0]
@@ -83,7 +93,7 @@ def _get_density_boundaries(
83
93
  if not boundaries:
84
94
  msg = (
85
95
  "No cluster outline could be computed. "
86
- "Check that `groups` exist in `group_by` and have at least 5 points."
96
+ "Requested groups exist but have fewer than 5 points each."
87
97
  )
88
98
  raise ValueError(msg)
89
99
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cellestial"
3
- version = "0.48.3"
3
+ version = "0.48.4"
4
4
  description = ""
5
5
  authors = [
6
6
  { name = "Zaf4", email = "zafermolbio@gmail.com" },
File without changes
File without changes