
from datetime import datetime as dt
import os

from github import Github


lowerCamelCase__     :		Dict        = [
    """good first issue""",
    """good second issue""",
    """good difficult issue""",
    """feature request""",
    """new model""",
    """wip""",
]

def 		UpperCamelCase						(   )		->						Union[str, Any]:


  '''simple docstring'''






  lowercase__	: int     		=   Github(os.environ["""GITHUB_TOKEN"""] )
  lowercase__	: Optional[Any]     		=   g.get_repo("""huggingface/transformers""" )
  lowercase__	: Any     		=   repo.get_issues(state="""open""" )

  for issue in open_issues:
    lowercase__	: Optional[Any]     		=   sorted([comment for comment in issue.get_comments()]			,			key=lambda lowercase_ : i.created_at			,			reverse=lowercase_ )
    lowercase__	: str     		=   comments[0] if len(lowercase_ ) > 0 else None
    if (
        last_comment is not None
        and last_comment.user.login == "github-actions[bot]"
        and (dt.utcnow() - issue.updated_at).days > 7
        and (dt.utcnow() - issue.created_at).days >= 30
        and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels() )
    ):
      # print(f"Would close issue {issue.number} since it has been 7 days of inactivity since bot mention.")
      issue.edit(state="""closed""" )
    elif (
        (dt.utcnow() - issue.updated_at).days > 23
        and (dt.utcnow() - issue.created_at).days >= 30
        and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels() )
    ):
      # print(f"Would add stale comment to {issue.number}")
      issue.create_comment(
          """This issue has been automatically marked as stale because it has not had """
          """recent activity. If you think this still needs to be addressed """
          """please comment on this thread.\n\nPlease note that issues that do not follow the """
          """[contributing guidelines](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md) """
          """are likely to be ignored.""" )


if __name__ == "__main__":
     main()








import unittest

import numpy as np

from transformers.testing_utils import require_torch, require_vision
from transformers.utils import is_torch_available, is_vision_available

from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs


if is_torch_available():
     import torch

if is_vision_available():
     from PIL import Image

     from transformers import ViTImageProcessor



class    _snake_case (						unittest.TestCase				):


 def __init__(       self       ,	SCREAMING_SNAKE_CASE_       ,	SCREAMING_SNAKE_CASE_=13       ,	SCREAMING_SNAKE_CASE_=3       ,	SCREAMING_SNAKE_CASE_=2_24       ,	SCREAMING_SNAKE_CASE_=30       ,	SCREAMING_SNAKE_CASE_=4_00       ,	SCREAMING_SNAKE_CASE_=True       ,	SCREAMING_SNAKE_CASE_=None       ,	SCREAMING_SNAKE_CASE_=True       ,	SCREAMING_SNAKE_CASE_=[0.5, 0.5, 0.5]       ,	SCREAMING_SNAKE_CASE_=[0.5, 0.5, 0.5]       ,	):


   '''simple docstring'''




   lowercase__	: List[str]     		=   size if size is not None else {"""height""": 18, """width""": 18}
   lowercase__	: int     		=   parent
   lowercase__	: Union[str, Any]     		=   batch_size
   lowercase__	: List[str]     		=   num_channels
   lowercase__	: str     		=   image_size
   lowercase__	: int     		=   min_resolution
   lowercase__	: Dict     		=   max_resolution
   lowercase__	: Tuple     		=   do_resize
   lowercase__	: Union[str, Any]     		=   size
   lowercase__	: Any     		=   do_normalize
   lowercase__	: Tuple     		=   image_mean
   lowercase__	: str     		=   image_std



 def   lowercase__  (       self):


   '''simple docstring'''




   return {
       "image_mean": self.image_mean,
       "image_std": self.image_std,
       "do_normalize": self.do_normalize,
       "do_resize": self.do_resize,
       "size": self.size,
   }



