# Copyright 2023-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{10..12} ) DISTUTILS_SINGLE_IMPL=1 inherit distutils-r1 DESCRIPTION="Access and share datasets for Audio, Computer Vision, and NLP tasks" HOMEPAGE="https://pypi.org/project/datasets/" SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" IUSE="test" RDEPEND=" ${PYTHON_DEPS} sci-libs/pytorch[${PYTHON_SINGLE_USEDEP}] sci-libs/caffe2[${PYTHON_SINGLE_USEDEP},numpy] $(python_gen_cond_dep ' dev-python/absl-py[${PYTHON_USEDEP}] dev-python/aiohttp[${PYTHON_USEDEP}] dev-python/dill[${PYTHON_USEDEP}] dev-python/filelock[${PYTHON_USEDEP}] dev-python/fsspec[${PYTHON_USEDEP}] dev-python/multiprocess[${PYTHON_USEDEP}] dev-python/numpy[${PYTHON_USEDEP}] dev-python/packaging[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] dev-python/pyarrow[${PYTHON_USEDEP},parquet,snappy] dev-python/pyyaml[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] dev-python/scikit-learn[${PYTHON_USEDEP}] dev-python/tqdm[${PYTHON_USEDEP}] dev-python/xxhash[${PYTHON_USEDEP}] dev-python/zstandard[${PYTHON_USEDEP}] sci-libs/huggingface_hub[${PYTHON_USEDEP}] ') " DEPEND="${RDEPEND}" BDEPEND="test? ( $(python_gen_cond_dep ' dev-python/absl-py[${PYTHON_USEDEP}] dev-python/pytest-datadir[${PYTHON_USEDEP}] dev-python/decorator[${PYTHON_USEDEP}] dev-python/sqlalchemy[${PYTHON_USEDEP}] sci-libs/jiwer[${PYTHON_USEDEP}] sci-libs/seqeval[${PYTHON_USEDEP}] ') )" PATCHES=( "${FILESDIR}"/${P}-tests.patch ) distutils_enable_tests pytest src_prepare() { distutils-r1_src_prepare sed -i -e \ "/pyarrow_hotfix/d" \ src/datasets/features/features.py || die } src_test() { local EPYTEST_IGNORE=( tests/test_upstream_hub.py tests/packaged_modules/test_spark.py tests/test_load.py ) local EPYTEST_DESELECT=( "tests/test_arrow_dataset.py::BaseDatasetTest::test_filter_caching_on_disk" "tests/test_arrow_dataset.py::BaseDatasetTest::test_map_caching_on_disk" "tests/test_arrow_dataset.py::TaskTemplatesTest::test_task_automatic_speech_recognition" "tests/test_distributed.py::test_torch_distributed_run" "tests/test_exceptions.py::test_error_deprecated" "tests/test_file_utils.py::TestxPath::test_xpath_glob" "tests/test_file_utils.py::TestxPath::test_xpath_rglob" "tests/test_fingerprint.py::TokenizersHashTest::test_hash_regex" "tests/test_fingerprint.py::TokenizersHashTest::test_hash_tokenizer" "tests/test_fingerprint.py::TokenizersHashTest::test_hash_tokenizer_with_cache" "tests/test_fingerprint.py::RecurseHashTest::test_hash_ignores_line_definition_of_function" "tests/test_fingerprint.py::RecurseHashTest::test_hash_ipython_function" "tests/test_fingerprint.py::HashingTest::test_hash_torch_compiled_module" "tests/test_fingerprint.py::HashingTest::test_hash_torch_generator" "tests/test_fingerprint.py::HashingTest::test_hash_torch_tensor" "tests/test_fingerprint.py::HashingTest::test_set_doesnt_depend_on_order" "tests/test_fingerprint.py::HashingTest::test_set_stable" "tests/test_fingerprint.py::test_move_script_doesnt_change_hash" "tests/test_iterable_dataset.py::test_iterable_dataset_from_file" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_bertscore" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_bleurt" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_chrf" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_code_eval" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_competition_math" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_coval" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_cuad" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_f1" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_frugalscore" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_glue" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_google_bleu" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_mauve" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_mean_iou" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_meteor" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_mse" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_precision" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_recall" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_roc_auc" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_rouge" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_sacrebleu" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_sari" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_spearmanr" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_super_glue" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_ter" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_wiki_split" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_xnli" "tests/test_metric_common.py::LocalMetricTest::test_load_metric_xtreme_s" "tests/features/test_audio.py::test_dataset_with_audio_feature_undecoded" "tests/features/test_audio.py::test_formatted_dataset_with_audio_feature_undecoded" "tests/features/test_audio.py::test_dataset_with_audio_feature_map_undecoded" "tests/packaged_modules/test_cache.py::test_cache_multi_configs" "tests/packaged_modules/test_cache.py::test_cache_single_config" "tests/test_data_files.py::test_DataFilesList_from_patterns_locally_with_extra_files" "tests/test_data_files.py::test_DataFilesDict_from_patterns_locally_or_remote_hashing" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_natural_questions/default@19ba7767b174ad046a84f46af056517a3910ee57" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wiki40b/en@7b21a2e64b90323b2d3d1b81aa349bb4bc76d9bf" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wiki_dpr/psgs_w100.multiset.no_index@b24a417d802a583f8922946c1c75210290e93108" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wiki_dpr/psgs_w100.nq.compressed@b24a417d802a583f8922946c1c75210290e93108" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wiki_dpr/psgs_w100.nq.no_index@b24a417d802a583f8922946c1c75210290e93108" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wikipedia/20220301.de@4d013bdd32c475c8536aae00a56efc774f061649" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wikipedia/20220301.en@4d013bdd32c475c8536aae00a56efc774f061649" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wikipedia/20220301.fr@4d013bdd32c475c8536aae00a56efc774f061649" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wikipedia/20220301.frr@4d013bdd32c475c8536aae00a56efc774f061649" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wikipedia/20220301.it@4d013bdd32c475c8536aae00a56efc774f061649" "tests/test_hf_gcp.py::TestDatasetOnHfGcp::test_dataset_info_available_wikipedia/20220301.simple@4d013bdd32c475c8536aae00a56efc774f061649" "tests/test_hf_gcp.py::test_as_dataset_from_hf_gcs" "tests/test_hf_gcp.py::test_as_streaming_dataset_from_hf_gcs" "tests/test_hub.py::test_convert_to_parquet" "tests/test_iterable_dataset.py::test_iterable_dataset_from_hub_torch_dataloader_parallel" "tests/test_offline_util.py::test_offline_with_timeout" "tests/io/test_parquet.py::test_parquet_read_geoparquet" ) distutils-r1_src_test }