





"""simple docstring"""





import contextlib
import csv
import json
import os
import sqlitea
import tarfile
import textwrap
import zipfile

import pyarrow as pa
import pyarrow.parquet as pq
import pytest

import datasets
import datasets.config


@pytest.fixture(scope="session"			)
def 					a__    (    ):




		"""simple docstring"""


		UpperCamelCase      =		10
		UpperCamelCase      =		datasets.Features(
		    {
		        "tokens": datasets.Sequence(datasets.Value("string"			)			),
		        "labels": datasets.Sequence(datasets.ClassLabel(names=["negative", "positive"]			)			),
		        "answers": datasets.Sequence(
		            {
		                "text": datasets.Value("string"			),
		                "answer_start": datasets.Value("int32"			),
		            }			),
		        "id": datasets.Value("int64"			),
		    }			)
		UpperCamelCase      =		datasets.Dataset.from_dict(
		    {
		        "tokens": [["foo"] * 5] * n,
		        "labels": [[1] * 5] * n,
		        "answers": [{"answer_start": [97], "text": ["1976"]}] * 10,
		        "id": list(range(SCREAMING_SNAKE_CASE_			)			),
		    }     ,		features=SCREAMING_SNAKE_CASE_     ,		)
		return dataset


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "file.arrow"			)
		dataset.map(cache_file_name=SCREAMING_SNAKE_CASE_			)
		return filename


# FILE_CONTENT + files


