


import ast
import os
import re
import shutil
import tempfile
import unittest
from unittest import mock

import torch

from accelerate.test_utils.examples import compare_against_test
from accelerate.test_utils.testing import TempDirTestCase, require_trackers, run_command, slow
from accelerate.utils import write_basic_config


# DataLoaders built from `test_samples/MRPC` for quick testing
# Should mock `{script_name}.get_dataloaders` via:
# @mock.patch("{script_name}.get_dataloaders", mocked_dataloaders)

_SCREAMING_SNAKE_CASE      :			Optional[Any]      				=   [
    "cross_validation.py",
    "gradient_accumulation.py",
    "local_sgd.py",
    "multi_process_metrics.py",
    "memory.py",
    "automatic_gradient_accumulation.py",
    "fsdp_with_peak_mem_tracking.py",
    "deepspeed_with_config_support.py",
    "megatron_lm_gpt_pretraining.py",
]

class   A__ (   unittest.TestCase     ):







    """simple docstring"""

    def 		a_      (	self      , __snake_case      , __snake_case      , __snake_case = None      , __snake_case = None   ):
         snake_case					=    None
         snake_case					=    os.path.abspath(os.path.join('''examples'''      , '''by_feature'''   )   )
         snake_case					=    os.path.abspath('''examples'''   )
         for item in os.listdir(__snake_case   ):
              if item not in EXCLUDE_EXAMPLES:
                   snake_case					=    os.path.join(__snake_case      , __snake_case   )
                   if os.path.isfile(__snake_case   ) and ".py" in item_path:
                        with self.subTest(
                            tested_script=__snake_case      , feature_script=__snake_case      , tested_section='''main()''' if parser_only else '''training_function()'''      , ):
                             snake_case					=    compare_against_test(
                                 os.path.join(__snake_case      , __snake_case   )      , __snake_case      , __snake_case      , __snake_case   )
                             snake_case					=    '''\n'''.join(__snake_case   )
                             if special_strings is not None:
                                  for string in special_strings:
                                       snake_case					=    diff.replace(__snake_case      , ''''''   )
                             self.assertEqual(__snake_case      , ''''''   )
    def 		a_      (	self   ):
         self.one_complete_example('''complete_nlp_example.py'''      , __snake_case   )
         self.one_complete_example('''complete_nlp_example.py'''      , __snake_case   )




    def 		a_      (	self   ):
         snake_case					=    os.path.abspath(os.path.join('''examples'''      , '''cv_example.py'''   )   )
         snake_case					=    [
             ''' ''' * 1_6 + '''{\n\n''',
             ''' ''' * 2_0 + '''"accuracy": eval_metric["accuracy"],\n\n''',
             ''' ''' * 2_0 + '''"f1": eval_metric["f1"],\n\n''',
             ''' ''' * 2_0 + '''"train_loss": total_loss.item() / len(train_dataloader),\n\n''',
             ''' ''' * 2_0 + '''"epoch": epoch,\n\n''',
             ''' ''' * 1_6 + '''},\n\n''',
             ''' ''' * 1_6 + '''step=epoch,\n''',
             ''' ''' * 1_2,
             ''' ''' * 8 + '''for step, batch in enumerate(active_dataloader):\n''',
         ]
         self.one_complete_example('''complete_cv_example.py'''      , __snake_case      , __snake_case      , __snake_case   )
         self.one_complete_example('''complete_cv_example.py'''      , __snake_case      , __snake_case      , __snake_case   )






