From ce9bfb9484effe96ca37d55a0a48922b912612ce Mon Sep 17 00:00:00 2001
From: Tim Treis <tim.treis@stud.uni-heidelberg.de>
Date: Thu, 30 Jan 2025 14:50:19 -0500
Subject: [PATCH] stash

---
 src/squidpy/__init__.py           |  2 +-
 src/squidpy/exp/__init__.py       |  5 +++++
 src/squidpy/exp/pl/__init__.py    | 10 ++++++++++
 src/squidpy/exp/pl/_spatial_qc.py | 30 ++++++++++++++++++++++++++++++
 4 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 src/squidpy/exp/__init__.py
 create mode 100644 src/squidpy/exp/pl/__init__.py
 create mode 100644 src/squidpy/exp/pl/_spatial_qc.py

diff --git a/src/squidpy/__init__.py b/src/squidpy/__init__.py
index 5fb2b848..cfba804f 100644
--- a/src/squidpy/__init__.py
+++ b/src/squidpy/__init__.py
@@ -3,7 +3,7 @@
 from importlib import metadata
 from importlib.metadata import PackageMetadata
 
-from squidpy import datasets, gr, im, pl, read, tl
+from squidpy import datasets, exp, gr, im, pl, read, tl
 
 try:
     md: PackageMetadata = metadata.metadata(__name__)
diff --git a/src/squidpy/exp/__init__.py b/src/squidpy/exp/__init__.py
new file mode 100644
index 00000000..ef884e41
--- /dev/null
+++ b/src/squidpy/exp/__init__.py
@@ -0,0 +1,5 @@
+from __future__ import annotations
+
+from . import pl
+
+__all__ = ["pl"]
diff --git a/src/squidpy/exp/pl/__init__.py b/src/squidpy/exp/pl/__init__.py
new file mode 100644
index 00000000..c907876d
--- /dev/null
+++ b/src/squidpy/exp/pl/__init__.py
@@ -0,0 +1,10 @@
+from __future__ import annotations
+
+from squidpy.exp.pl._spatial_qc import _spatial_counts_distribution
+
+__all__ = [
+    "highly_variable_genes",
+    "normalize_pearson_residuals",
+    "normalize_pearson_residuals_pca",
+    "recipe_pearson_residuals",
+]
diff --git a/src/squidpy/exp/pl/_spatial_qc.py b/src/squidpy/exp/pl/_spatial_qc.py
new file mode 100644
index 00000000..650adba3
--- /dev/null
+++ b/src/squidpy/exp/pl/_spatial_qc.py
@@ -0,0 +1,30 @@
+from __future__ import annotations
+
+import itertools
+import spatialdata as sd
+import spatialdata_plot
+
+_ = spatialdata_plot
+
+from squidpy._docs import d
+
+
+@d.dedent
+def _spatial_counts_distribution(
+    sdata: sd.SpatialData,
+    coordinate_system: list[str] | str | None = None,
+    sdata_plot_kwargs: dict = {},
+) -> None:
+    """
+    Plot the distribution of spatial counts.
+
+    EXPERIMENTAL: Only supports the new SpatialData interface.
+    """
+
+    if coordinate_system is not None:
+        if isinstance(coordinate_system, str):
+            coordinate_system = [coordinate_system]
+        if not all(isinstance(cs, str) for cs in coordinate_system):
+            raise ValueError("All elements in `coordinate_system` must be strings.")
+        for cs in coordinate_system:
+            pass