



import pytest

import datasets


# Import fixture modules as plugins
_lowerCamelCase    :		str		      =    ["""tests.fixtures.files""", """tests.fixtures.hub""", """tests.fixtures.fsspec"""]

def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase   )     ->     Tuple:
					# Mark tests as "unit" by default if not marked as "integration" (or already marked as "unit")
					for item in items:
										if any(marker in item.keywords for marker in ['integration', 'unit']   ):
															continue
										item.add_marker(pytest.mark.unit   )

def        __a			(   __lowerCAmelCase   )     ->     Any:
					config.addinivalue_line('markers'      ,	'torchaudio_latest: mark test to run with torchaudio>=0.12'   )

@pytest.fixture(autouse=__lowerCAmelCase   )
def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase   )     ->     Union[str, Any]:
					# test_hf_cache_home = tmp_path_factory.mktemp("cache")  # TODO: why a cache dir per test function does not work?
					SCREAMING_SNAKE_CASE							:     int						=				tmp_path_factory.getbasetemp() / 'cache'
					SCREAMING_SNAKE_CASE							:     Dict						=				test_hf_cache_home / 'datasets'
					SCREAMING_SNAKE_CASE							:     Optional[Any]						=				test_hf_cache_home / 'metrics'
					SCREAMING_SNAKE_CASE							:     str						=				test_hf_cache_home / 'modules'
					monkeypatch.setattr('datasets.config.HF_DATASETS_CACHE'      ,	str(__lowerCAmelCase   )   )
					monkeypatch.setattr('datasets.config.HF_METRICS_CACHE'      ,	str(__lowerCAmelCase   )   )
					monkeypatch.setattr('datasets.config.HF_MODULES_CACHE'      ,	str(__lowerCAmelCase   )   )
					SCREAMING_SNAKE_CASE							:     Dict						=				test_hf_datasets_cache / 'downloads'
					monkeypatch.setattr('datasets.config.DOWNLOADED_DATASETS_PATH'      ,	str(__lowerCAmelCase   )   )
					SCREAMING_SNAKE_CASE							:     Dict						=				test_hf_datasets_cache / 'downloads' / 'extracted'
					monkeypatch.setattr('datasets.config.EXTRACTED_DATASETS_PATH'      ,	str(__lowerCAmelCase   )   )

@pytest.fixture(autouse=__lowerCAmelCase      ,	scope='session'   )
def        __a			(   )     ->     Any:
					datasets.disable_progress_bar()

@pytest.fixture(autouse=__lowerCAmelCase   )
def        __a			(   __lowerCAmelCase   )     ->     List[Any]:
					# don't take tests into account when counting downloads
					monkeypatch.setattr('datasets.config.HF_UPDATE_DOWNLOAD_COUNTS'      ,	__lowerCAmelCase   )



@pytest.fixture
def        __a			(   __lowerCAmelCase   )     ->     Optional[Any]:
					# Required to suppress RemovedIn20Warning when feature(s) are not compatible with SQLAlchemy 2.0
					# To be removed once SQLAlchemy 2.0 supported
					monkeypatch.setattr('sqlalchemy.util.deprecations.SILENCE_UBER_WARNING'      ,	__lowerCAmelCase   )




import requests

_lowerCamelCase    :		int		      =    """https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey="""

def        __a			(   __lowerCAmelCase   )     ->     None:
					# fetching a list of articles in json format
					SCREAMING_SNAKE_CASE							:     List[str]						=				requests.get(_NEWS_API + bbc_news_api_key   ).json()
					# each article in the list is a dict
					for i, article in enumerate(bbc_news_page['articles']      ,	1   ):
										print(F'''{i}.) {article['title']}'''   )


if __name__ == "__main__":
			fetch_bbc_news(bbc_news_api_key="""<Your BBC News API key goes here>""")