from __future__ import annotations

import os
from typing import Any

import requests

SCREAMING_SNAKE_CASE		:     Union[str, Any]         =	"https://api.github.com"

# https://docs.github.com/en/free-pro-team@latest/rest/reference/users#get-the-authenticated-user
SCREAMING_SNAKE_CASE		:     List[Any]         =	BASE_URL + "/user"

# https://github.com/settings/tokens
SCREAMING_SNAKE_CASE		:     Any         =	os.environ.get("USER_TOKEN", "")






def     lowerCAmelCase_			(   _SCREAMING_SNAKE_CASE     :				str			):
						UpperCamelCase_		:							Union[str, Any]  =		{
						    """Authorization""": f'''token {auth_token}''',
						    """Accept""": """application/vnd.github.v3+json""",
						}
						return requests.get(_SCREAMING_SNAKE_CASE		, headers=_SCREAMING_SNAKE_CASE			).json()


if __name__ == "__main__":  # pragma: no cover
	if USER_TOKEN:
		for key, value in fetch_github_info(USER_TOKEN).items():
			print(F'''{key}: {value}''')
	else:
		raise ValueError("'USER_TOKEN' field cannot be empty.")







from __future__ import annotations






def     lowerCAmelCase_			(   _SCREAMING_SNAKE_CASE     :				float		, _SCREAMING_SNAKE_CASE     :				float		, _SCREAMING_SNAKE_CASE     :				float		, ):
						if (electron_conc, hole_conc, intrinsic_conc).count(0			) != 1:
												raise ValueError("""You cannot supply more or less than 2 values"""			)
						elif electron_conc < 0:
												raise ValueError("""Electron concentration cannot be negative in a semiconductor"""			)
						elif hole_conc < 0:
												raise ValueError("""Hole concentration cannot be negative in a semiconductor"""			)
						elif intrinsic_conc < 0:
												raise ValueError(
												    """Intrinsic concentration cannot be negative in a semiconductor"""			)
						elif electron_conc == 0:
												return (
												    "electron_conc",
												    intrinsic_conc**2 / hole_conc,
												)
						elif hole_conc == 0:
												return (
												    "hole_conc",
												    intrinsic_conc**2 / electron_conc,
												)
						elif intrinsic_conc == 0:
												return (
												    "intrinsic_conc",
												    (electron_conc * hole_conc) ** 0.5,
												)
						else:
												return (-1, -1)


if __name__ == "__main__":
	import doctest

	doctest.testmod()