lowerCAmelCase__   	=	'''\
    Text data.
    Second line of data.'''


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt"
		UpperCamelCase      =		FILE_CONTENT
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return filename


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import bza

		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.bz2"
		UpperCamelCase      =		bytes(SCREAMING_SNAKE_CASE_     ,		"utf-8"			)
		with bza.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import gzip

		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "file.txt.gz"			)
		UpperCamelCase      =		bytes(SCREAMING_SNAKE_CASE_     ,		"utf-8"			)
		with gzip.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		if datasets.config.LZ4_AVAILABLE:
				import lza.frame

				UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.lz4"
				UpperCamelCase      =		bytes(SCREAMING_SNAKE_CASE_     ,		"utf-8"			)
				with lza.frame.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
						f.write(SCREAMING_SNAKE_CASE_			)
				return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		if datasets.config.PY7ZR_AVAILABLE:
				import pyazr

				UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.7z"
				with pyazr.SevenZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as archive:
						archive.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
				return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import tarfile

		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.tar"
		with tarfile.TarFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.add(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import lzma

		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.xz"
		UpperCamelCase      =		bytes(SCREAMING_SNAKE_CASE_     ,		"utf-8"			)
		with lzma.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import zipfile

		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		if datasets.config.ZSTANDARD_AVAILABLE:
				import zstandard as zstd

				UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.txt.zst"
				UpperCamelCase      =		bytes(SCREAMING_SNAKE_CASE_     ,		"utf-8"			)
				with zstd.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
						f.write(SCREAMING_SNAKE_CASE_			)
				return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "file.xml"
		UpperCamelCase      =		textwrap.dedent(
		    "\\n    <?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n    <tmx version=\"1.4\">\n      <header segtype=\"sentence\" srclang=\"ca\" />\n      <body>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 1</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 1</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 2</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 2</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 3</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 3</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 4</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 4</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang=\"ca\"><seg>Contingut 5</seg></tuv>\n          <tuv xml:lang=\"en\"><seg>Content 5</seg></tuv>\n        </tu>\n      </body>\n    </tmx>"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return filename


lowerCAmelCase__   	=	[
    {'''col_1''': '''0''', '''col_2''': 0, '''col_3''': 0.0},
    {'''col_1''': '''1''', '''col_2''': 1, '''col_3''': 1.0},
    {'''col_1''': '''2''', '''col_2''': 2, '''col_3''': 2.0},
    {'''col_1''': '''3''', '''col_2''': 3, '''col_3''': 3.0},
]
lowerCAmelCase__   	=	[
    {'''col_1''': '''4''', '''col_2''': 4, '''col_3''': 4.0},
    {'''col_1''': '''5''', '''col_2''': 5, '''col_3''': 5.0},
]
lowerCAmelCase__   	=	{
    '''col_1''': ['''0''', '''1''', '''2''', '''3'''],
    '''col_2''': [0, 1, 2, 3],
    '''col_3''': [0.0, 1.0, 2.0, 3.0],
}

lowerCAmelCase__   	=	[
    {'''col_3''': 0.0, '''col_1''': '''0''', '''col_2''': 0},
    {'''col_3''': 1.0, '''col_1''': '''1''', '''col_2''': 1},
]

lowerCAmelCase__   	=	[
    {'''col_1''': '''s0''', '''col_2''': 0, '''col_3''': 0.0},
    {'''col_1''': '''s1''', '''col_2''': 1, '''col_3''': 1.0},
    {'''col_1''': '''s2''', '''col_2''': 2, '''col_3''': 2.0},
    {'''col_1''': '''s3''', '''col_2''': 3, '''col_3''': 3.0},
]


@pytest.fixture(scope="session"			)
def 					a__    (    ):




		"""simple docstring"""


		return DATA_DICT_OF_LISTS


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		datasets.Dataset.from_dict(SCREAMING_SNAKE_CASE_			)
		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.arrow"			)
		dataset.map(cache_file_name=SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.sqlite"			)
		with contextlib.closing(sqlitea.connect(SCREAMING_SNAKE_CASE_			)			) as con:
				UpperCamelCase      =		con.cursor()
				cur.execute("CREATE TABLE dataset(col_1 text, col_2 int, col_3 real)"			)
				for item in DATA:
						cur.execute("INSERT INTO dataset(col_1, col_2, col_3) VALUES (?, ?, ?)"     ,		tuple(item.values()			)			)
				con.commit()
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.csv"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"     ,		newline=""			) as f:
				UpperCamelCase      =		csv.DictWriter(SCREAMING_SNAKE_CASE_     ,		fieldnames=["col_1", "col_2", "col_3"]			)
				writer.writeheader()
				for item in DATA:
						writer.writerow(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset2.csv"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"     ,		newline=""			) as f:
				UpperCamelCase      =		csv.DictWriter(SCREAMING_SNAKE_CASE_     ,		fieldnames=["col_1", "col_2", "col_3"]			)
				writer.writeheader()
				for item in DATA:
						writer.writerow(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import bza

		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.csv.bz2"
		with open(SCREAMING_SNAKE_CASE_     ,		"rb"			) as f:
				UpperCamelCase      =		f.read()
		# data = bytes(FILE_CONTENT, "utf-8")
		with bza.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.csv.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.csv.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(csv_path.replace(".csv"     ,		".CSV"			)			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(csva_path.replace(".csv"     ,		".CSV"			)			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset_with_dir.csv.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("main_dir"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("main_dir"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.parquet"			)
		UpperCamelCase      =		pa.schema(
		    {
		        "col_1": pa.string(),
		        "col_2": pa.intaa(),
		        "col_3": pa.floataa(),
		    }			)
		with open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as f:
				UpperCamelCase      =		pq.ParquetWriter(SCREAMING_SNAKE_CASE_     ,		schema=SCREAMING_SNAKE_CASE_			)
				UpperCamelCase      =		pa.Table.from_pydict({k: [DATA[i][k] for i in range(len(SCREAMING_SNAKE_CASE_			)			)] for k in DATA[0]}     ,		schema=SCREAMING_SNAKE_CASE_			)
				writer.write_table(SCREAMING_SNAKE_CASE_			)
				writer.close()
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.json"			)
		UpperCamelCase      =		{"data": DATA}
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				json.dump(SCREAMING_SNAKE_CASE_     ,		SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.json"			)
		UpperCamelCase      =		{"data": DATA_DICT_OF_LISTS}
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				json.dump(SCREAMING_SNAKE_CASE_     ,		SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.jsonl"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in DATA:
						f.write(json.dumps(SCREAMING_SNAKE_CASE_			) + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset2.jsonl"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in DATA:
						f.write(json.dumps(SCREAMING_SNAKE_CASE_			) + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset_312.jsonl"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in DATA_312:
						f.write(json.dumps(SCREAMING_SNAKE_CASE_			) + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset-str.jsonl"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in DATA_STR:
						f.write(json.dumps(SCREAMING_SNAKE_CASE_			) + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import gzip

		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.txt.gz"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"rb"			) as orig_file:
				with gzip.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as zipped_file:
						zipped_file.writelines(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		import gzip

		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.jsonl.gz"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"rb"			) as orig_file:
				with gzip.open(SCREAMING_SNAKE_CASE_     ,		"wb"			) as zipped_file:
						zipped_file.writelines(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.jsonl.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset_nested.jsonl.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("nested"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset_with_dir.jsonl.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("main_dir"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("main_dir"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.jsonl.tar"
		with tarfile.TarFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.add(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
				f.add(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset_nested.jsonl.tar"
		with tarfile.TarFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.add(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("nested"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		["0", "1", "2", "3"]
		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset.txt"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in data:
						f.write(item + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		["0", "1", "2", "3"]
		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset2.txt"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in data:
						f.write(item + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		["0", "1", "2", "3"]
		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.abc"
		with open(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				for item in data:
						f.write(item + "\n"			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.text.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset_with_dir.text.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("main_dir"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.join("main_dir"     ,		os.path.basename(SCREAMING_SNAKE_CASE_			)			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.ext.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename("unsupported.ext"			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename("unsupported_2.ext"			)			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		"\n".join(["First", "Second\u2029with Unicode new line", "Third"]			)
		UpperCamelCase      =		str(tmp_path_factory.mktemp("data"			) / "dataset_with_unicode_new_lines.txt"			)
		with open(SCREAMING_SNAKE_CASE_     ,		"w"     ,		encoding="utf-8"			) as f:
				f.write(SCREAMING_SNAKE_CASE_			)
		return path


@pytest.fixture(scope="session"			)
def 					a__    (    ):




		"""simple docstring"""


		return os.path.join("tests"     ,		"features"     ,		"data"     ,		"test_image_rgb.jpg"			)


@pytest.fixture(scope="session"			)
def 					a__    (    ):




		"""simple docstring"""


		return os.path.join("tests"     ,		"features"     ,		"data"     ,		"test_audio_44100.wav"			)


@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE     ,		_SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data"			) / "dataset.img.zip"
		with zipfile.ZipFile(SCREAMING_SNAKE_CASE_     ,		"w"			) as f:
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			)			)
				f.write(SCREAMING_SNAKE_CASE_     ,		arcname=os.path.basename(SCREAMING_SNAKE_CASE_			).replace(".jpg"     ,		"2.jpg"			)			)
		return path






@pytest.fixture(scope="session"			)
def 					a__    (    _SCREAMING_SNAKE_CASE			):




		"""simple docstring"""


		UpperCamelCase      =		tmp_path_factory.mktemp("data_dir"			)

		(data_dir / "subdir").mkdir()
		with open(data_dir / "subdir" / "train.txt"     ,		"w"			) as f:
				f.write("foo\n" * 10			)
		with open(data_dir / "subdir" / "test.txt"     ,		"w"			) as f:
				f.write("bar\n" * 10			)
		# hidden file
		with open(data_dir / "subdir" / ".test.txt"     ,		"w"			) as f:
				f.write("bar\n" * 10			)

		# hidden directory
		(data_dir / ".subdir").mkdir()
		with open(data_dir / ".subdir" / "train.txt"     ,		"w"			) as f:
				f.write("foo\n" * 10			)
		with open(data_dir / ".subdir" / "test.txt"     ,		"w"			) as f:
				f.write("bar\n" * 10			)

		return data_dir












from dataclasses import dataclass, field
from typing import Tuple

from ..utils import cached_property, is_tf_available, logging, requires_backends
from .benchmark_args_utils import BenchmarkArguments


if is_tf_available():
					import tensorflow as tf


UpperCamelCase__    			=			logging.get_logger(__name__)
@dataclass
class 			a__    (					snake_case__      ):
						_a							:    List[str]					=    [
						    """no_inference""",
						    """no_cuda""",
						    """no_tpu""",
						    """no_speed""",
						    """no_memory""",
						    """no_env_print""",
						    """no_multi_process""",
						]






						def __init__(   self		,			**_A			):




											"""simple docstring"""



											for deprecated_arg in self.deprecated_args:
																if deprecated_arg in kwargs:
																					__lowerCAmelCase				   =       deprecated_arg[3:]
																					__lowerCAmelCase				   =       not kwargs.pop(_A			)
																					logger.warning(
																					    f"""{deprecated_arg} is depreciated. Please use --no-{positive_arg} or"""
																					    f""" {positive_arg}={kwargs[positive_arg]}"""			)
											__lowerCAmelCase				   =       kwargs.pop("tpu_name"		,			self.tpu_name			)
											__lowerCAmelCase				   =       kwargs.pop("device_idx"		,			self.device_idx			)
											__lowerCAmelCase				   =       kwargs.pop("eager_mode"		,			self.eager_mode			)
											__lowerCAmelCase				   =       kwargs.pop("use_xla"		,			self.use_xla			)
											super().__init__(**_A			)

						_a							:    str					=    field(
						    default=snake_case__ ,				metadata={"""help""": """Name of TPU"""} ,				)
						_a							:    int					=    field(
						    default=0 ,				metadata={"""help""": """CPU / GPU device index. Defaults to 0."""} ,				)
						_a							:    bool					=    field(default=snake_case__ ,				metadata={"""help""": """Benchmark models in eager model."""}      )
						_a							:    bool					=    field(
						    default=snake_case__ ,				metadata={
						        """help""": """Benchmark models using XLA JIT compilation. Note that `eager_model` has to be set to `False`."""
						    } ,				)






						@cached_property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["tf"]			)
											__lowerCAmelCase				   =       None
											if self.tpu:
																try:
																					if self.tpu_name:
																										__lowerCAmelCase				   =       tf.distribute.cluster_resolver.TPUClusterResolver(self.tpu_name			)
																					else:
																										__lowerCAmelCase				   =       tf.distribute.cluster_resolver.TPUClusterResolver()
																except ValueError:
																					__lowerCAmelCase				   =       None
											return tpu






						@cached_property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["tf"]			)
											if self.is_tpu:
																tf.config.experimental_connect_to_cluster(self._setup_tpu			)
																tf.tpu.experimental.initialize_tpu_system(self._setup_tpu			)

																__lowerCAmelCase				   =       tf.distribute.TPUStrategy(self._setup_tpu			)
											else:
																# currently no multi gpu is allowed
																if self.is_gpu:
																					# TODO: Currently only single GPU is supported
																					tf.config.set_visible_devices(self.gpu_list[self.device_idx]		,			"GPU"			)
																					__lowerCAmelCase				   =       tf.distribute.OneDeviceStrategy(device=f"""/gpu:{self.device_idx}"""			)
																else:
																					tf.config.set_visible_devices([]		,			"GPU"			)  # disable GPU
																					__lowerCAmelCase				   =       tf.distribute.OneDeviceStrategy(device=f"""/cpu:{self.device_idx}"""			)

											return strategy






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["tf"]			)
											return self._setup_tpu is not None






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["tf"]			)
											return self._setup_strategy






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["tf"]			)
											return tf.config.list_physical_devices("GPU"			)






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											requires_backends(self		,			["tf"]			)
											if self.cuda:
																return len(self.gpu_list			)
											return 0






						@property
						def 				__SCREAMING_SNAKE_CASE(   self			):




											"""simple docstring"""



											return self.n_gpu > 0