@mock.patch.dict(os.environ	, {'TESTING_MOCKED_DATALOADERS': '1'}     )
class   A__ (   snake_case__     ):







    """simple docstring"""

    __magic_name__        =		False
    @classmethod
    def 		a_      (	cls   ):
         super().setUpClass()
         snake_case					=    tempfile.mkdtemp()
         snake_case					=    os.path.join(cls._tmpdir      , '''default_config.yml'''   )

         write_basic_config(save_location=cls.configPath   )
         snake_case					=    ['''accelerate''', '''launch''', '''--config_file''', cls.configPath]
    @classmethod
    def 		a_      (	cls   ):
         super().tearDownClass()
         shutil.rmtree(cls._tmpdir   )
    def 		a_      (	self   ):
         snake_case					=    F'''
        examples/by_feature/checkpointing.py
        --checkpointing_steps epoch
        --output_dir {self.tmpdir}
        '''.split()
         run_command(self._launch_args + testargs   )
         self.assertTrue(os.path.exists(os.path.join(self.tmpdir      , '''epoch_0'''   )   )   )
    def 		a_      (	self   ):
         snake_case					=    F'''
        examples/by_feature/checkpointing.py
        --checkpointing_steps 1
        --output_dir {self.tmpdir}
        '''.split()
         snake_case					=    run_command(self._launch_args + testargs   )
         self.assertTrue(os.path.exists(os.path.join(self.tmpdir      , '''step_2'''   )   )   )
    def 		a_      (	self   ):
         snake_case					=    F'''
        examples/by_feature/checkpointing.py
        --resume_from_checkpoint {os.path.join(self.tmpdir      , "epoch_0"   )}
        '''.split()
         snake_case					=    run_command(self._launch_args + testargs      , return_stdout=__snake_case   )
         self.assertNotIn('''epoch 0:'''      , __snake_case   )
         self.assertIn('''epoch 1:'''      , __snake_case   )
    def 		a_      (	self   ):
         snake_case					=    F'''
        examples/by_feature/checkpointing.py
        --resume_from_checkpoint {os.path.join(self.tmpdir      , "step_2"   )}
        '''.split()
         snake_case					=    run_command(self._launch_args + testargs      , return_stdout=__snake_case   )
         if torch.cuda.is_available():
              snake_case					=    torch.cuda.device_count()
         else:
              snake_case					=    1
         if num_processes > 1:
              self.assertNotIn('''epoch 0:'''      , __snake_case   )
              self.assertIn('''epoch 1:'''      , __snake_case   )
         else:
              self.assertIn('''epoch 0:'''      , __snake_case   )
              self.assertIn('''epoch 1:'''      , __snake_case   )
    @slow
    def 		a_      (	self   ):
         snake_case					=    '''
        examples/by_feature/cross_validation.py
        --num_folds 2
        '''.split()
         with mock.patch.dict(os.environ      , {'''TESTING_MOCKED_DATALOADERS''': '''0'''}   ):
              snake_case					=    run_command(self._launch_args + testargs      , return_stdout=__snake_case   )
              snake_case					=    re.findall('''({.+})'''      , __snake_case   )
              snake_case					=    [r for r in results if '''accuracy''' in r][-1]
              snake_case					=    ast.literal_eval(__snake_case   )
              self.assertGreaterEqual(results['''accuracy''']      , 0.75   )
    def 		a_      (	self   ):
         snake_case					=    ['''examples/by_feature/multi_process_metrics.py''']
         run_command(self._launch_args + testargs   )
    @require_trackers
    @mock.patch.dict(os.environ      , {'''WANDB_MODE''': '''offline'''}   )
    def 		a_      (	self   ):
         with tempfile.TemporaryDirectory() as tmpdir:
              snake_case					=    F'''
            examples/by_feature/tracking.py
            --with_tracking
            --project_dir {tmpdir}
            '''.split()
              run_command(self._launch_args + testargs   )
              self.assertTrue(os.path.exists(os.path.join(__snake_case      , '''tracking'''   )   )   )
    def 		a_      (	self   ):
         snake_case					=    ['''examples/by_feature/gradient_accumulation.py''']
         run_command(self._launch_args + testargs   )




    def 		a_      (	self   ):
         snake_case					=    ['''examples/by_feature/local_sgd.py''']
         run_command(self._launch_args + testargs   )








from __future__ import annotations

from collections.abc import Generator

import requests
from bsa import BeautifulSoup

_SCREAMING_SNAKE_CASE      :			str      				=   "https://www.indeed.co.in/jobs?q=mobile+app+development&l="
def       UpperCAmelCase__						(UpperCamelCase_ = "mumbai"    ):



     """simple docstring"""






     snake_case					=    BeautifulSoup(requests.get(url + location    ).content							,'''html.parser'''    )
     # This attribute finds out all the specifics listed in a job
     for job in soup.find_all('''div'''							,attrs={'''data-tn-component''': '''organicJob'''}    ):
          snake_case					=    job.find('''a'''							,attrs={'''data-tn-element''': '''jobTitle'''}    ).text.strip()
          snake_case					=    job.find('''span'''							,{'''class''': '''company'''}    ).text.strip()
          yield job_title, company_name


if __name__ == "__main__":
 for i, job in enumerate(fetch_jobs("Bangalore"), 1):
  print(f'''Job {i:>2} is {job[0]} at {job[1]}''')




