/opt/alt/python311/lib64/python3.11
NameSizeModeActions
asyncio/-0755rm
collections/-0755rm
concurrent/-0755rm
config-3.11-x86_64-linux-gnu/-0755rm
ctypes/-0755rm
curses/-0755rm
dbm/-0755rm
distutils/-0755rm
email/-0755rm
encodings/-0755rm
ensurepip/-0755rm
html/-0755rm
http/-0755rm
importlib/-0755rm
json/-0755rm
lib-dynload/-0755rm
lib2to3/-0755rm
logging/-0755rm
multiprocessing/-0755rm
pydoc_data/-0755rm
re/-0755rm
site-packages/-0755rm
sqlite3/-0755rm
tomllib/-0755rm
unittest/-0755rm
urllib/-0755rm
venv/-0755rm
wsgiref/-0755rm
xml/-0755rm
xmlrpc/-0755rm
zoneinfo/-0755rm
__phello__/-0755rm
__pycache__/-0755rm
abc.py65380644editdlrm
aifc.py342110644editdlrm
antigravity.py5000644editdlrm
argparse.py1002830644editdlrm
ast.py614440644editdlrm
asynchat.py115700644editdlrm
asyncore.py203100644editdlrm
base64.py210410755editdlrm
bdb.py324630644editdlrm
bisect.py31350644editdlrm
bz2.py118470644editdlrm
calendar.py247310644editdlrm
cgi.py344320755editdlrm
cgitb.py124210644editdlrm
chunk.py55000644editdlrm
cmd.py148730644editdlrm
code.py106220644editdlrm
codecs.py371500644editdlrm
codeop.py59070644editdlrm
colorsys.py40620644editdlrm
compileall.py202520644editdlrm
configparser.py556600644editdlrm
contextlib.py274140644editdlrm
contextvars.py1290644editdlrm
copy.py86810644editdlrm
copyreg.py76770644editdlrm
cProfile.py63590755editdlrm
crypt.py39130644editdlrm
csv.py160300644editdlrm
dataclasses.py584720644editdlrm
datetime.py918320644editdlrm
decimal.py3200644editdlrm
difflib.py833080644editdlrm
dis.py289060644editdlrm
doctest.py1062970644editdlrm
enum.py795830644editdlrm
filecmp.py101780644editdlrm
fileinput.py157140644editdlrm
fnmatch.py59990644editdlrm
fractions.py286770644editdlrm
ftplib.py358150644editdlrm
functools.py384130644editdlrm
genericpath.py49750644editdlrm
getopt.py74890644editdlrm
getpass.py59900644editdlrm
gettext.py213200644editdlrm
glob.py87320644editdlrm
graphlib.py96560644editdlrm
gzip.py240740644editdlrm
hashlib.py117650644editdlrm
heapq.py230240644editdlrm
hmac.py77160644editdlrm
imaplib.py552170644editdlrm
imghdr.py39520644editdlrm
imp.py106060644editdlrm
inspect.py1234190644editdlrm
io.py43200644editdlrm
ipaddress.py791240644editdlrm
keyword.py10610644editdlrm
LICENSE.txt139360644editdlrm
linecache.py56490644editdlrm
locale.py790950644editdlrm
lzma.py132770644editdlrm
mailbox.py788300644editdlrm
mailcap.py93690644editdlrm
mimetypes.py229620644editdlrm
modulefinder.py236990644editdlrm
netrc.py69290644editdlrm
nntplib.py410870644editdlrm
ntpath.py302220644editdlrm
nturl2path.py28870644editdlrm
numbers.py103480644editdlrm
opcode.py104470644editdlrm
operator.py109650644editdlrm
optparse.py603690644editdlrm
os.py395300644editdlrm
pathlib.py485660644editdlrm
pdb.py641860755editdlrm
pickle.py651320644editdlrm
pickletools.py938610644editdlrm
pipes.py89780644editdlrm
pkgutil.py246380644editdlrm
platform.py422870755editdlrm
plistlib.py283540644editdlrm
poplib.py151980644editdlrm
posixpath.py170130644editdlrm
pprint.py245830644editdlrm
profile.py228960755editdlrm
pstats.py293560644editdlrm
pty.py63170644editdlrm
pyclbr.py113960644editdlrm
pydoc.py1126640755editdlrm
py_compile.py78370644editdlrm
queue.py114960644editdlrm
quopri.py72810755editdlrm
random.py321620644editdlrm
reprlib.py54370644editdlrm
rlcompleter.py78270644editdlrm
runpy.py131590644editdlrm
sched.py63510644editdlrm
secrets.py20280644editdlrm
selectors.py196710644editdlrm
shelve.py85600644editdlrm
shlex.py135010644editdlrm
shutil.py565170644editdlrm
signal.py24950644editdlrm
site.py229870644editdlrm
smtpd.py311750755editdlrm
smtplib.py454310755editdlrm
sndhdr.py74480644editdlrm
socket.py375570644editdlrm
socketserver.py275860644editdlrm
sre_compile.py2310644editdlrm
sre_constants.py2320644editdlrm
sre_parse.py2290644editdlrm
ssl.py543050644editdlrm
stat.py54850644editdlrm
statistics.py477050644editdlrm
string.py117860644editdlrm
stringprep.py129170644editdlrm
struct.py2570644editdlrm
subprocess.py887250644editdlrm
sunau.py184800644editdlrm
symtable.py103680644editdlrm
sysconfig.py303150644editdlrm
tabnanny.py113120755editdlrm
tarfile.py1078760755editdlrm
telnetlib.py233010644editdlrm
tempfile.py318730644editdlrm
textwrap.py197180644editdlrm
this.py10030644editdlrm
threading.py582310644editdlrm
timeit.py135320755editdlrm
token.py23860644editdlrm
tokenize.py263360644editdlrm
trace.py291960755editdlrm
traceback.py405470644editdlrm
tracemalloc.py180470644editdlrm
tty.py8790644editdlrm
types.py100670644editdlrm
typing.py1209510644editdlrm
uu.py73410644editdlrm
uuid.py275970644editdlrm
warnings.py211100644editdlrm
wave.py218180644editdlrm
weakref.py215130644editdlrm
webbrowser.py251490755editdlrm
xdrlib.py59770644editdlrm
zipapp.py75350644editdlrm
zipfile.py937880644editdlrm
zipimport.py308970644editdlrm
_aix_support.py33890644editdlrm
_bootsubprocess.py26750644editdlrm
_collections_abc.py301930644editdlrm
_compat_pickle.py87610644editdlrm
_compression.py56810644editdlrm
_markupbase.py146530644editdlrm
_osx_support.py220230644editdlrm
_pydecimal.py2292020644editdlrm
_pyio.py941930644editdlrm
_py_abc.py61890644editdlrm
_sitebuiltins.py31280644editdlrm
_strptime.py251750644editdlrm
_sysconfigdata_d_linux_x86_64-linux-gnu.py588780644editdlrm
_sysconfigdata__linux_x86_64-linux-gnu.py596450644editdlrm
_threading_local.py72200644editdlrm
_weakrefset.py58930644editdlrm
__future__.py52180644editdlrm
__hello__.py2270644editdlrm
Edit: /opt/alt/python311/lib64/python3.11/types.py (10067B)
""" Define names for built-in types that aren't directly accessible as a builtin. """ import sys # Iterators in Python aren't a matter of type but of protocol. A large # and changing number of builtin types implement *some* flavor of # iterator. Don't check the type! Use hasattr to check for both # "__iter__" and "__next__" attributes instead. def _f(): pass FunctionType = type(_f) LambdaType = type(lambda: None) # Same as FunctionType CodeType = type(_f.__code__) MappingProxyType = type(type.__dict__) SimpleNamespace = type(sys.implementation) def _cell_factory(): a = 1 def f(): nonlocal a return f.__closure__[0] CellType = type(_cell_factory()) def _g(): yield 1 GeneratorType = type(_g()) async def _c(): pass _c = _c() CoroutineType = type(_c) _c.close() # Prevent ResourceWarning async def _ag(): yield _ag = _ag() AsyncGeneratorType = type(_ag) class _C: def _m(self): pass MethodType = type(_C()._m) BuiltinFunctionType = type(len) BuiltinMethodType = type([].append) # Same as BuiltinFunctionType WrapperDescriptorType = type(object.__init__) MethodWrapperType = type(object().__str__) MethodDescriptorType = type(str.join) ClassMethodDescriptorType = type(dict.__dict__['fromkeys']) ModuleType = type(sys) try: raise TypeError except TypeError as exc: TracebackType = type(exc.__traceback__) FrameType = type(exc.__traceback__.tb_frame) # For Jython, the following two types are identical GetSetDescriptorType = type(FunctionType.__code__) MemberDescriptorType = type(FunctionType.__globals__) del sys, _f, _g, _C, _c, _ag # Not for export # Provide a PEP 3115 compliant mechanism for class creation def new_class(name, bases=(), kwds=None, exec_body=None): """Create a class object dynamically using the appropriate metaclass.""" resolved_bases = resolve_bases(bases) meta, ns, kwds = prepare_class(name, resolved_bases, kwds) if exec_body is not None: exec_body(ns) if resolved_bases is not bases: ns['__orig_bases__'] = bases return meta(name, resolved_bases, ns, **kwds) def resolve_bases(bases): """Resolve MRO entries dynamically as specified by PEP 560.""" new_bases = list(bases) updated = False shift = 0 for i, base in enumerate(bases): if isinstance(base, type): continue if not hasattr(base, "__mro_entries__"): continue new_base = base.__mro_entries__(bases) updated = True if not isinstance(new_base, tuple): raise TypeError("__mro_entries__ must return a tuple") else: new_bases[i+shift:i+shift+1] = new_base shift += len(new_base) - 1 if not updated: return bases return tuple(new_bases) def prepare_class(name, bases=(), kwds=None): """Call the __prepare__ method of the appropriate metaclass. Returns (metaclass, namespace, kwds) as a 3-tuple *metaclass* is the appropriate metaclass *namespace* is the prepared class namespace *kwds* is an updated copy of the passed in kwds argument with any 'metaclass' entry removed. If no kwds argument is passed in, this will be an empty dict. """ if kwds is None: kwds = {} else: kwds = dict(kwds) # Don't alter the provided mapping if 'metaclass' in kwds: meta = kwds.pop('metaclass') else: if bases: meta = type(bases[0]) else: meta = type if isinstance(meta, type): # when meta is a type, we first determine the most-derived metaclass # instead of invoking the initial candidate directly meta = _calculate_meta(meta, bases) if hasattr(meta, '__prepare__'): ns = meta.__prepare__(name, bases, **kwds) else: ns = {} return meta, ns, kwds def _calculate_meta(meta, bases): """Calculate the most derived metaclass.""" winner = meta for base in bases: base_meta = type(base) if issubclass(winner, base_meta): continue if issubclass(base_meta, winner): winner = base_meta continue # else: raise TypeError("metaclass conflict: " "the metaclass of a derived class " "must be a (non-strict) subclass " "of the metaclasses of all its bases") return winner class DynamicClassAttribute: """Route attribute access on a class to __getattr__. This is a descriptor, used to define attributes that act differently when accessed through an instance and through a class. Instance access remains normal, but access to an attribute through a class will be routed to the class's __getattr__ method; this is done by raising AttributeError. This allows one to have properties active on an instance, and have virtual attributes on the class with the same name. (Enum used this between Python versions 3.4 - 3.9 .) Subclass from this to use a different method of accessing virtual attributes and still be treated properly by the inspect module. (Enum uses this since Python 3.10 .) """ def __init__(self, fget=None, fset=None, fdel=None, doc=None): self.fget = fget self.fset = fset self.fdel = fdel # next two lines make DynamicClassAttribute act the same as property self.__doc__ = doc or fget.__doc__ self.overwrite_doc = doc is None # support for abstract methods self.__isabstractmethod__ = bool(getattr(fget, '__isabstractmethod__', False)) def __get__(self, instance, ownerclass=None): if instance is None: if self.__isabstractmethod__: return self raise AttributeError() elif self.fget is None: raise AttributeError("unreadable attribute") return self.fget(instance) def __set__(self, instance, value): if self.fset is None: raise AttributeError("can't set attribute") self.fset(instance, value) def __delete__(self, instance): if self.fdel is None: raise AttributeError("can't delete attribute") self.fdel(instance) def getter(self, fget): fdoc = fget.__doc__ if self.overwrite_doc else None result = type(self)(fget, self.fset, self.fdel, fdoc or self.__doc__) result.overwrite_doc = self.overwrite_doc return result def setter(self, fset): result = type(self)(self.fget, fset, self.fdel, self.__doc__) result.overwrite_doc = self.overwrite_doc return result def deleter(self, fdel): result = type(self)(self.fget, self.fset, fdel, self.__doc__) result.overwrite_doc = self.overwrite_doc return result class _GeneratorWrapper: # TODO: Implement this in C. def __init__(self, gen): self.__wrapped = gen self.__isgen = gen.__class__ is GeneratorType self.__name__ = getattr(gen, '__name__', None) self.__qualname__ = getattr(gen, '__qualname__', None) def send(self, val): return self.__wrapped.send(val) def throw(self, tp, *rest): return self.__wrapped.throw(tp, *rest) def close(self): return self.__wrapped.close() @property def gi_code(self): return self.__wrapped.gi_code @property def gi_frame(self): return self.__wrapped.gi_frame @property def gi_running(self): return self.__wrapped.gi_running @property def gi_yieldfrom(self): return self.__wrapped.gi_yieldfrom cr_code = gi_code cr_frame = gi_frame cr_running = gi_running cr_await = gi_yieldfrom def __next__(self): return next(self.__wrapped) def __iter__(self): if self.__isgen: return self.__wrapped return self __await__ = __iter__ def coroutine(func): """Convert regular generator function to a coroutine.""" if not callable(func): raise TypeError('types.coroutine() expects a callable') if (func.__class__ is FunctionType and getattr(func, '__code__', None).__class__ is CodeType): co_flags = func.__code__.co_flags # Check if 'func' is a coroutine function. # (0x180 == CO_COROUTINE | CO_ITERABLE_COROUTINE) if co_flags & 0x180: return func # Check if 'func' is a generator function. # (0x20 == CO_GENERATOR) if co_flags & 0x20: # TODO: Implement this in C. co = func.__code__ # 0x100 == CO_ITERABLE_COROUTINE func.__code__ = co.replace(co_flags=co.co_flags | 0x100) return func # The following code is primarily to support functions that # return generator-like objects (for instance generators # compiled with Cython). # Delay functools and _collections_abc import for speeding up types import. import functools import _collections_abc @functools.wraps(func) def wrapped(*args, **kwargs): coro = func(*args, **kwargs) if (coro.__class__ is CoroutineType or coro.__class__ is GeneratorType and coro.gi_code.co_flags & 0x100): # 'coro' is a native coroutine object or an iterable coroutine return coro if (isinstance(coro, _collections_abc.Generator) and not isinstance(coro, _collections_abc.Coroutine)): # 'coro' is either a pure Python generator iterator, or it # implements collections.abc.Generator (and does not implement # collections.abc.Coroutine). return _GeneratorWrapper(coro) # 'coro' is either an instance of collections.abc.Coroutine or # some other object -- pass it through. return coro return wrapped GenericAlias = type(list[int]) UnionType = type(int | str) EllipsisType = type(Ellipsis) NoneType = type(None) NotImplementedType = type(NotImplemented) __all__ = [n for n in globals() if n[:1] != '_']