# ======
# <= 3.9
# ======

# Added in Python 3.8.14
sys.set_int_max_str_digits
sys.get_int_max_str_digits


# =======
# <= 3.10
# =======

# Incompatible changes introduced in Python 3.8.17
# (Remove once 3.8.17 becomes available for GitHub Actions)
shutil.unpack_archive
tarfile.AbsoluteLinkError
tarfile.AbsolutePathError
tarfile.FilterError
tarfile.LinkOutsideDestinationError
tarfile.OutsideDestinationError
tarfile.SpecialFileError
tarfile.TarFile.extract
tarfile.TarFile.extractall
tarfile.TarInfo.replace
tarfile.data_filter
tarfile.fully_trusted_filter
tarfile.tar_filter

# Incompatible changes introduced in Python 3.8.19
# (Remove once 3.8.19 becomes available for GitHub Actions)
pyexpat.XMLParserType.GetReparseDeferralEnabled
pyexpat.XMLParserType.SetReparseDeferralEnabled
xml.etree.ElementTree.XMLParser.flush
xml.etree.ElementTree.XMLPullParser.flush
xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# ============================================================
# Allowlist entries that cannot or should not be fixed; <= 3.8
# ============================================================

# pathlib methods that exist on Windows, but always raise NotImplementedError,
# so are omitted from the stub
pathlib.WindowsPath.group
pathlib.WindowsPath.owner


# =============================================================
# Allowlist entries that cannot or should not be fixed; <= 3.11
# =============================================================

# pathlib methods that exist on Windows, but always raise NotImplementedError,
# so are omitted from the stub
pathlib.Path.is_mount
pathlib.WindowsPath.is_mount


# =============================================================
# Allowlist entries that cannot or should not be fixed; <= 3.12
# =============================================================

# Modules that don't exist on Windows
crypt
nis
ossaudiodev
spwd

# pathlib functions that rely on modules that don't exist on Windows
pathlib.Path.owner
pathlib.Path.group
