diff --git a/dev-python/hatch-docstring-description/Manifest b/dev-python/hatch-docstring-description/Manifest
new file mode 100644
index 00000000000..961dfdb7e98
--- /dev/null
+++ b/dev-python/hatch-docstring-description/Manifest
@@ -0,0 +1 @@
+DIST hatch_docstring_description-1.1.1.tar.gz 18447 BLAKE2B 567197ae300812e183c75c4fef8603d5d2e7e15933872a5e7a2747beb87f6c77c5a36e60e80fc5ae9c551d1b2172318fa08966bca2ff5483f37c9ef42071e57a SHA512 310fbcc57a000f96ed6f5a3e2101f19d94450cf38a4785d91fd6d464da007ee8fb00e32f0627160a4a0f12d52fbe3e8361a603745bd76c71a3af86d012864535
diff --git a/dev-python/hatch-docstring-description/hatch-docstring-description-1.1.1.ebuild b/dev-python/hatch-docstring-description/hatch-docstring-description-1.1.1.ebuild
new file mode 100644
index 00000000000..edc5b35d30d
--- /dev/null
+++ b/dev-python/hatch-docstring-description/hatch-docstring-description-1.1.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Hatchling plugin that derives a project’s description from its package docstring"
+HOMEPAGE="https://github.com/flying-sheep/hatch-docstring-description"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? ( dev-python/build[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/hatch-docstring-description/metadata.xml b/dev-python/hatch-docstring-description/metadata.xml
new file mode 100644
index 00000000000..33ea90fd19f
--- /dev/null
+++ b/dev-python/hatch-docstring-description/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+ mschu.dev@gmail.com
+ Michael Schubert
+
+
+ hatch-docstring-description
+ flying-sheep/hatch-docstring-description
+
+
diff --git a/dev-python/legacy-api-wrap/Manifest b/dev-python/legacy-api-wrap/Manifest
new file mode 100644
index 00000000000..2bf56576abf
--- /dev/null
+++ b/dev-python/legacy-api-wrap/Manifest
@@ -0,0 +1 @@
+DIST legacy_api_wrap-1.4.1.tar.gz 11003 BLAKE2B 3f74bba95bb07a84683224e923fb56b1cb18995423dd67992a76c783e2775de868d05aad730c6564ac1e84427a54a77a9c18dc41f62257b7c9d569c9dddd89e6 SHA512 3336de44030f888001ae54a25a22ea4db24e7e574178834c4a80f62a6f9e9e65f8727532f04e3fea0ce176e95f148712fca1987b3b72fab5632a8570b09add14
diff --git a/dev-python/legacy-api-wrap/legacy-api-wrap-1.4.1.ebuild b/dev-python/legacy-api-wrap/legacy-api-wrap-1.4.1.ebuild
new file mode 100644
index 00000000000..45eb4043fac
--- /dev/null
+++ b/dev-python/legacy-api-wrap/legacy-api-wrap-1.4.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Decorator for keeping backward-compatible Python APIs"
+HOMEPAGE="https://github.com/flying-sheep/legacy-api-wrap"
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # correctly raises warning, but is not recognized by test
+ tests/test_basic.py::test_customize
+)
diff --git a/dev-python/legacy-api-wrap/metadata.xml b/dev-python/legacy-api-wrap/metadata.xml
new file mode 100644
index 00000000000..993ea5376b8
--- /dev/null
+++ b/dev-python/legacy-api-wrap/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+ mschu.dev@gmail.com
+ Michael Schubert
+
+
+ legacy-api-wrap
+ flying-sheep/legacy-api-wrap
+
+
diff --git a/dev-python/scanpy/Manifest b/dev-python/scanpy/Manifest
new file mode 100644
index 00000000000..f85bb56a151
--- /dev/null
+++ b/dev-python/scanpy/Manifest
@@ -0,0 +1 @@
+DIST scanpy-1.11.3.tar.gz 14089431 BLAKE2B 10285f8b0fccee0d596081a82830126e452c23b376f2d9bb9b0a67b52cac730f9a2940fbf9765dc9d691e75d330b255d995b5c62c07244631fab2b70b21ef7db SHA512 973b161c3400d348a260b9cfba8ff13a5104f761565b3e3bdff88392ccfd57b1bd67beb2b16becbbd24cc7f87f5d3fe29e44e7dd32edd3b038e78d4278e33c6e
diff --git a/dev-python/scanpy/metadata.xml b/dev-python/scanpy/metadata.xml
new file mode 100644
index 00000000000..9699da4c58f
--- /dev/null
+++ b/dev-python/scanpy/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+ mschu.dev@gmail.com
+ Michael Schubert
+
+
+ scanpy
+ scverse/scanpy
+
+
diff --git a/dev-python/scanpy/scanpy-1.11.3.ebuild b/dev-python/scanpy/scanpy-1.11.3.ebuild
new file mode 100644
index 00000000000..59e5e2ab4ee
--- /dev/null
+++ b/dev-python/scanpy/scanpy-1.11.3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Single-cell analysis in Python (scalable to >1M cells)"
+HOMEPAGE="https://github.com/scverse/scanpy"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/anndata-0.8[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.24.1[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.7.5[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.11.1[${PYTHON_USEDEP}]
+ >=dev-python/seaborn-0.13.2[${PYTHON_USEDEP}]
+ >=dev-python/h5py-3.7.0[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-1.1.3[${PYTHON_USEDEP}]
+ >=dev-python/statsmodels-0.14.4[${PYTHON_USEDEP}]
+ dev-python/patsy[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.7.1[${PYTHON_USEDEP}]
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/joblib[${PYTHON_USEDEP}]
+ >=dev-python/numba-0.57.1[${PYTHON_USEDEP}]
+ >=dev-python/umap-learn-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pynndescent-0.5.13[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ dev-python/session-info2[${PYTHON_USEDEP}]
+ >=dev-python/legacy-api-wrap-1.4.1[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # flaky got an unexpected keyword argument 'reruns'
+ tests/test_backed.py::test_backed_error
+ # related: https://github.com/scverse/scanpy/issues/1418
+ tests/test_plotting.py
+ tests/test_plotting_embedded/test_spatial.py
+)
diff --git a/dev-python/session-info2/Manifest b/dev-python/session-info2/Manifest
new file mode 100644
index 00000000000..1df9dfc1f9a
--- /dev/null
+++ b/dev-python/session-info2/Manifest
@@ -0,0 +1 @@
+DIST session_info2-0.1.2.tar.gz 22037 BLAKE2B 64775ed003a1ac3d51923b64773575b78caa2348341f97fc800d3b0d19f322ae08394bb9b9e4949ec334ec7f3300985efc51955352c4a877ad06360634bb8a39 SHA512 ef6aadcc6c205b45270cf1f90eff85f3e14819511e29744f1030705e7785de0d610d40a65c8f7af75d8e845df20a6ae968e2e808ea5ae784518f43fd5693dda2
diff --git a/dev-python/session-info2/metadata.xml b/dev-python/session-info2/metadata.xml
new file mode 100644
index 00000000000..9f068239ece
--- /dev/null
+++ b/dev-python/session-info2/metadata.xml
@@ -0,0 +1,11 @@
+
+
+
+ mschu.dev@gmail.com
+ Michael Schubert
+
+
+ session-info2
+ flying-sheep/session-info2
+
+
diff --git a/dev-python/session-info2/session-info2-0.1.2.ebuild b/dev-python/session-info2/session-info2-0.1.2.ebuild
new file mode 100644
index 00000000000..4ceb26dc5a1
--- /dev/null
+++ b/dev-python/session-info2/session-info2-0.1.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lightweight printout of current Python session information"
+HOMEPAGE="https://github.com/flying-sheep/session-info2"
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/hatch-docstring-description[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/jupyter-client[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # depends on specific system configuration
+ tests/test_synthetic.py::test_repr
+ tests/test_synthetic.py::test_gpu
+)
+
+distutils_enable_tests pytest