Files
gentoo/dev-python/fsspec/fsspec-2026.4.0.ebuild
Eli Schwartz f7b129be92 dev-python/fsspec: add optfeatures for fs backends
These are nondefault and highly runtime-switchable (honorable mention as
usual to IUSE_RUNTIME).

No revbump, it is informational only and deeply noncritical as such.

Closes: https://bugs.gentoo.org/978837
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2026-07-16 22:07:40 -04:00

77 lines
1.9 KiB
Bash

# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 optfeature
MY_P=filesystem_spec-${PV}
DESCRIPTION="A specification that python filesystems should adhere to"
HOMEPAGE="
https://github.com/fsspec/filesystem_spec/
https://pypi.org/project/fsspec/
"
# upstream removed tests in 2024.6.0
SRC_URI="
https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
test? (
dev-python/aiohttp[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/tqdm[${PYTHON_USEDEP}]
dev-vcs/git
)
"
# Note: this package is not xdist-friendly
EPYTEST_PLUGINS=( pytest-{asyncio,mock,rerunfailures} )
distutils_enable_tests pytest
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
src_test() {
git config --global user.email "you@example.com" || die
git config --global user.name "Your Name" || die
# block importing pyarrow, it's causing Python to crash with
# the immutability assertion.
cat > pyarrow.py <<-EOF || die
raise ImportError("thou shalt not import pyarrow")
EOF
distutils-r1_src_test
}
python_test() {
local EPYTEST_DESELECT=(
# Internet
fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges
fsspec/implementations/tests/test_github.py
fsspec/implementations/tests/test_gist.py
)
epytest -o tmp_path_retention_policy=all
}
pkg_postinst() {
optfeature_header "Install optional filesystem backends:"
optfeature "http" dev-python/aiohttp
optfeature "gist/github/jupyter" dev-python/requests
optfeature "ssh/sftp" dev-python/paramiko
optfeature "arrow/hdfs" dev-python/pyarrow
optfeature "libarchive" dev-python/libarchive-c
}