
'''simple docstring'''






import os
from datetime import datetime as dt

from github import Github


A			      =      [
    'good first issue',
    'good second issue',
    'good difficult issue',
    'enhancement',
    'new pipeline/model',
    'new scheduler',
    'wip',
]





def    UpperCAmelCase							(  ):
				lowerCamelCase					:			str									= Github(os.environ['GITHUB_TOKEN'])
				lowerCamelCase					:			Optional[Any]									= g.get_repo('huggingface/diffusers')
				lowerCamelCase					:			int									= repo.get_issues(state='open')

				for issue in open_issues:
								lowerCamelCase					:			Union[str, Any]									= sorted(issue.get_comments()       ,							key=lambda UpperCAmelCase__: i.created_at       ,							reverse=UpperCAmelCase__)
								lowerCamelCase					:			int									= comments[0] if len(UpperCAmelCase__) > 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())
								):
												# Closes the issue after 7 days of inactivity since the Stalebot notification.
												issue.edit(state='closed')
								elif (
								    "stale" in issue.get_labels()
								    and last_comment is not None
								    and last_comment.user.login != "github-actions[bot]"
								):
												# Opens the issue if someone other than Stalebot commented.
												issue.edit(state='open')
												issue.remove_from_labels('stale')
								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())
								):
												# Post a Stalebot notification after 23 days of inactivity.
												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/diffusers/blob/main/CONTRIBUTING.md) '
												    'are likely to be ignored.')
												issue.add_to_labels('stale')


if __name__ == "__main__":
					main()


'''simple docstring'''






def    UpperCAmelCase							(  UpperCAmelCase__							:							list[int]):
				if not nums:  # Makes sure that the list is not empty
								raise ValueError('List is empty')

				lowerCamelCase					:			int									= sum(UpperCAmelCase__) / len(UpperCAmelCase__)  # Calculate the average
				return sum(abs(x - average) for x in nums) / len(UpperCAmelCase__)


if __name__ == "__main__":
					import doctest

					doctest.testmod()