@require_torch
@require_vision
class    _snake_case (						UpperCAmelCase_	,    unittest.TestCase				):
 __lowerCAmelCase	:  Optional[Any]	   =      ViTImageProcessor if is_vision_available() else None


 def   lowercase__  (       self):


   '''simple docstring'''




   lowercase__	: str     		=   EfficientFormerImageProcessorTester(self)


 @property
 def   lowercase__  (       self):


   '''simple docstring'''




   return self.image_proc_tester.prepare_image_processor_dict()


 def   lowercase__  (       self):


   '''simple docstring'''




   lowercase__	: Any     		=   self.image_processing_class(**self.image_processor_dict)
   self.assertTrue(hasattr(SCREAMING_SNAKE_CASE_       ,	"""image_mean"""))
   self.assertTrue(hasattr(SCREAMING_SNAKE_CASE_       ,	"""image_std"""))
   self.assertTrue(hasattr(SCREAMING_SNAKE_CASE_       ,	"""do_normalize"""))
   self.assertTrue(hasattr(SCREAMING_SNAKE_CASE_       ,	"""do_resize"""))
   self.assertTrue(hasattr(SCREAMING_SNAKE_CASE_       ,	"""size"""))


 def   lowercase__  (       self):


   '''simple docstring'''




   pass


 def   lowercase__  (       self):


   '''simple docstring'''




   lowercase__	: str     		=   self.image_processing_class(**self.image_processor_dict)
   # create random PIL images
   lowercase__	: List[Any]     		=   prepare_image_inputs(self.image_proc_tester       ,	equal_resolution=SCREAMING_SNAKE_CASE_)
   for image in image_inputs:
     self.assertIsInstance(SCREAMING_SNAKE_CASE_       ,	Image.Image)

   # Test not batched input
   lowercase__	: int     		=   image_processor(image_inputs[0]       ,	return_tensors="""pt""").pixel_values
   self.assertEqual(
       encoded_images.shape       ,	(
           1,
           self.image_proc_tester.num_channels,
           self.image_proc_tester.size["""height"""],
           self.image_proc_tester.size["""width"""],
       )       ,	)

   # Test batched
   lowercase__	: str     		=   image_processor(SCREAMING_SNAKE_CASE_       ,	return_tensors="""pt""").pixel_values
   self.assertEqual(
       encoded_images.shape       ,	(
           self.image_proc_tester.batch_size,
           self.image_proc_tester.num_channels,
           self.image_proc_tester.size["""height"""],
           self.image_proc_tester.size["""width"""],
       )       ,	)


 def   lowercase__  (       self):


   '''simple docstring'''




   lowercase__	: Tuple     		=   self.image_processing_class(**self.image_processor_dict)
   # create random numpy tensors
   lowercase__	: str     		=   prepare_image_inputs(self.image_proc_tester       ,	equal_resolution=SCREAMING_SNAKE_CASE_       ,	numpify=SCREAMING_SNAKE_CASE_)
   for image in image_inputs:
     self.assertIsInstance(SCREAMING_SNAKE_CASE_       ,	np.ndarray)

   # Test not batched input
   lowercase__	: Optional[int]     		=   image_processor(image_inputs[0]       ,	return_tensors="""pt""").pixel_values
   self.assertEqual(
       encoded_images.shape       ,	(
           1,
           self.image_proc_tester.num_channels,
           self.image_proc_tester.size["""height"""],
           self.image_proc_tester.size["""width"""],
       )       ,	)

   # Test batched
   lowercase__	: Dict     		=   image_processor(SCREAMING_SNAKE_CASE_       ,	return_tensors="""pt""").pixel_values
   self.assertEqual(
       encoded_images.shape       ,	(
           self.image_proc_tester.batch_size,
           self.image_proc_tester.num_channels,
           self.image_proc_tester.size["""height"""],
           self.image_proc_tester.size["""width"""],
       )       ,	)



 def   lowercase__  (       self):


   '''simple docstring'''




   lowercase__	: List[str]     		=   self.image_processing_class(**self.image_processor_dict)
   # create random PyTorch tensors
   lowercase__	: Dict     		=   prepare_image_inputs(self.image_proc_tester       ,	equal_resolution=SCREAMING_SNAKE_CASE_       ,	torchify=SCREAMING_SNAKE_CASE_)
   for image in image_inputs:
     self.assertIsInstance(SCREAMING_SNAKE_CASE_       ,	torch.Tensor)

   # Test not batched input
   lowercase__	: int     		=   image_processor(image_inputs[0]       ,	return_tensors="""pt""").pixel_values
   self.assertEqual(
       encoded_images.shape       ,	(
           1,
           self.image_proc_tester.num_channels,
           self.image_proc_tester.size["""height"""],
           self.image_proc_tester.size["""width"""],
       )       ,	)

   # Test batched
   lowercase__	: Any     		=   image_processor(SCREAMING_SNAKE_CASE_       ,	return_tensors="""pt""").pixel_values
   self.assertEqual(
       encoded_images.shape       ,	(
           self.image_proc_tester.batch_size,
           self.image_proc_tester.num_channels,
           self.image_proc_tester.size["""height"""],
           self.image_proc_tester.size["""width"""],
       )       ,	)






