8.2.34 | Linux | www-data (uid:33)
👁 View: sched.py
📁 //snap/core18/3084/usr/lib/python3.6/sched.py
"""A generally useful event scheduler class. Each instance of this class manages its own queue. No multi-threading is implied; you are supposed to hack that yourself, or use a single instance per application. Each instance is parametrized with two functions, one that is supposed to return the current time, one that is supposed to implement a delay. You can implement real-time scheduling by substituting time and sleep from built-in module time, or you can implement simulated time by writing your own functions. This can also be used to integrate scheduling with STDWIN events; the delay function is allowed to modify the queue. Time can be expressed as integers or floating point numbers, as long as it is consistent. Events are specified by tuples (time, priority, action, argument, kwargs). As in UNIX, lower priority numbers mean higher priority; in this way the queue can be maintained as a priority queue. Execution of the event means calling the action function, passing it the argument sequence in "argument" (remember that in Python, multiple function arguments are be packed in a sequence) and keyword parameters in "kwargs". The action function may be an instance method so it has another way to reference private data (besides global variables). """ import time import heapq from collections import namedtuple try: import threading except ImportError: import dummy_threading as threading from time import monotonic as _time __all__ = ["scheduler"] class Event(namedtuple('Event', 'time, priority, action, argument, kwargs')): __slots__ = [] def __eq__(s, o): return (s.time, s.priority) == (o.time, o.priority) def __lt__(s, o): return (s.time, s.priority) < (o.time, o.priority) def __le__(s, o): return (s.time, s.priority) <= (o.time, o.priority) def __gt__(s, o): return (s.time, s.priority) > (o.time, o.priority) def __ge__(s, o): return (s.time, s.priority) >= (o.time, o.priority) Event.time.__doc__ = ('''Numeric type compatible with the return value of the timefunc function passed to the constructor.''') Event.priority.__doc__ = ('''Events scheduled for the same time will be executed in the order of their priority.''') Event.action.__doc__ = ('''Executing the event means executing action(*argument, **kwargs)''') Event.argument.__doc__ = ('''argument is a sequence holding the positional arguments for the action.''') Event.kwargs.__doc__ = ('''kwargs is a dictionary holding the keyword arguments for the action.''') _sentinel = object() class scheduler: def __init__(self, timefunc=_time, delayfunc=time.sleep): """Initialize a new instance, passing the time and delay functions""" self._queue = [] self._lock = threading.RLock() self.timefunc = timefunc self.delayfunc = delayfunc def enterabs(self, time, priority, action, argument=(), kwargs=_sentinel): """Enter a new event in the queue at an absolute time. Returns an ID for the event which can be used to remove it, if necessary. """ if kwargs is _sentinel: kwargs = {} event = Event(time, priority, action, argument, kwargs) with self._lock: heapq.heappush(self._queue, event) return event # The ID def enter(self, delay, priority, action, argument=(), kwargs=_sentinel): """A variant that specifies the time as a relative time. This is actually the more commonly used interface. """ time = self.timefunc() + delay return self.enterabs(time, priority, action, argument, kwargs) def cancel(self, event): """Remove an event from the queue. This must be presented the ID as returned by enter(). If the event is not in the queue, this raises ValueError. """ with self._lock: self._queue.remove(event) heapq.heapify(self._queue) def empty(self): """Check whether the queue is empty.""" with self._lock: return not self._queue def run(self, blocking=True): """Execute events until the queue is empty. If blocking is False executes the scheduled events due to expire soonest (if any) and then return the deadline of the next scheduled call in the scheduler. When there is a positive delay until the first event, the delay function is called and the event is left in the queue; otherwise, the event is removed from the queue and executed (its action function is called, passing it the argument). If the delay function returns prematurely, it is simply restarted. It is legal for both the delay function and the action function to modify the queue or to raise an exception; exceptions are not caught but the scheduler's state remains well-defined so run() may be called again. A questionable hack is added to allow other threads to run: just after an event is executed, a delay of 0 is executed, to avoid monopolizing the CPU when other threads are also runnable. """ # localize variable access to minimize overhead # and to improve thread safety lock = self._lock q = self._queue delayfunc = self.delayfunc timefunc = self.timefunc pop = heapq.heappop while True: with lock: if not q: break time, priority, action, argument, kwargs = q[0] now = timefunc() if time > now: delay = True else: delay = False pop(q) if delay: if not blocking: return time - now delayfunc(time - now) else: action(*argument, **kwargs) delayfunc(0) # Let other threads run @property def queue(self): """An ordered list of upcoming events. Events are named tuples with fields for: time, priority, action, arguments, kwargs """ # Use heapq to sort the queue rather than using 'sorted(self._queue)'. # With heapq, two events scheduled at the same time will show in # the actual order they would be retrieved. with self._lock: events = self._queue[:] return list(map(heapq.heappop, [events]*len(events)))
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/core18/3084/usr/lib/python3.6
NameSizePermModifiedActions
📁 __pycache__/-07552026-09-01 05:19🗑 Delete
📁 asyncio/-07552026-09-01 05:19🗑 Delete
📁 collections/-07552026-09-01 05:19🗑 Delete
📁 concurrent/-07552026-09-01 05:19🗑 Delete
📁 ctypes/-07552026-09-01 05:19🗑 Delete
📁 curses/-07552026-09-01 05:19🗑 Delete
📁 dbm/-07552026-09-01 05:19🗑 Delete
📁 distutils/-07552026-09-01 05:19🗑 Delete
📁 email/-07552026-09-01 05:19🗑 Delete
📁 encodings/-07552026-09-01 05:19🗑 Delete
📁 html/-07552026-09-01 05:19🗑 Delete
📁 http/-07552026-09-01 05:19🗑 Delete
📁 importlib/-07552026-09-01 05:19🗑 Delete
📁 json/-07552026-09-01 05:19🗑 Delete
📁 lib-dynload/-07552026-09-01 05:19🗑 Delete
📁 lib2to3/-07552026-09-01 05:19🗑 Delete
📁 logging/-07552026-09-01 05:19🗑 Delete
📁 multiprocessing/-07552026-09-01 05:19🗑 Delete
📁 pydoc_data/-07552026-09-01 05:19🗑 Delete
📁 sqlite3/-07552026-09-01 05:19🗑 Delete
📁 test/-07552026-09-01 05:19🗑 Delete
📁 unittest/-07552026-09-01 05:19🗑 Delete
📁 urllib/-07552026-09-01 05:19🗑 Delete
📁 venv/-07552026-09-01 05:19🗑 Delete
📁 wsgiref/-07552026-09-01 05:19🗑 Delete
📁 xml/-07552026-09-01 05:19🗑 Delete
📁 xmlrpc/-07552026-09-01 05:19🗑 Delete
LICENSE.txt12.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
__future__.py4.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
__phello__.foo.py64B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_bootlocale.py1.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_collections_abc.py25.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_compat_pickle.py8.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_compression.py5.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_dummy_thread.py5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_markupbase.py14.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_osx_support.py18.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_pydecimal.py224.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_pyio.py86K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_sitebuiltins.py3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_strptime.py24.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_sysconfigdata_m_linux_x86_64-linux-gnu.py21.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_threading_local.py7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_weakrefset.py5.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
abc.py8.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
aifc.py31.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
antigravity.py477B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
argparse.py88.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ast.py11.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
asynchat.py11.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
asyncore.py19.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
base64.py19.9K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
bdb.py23K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
binhex.py13.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
bisect.py2.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
bz2.py12.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cProfile.py5.2K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
calendar.py22.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cgi.py35.9K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cgitb.py11.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
chunk.py5.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cmd.py14.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
code.py10.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
codecs.py35.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
codeop.py5.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
colorsys.py4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
compileall.py11.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
configparser.py52.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
contextlib.py12.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
copy.py8.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
copyreg.py6.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
crypt.py1.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
csv.py15.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
datetime.py80.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
decimal.py320B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
difflib.py82.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
dis.py17.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
doctest.py101.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
dummy_threading.py2.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
enum.py32.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
filecmp.py9.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
fileinput.py14.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
fnmatch.py3.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
formatter.py14.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
fractions.py23.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ftplib.py34.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
functools.py30.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
genericpath.py4.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
getopt.py7.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
getpass.py5.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
gettext.py21.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
glob.py5.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
gzip.py19.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
hashlib.py9.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
heapq.py22.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
hmac.py4.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
imaplib.py52K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
imghdr.py3.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
imp.py10.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
inspect.py114.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
io.py3.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ipaddress.py72.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
keyword.py2.2K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
linecache.py5.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
locale.py75.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
lzma.py12.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
macpath.py5.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
macurl2path.py2.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
mailbox.py76.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
mailcap.py8.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
mimetypes.py20.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
modulefinder.py22.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
netrc.py5.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
nntplib.py42.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ntpath.py20.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
nturl2path.py2.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
numbers.py10K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
opcode.py5.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
operator.py10.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
optparse.py59K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
os.py36.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pathlib.py47.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pdb.py59.9K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pickle.py54.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pickletools.py89.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pipes.py8.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pkgutil.py20.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
platform.py47.1K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
plistlib.py32.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
poplib.py14.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
posixpath.py15.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pprint.py20.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
profile.py21.5K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pstats.py25.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pty.py4.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
py_compile.py7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pyclbr.py13.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pydoc.py101.4K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
queue.py8.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
quopri.py7.1K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
random.py26.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
re.py15.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
reprlib.py5.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
rlcompleter.py6.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
runpy.py11.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sched.py6.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
secrets.py2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
selectors.py19K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
shelve.py8.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
shlex.py12.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
shutil.py39.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
signal.py2.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
site.py21.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sitecustomize.pyB01970-01-01 00:00👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
smtpd.py33.9K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
smtplib.py43.2K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sndhdr.py6.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
socket.py26.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
socketserver.py26.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sre_compile.py18.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sre_constants.py6.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sre_parse.py35.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ssl.py45.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
stat.py4.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
statistics.py20.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
string.py11.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
stringprep.py12.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
struct.py257B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
subprocess.py60.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sunau.py17.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
symbol.py2.1K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
symtable.py7.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sysconfig.py24.5K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tabnanny.py11.1K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tarfile.py92.7K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
telnetlib.py22.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tempfile.py31.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
textwrap.py19.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
this.py1003B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
threading.py47.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
timeit.py13K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
token.py3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tokenize.py28.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
trace.py28K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
traceback.py22.9K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tracemalloc.py16.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tty.py879B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
turtle.py140.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
types.py8.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
typing.py78.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
uu.py6.6K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
uuid.py23.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
warnings.py18.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
wave.py17.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
weakref.py20K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
webbrowser.py21.2K07552026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
xdrlib.py5.8K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
zipapp.py7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
zipfile.py76.4K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del