Files
tamigo-cli/venv/lib/python3.12/site-packages/rich/__pycache__/progress.cpython-312.pyc

588 lines
73 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><16>i<EFBFBD><69><00><01>" <00>ddlmZddlZddlZddlZddlmZmZddlm Z ddl
m Z m Z ddl mZddlmZmZddlmZdd lmZdd
lmZdd lmZmZdd lmZmZmZdd lmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1erddl2m3Z3ddl4m5Z5m6Z6ddl7m8Z8m9Z9m:Z:m;Z;ddl<m=Z=ddl>m?Z?ddl@mAZAddlBmCZCddlDmEZEddlFmGZGddlHmIZImJZJddlKmLZLmMZMe+deN<65>ZOe0d<1C>ZPe"geQfZRej`de-e!<21>ZSGd<1E>de<1C>ZT dw dxd'<27>ZUGd(<28>d)ee!<21>ZVGd*<2A>d+e#eSe&eS<00>ZWd,d dd!dd"d#d$d%d&d!d-<2D> dyd.<2E>ZXej<> dzdd,d dd!dd"d#d$d%d&d!d/<2F> d{d0<64><07>ZZej<> dzdd,d dd!dd"d#d$d%d&d!d/<2F> d|d1<64><07>ZZ d}dd,d dd!dd"d#d$d%d&d!d/<2F> d~d2<64>ZZGd3<64>d4e<06>Z[Gd5<64>d6e[<5B>Z\Gd7<64>d8e[<5B>Z]Gd9<64>d:e[<5B>Z^Gd;<3B>d<e[<5B>Z_Gd=<3D>d>e[<5B>Z`Gd?<3F>d@e^<5E>ZaGdA<64>dBe[<5B>ZbGdC<64>dDe[<5B>ZcGdE<64>dFe[<5B>ZdGdG<64>dHe[<5B>ZeGdI<64>dJe[<5B>ZfGdK<64>dLe[<5B>ZgGdM<64>dNe*<2A>Zhe GdO<64>dP<64><00>ZiGdQ<64>dRe?<3F>ZjekdSk(<00>rfddllZlddlmZmddTlnmoZoddUlpmqZqddVlrmsZsddWlHmJZJesdXdYd <20>Z<EFBFBD>ZreJd[d\d]<5D>ZHeHj<48>d^d_d`<60>daeodb<64>dceHdddedfdg<64>dhereqdi<64>g ZuddjlvmwZweweu<65>Zxe8d <20>k<EFBFBD>Z7eje]<5D>gejj<6A><00><00>e`<60><00><01>e7d!dl<64><02>5Zzezj<7A>dmdn<64>o<EFBFBD>Z|ezj<7A>dpdn<64>o<EFBFBD>Z}ezj<7A>dqd<02>o<EFBFBD>Z~ezj<7A>swez<65>je|dr<64>s<EFBFBD>ez<65>je}dt<64>s<EFBFBD>em<65>jdu<64>el<65>jddv<64>dkrez<65>je<>ex<65><00>ezj<7A>s<01>wddd<02>yy#1swYyxYw)<>)<01> annotationsN)<02>ABC<42>abstractmethod<6F><01>deque)<02> dataclass<73>field)<01> timedelta)<02> RawIOBase<73>UnsupportedOperation)<01>ceil)<01>mmap)<01> length_hint)<02>PathLike<6B>stat)<03>Event<6E>RLock<63>Thread)<01> TracebackType)<13> TYPE_CHECKING<4E>Any<6E>BinaryIO<49>Callable<6C>ContextManager<65>Deque<75>Dict<63>Generic<69>Iterable<6C>List<73>Literal<61>
NamedTuple<EFBFBD>NewType<70>Optional<61>TextIO<49>Tuple<6C>Type<70>TypeVar<61>Union)<01>Self<6C>)<02>filesize<7A> get_console)<04>Console<6C>Group<75> JustifyMethod<6F>RenderableType)<01> Highlighter)<01> JupyterMixin)<01>Live)<01> ProgressBar)<01>Spinner)<01> StyleType)<02>Column<6D>Table)<02>Text<78>TextType<70>TaskID<49> ProgressType<70>_Ic<01>L<00><00>eZdZdZd<06>fd<02> Zdd<03>Zdd<04>Z d d<05>Z<07>xZS)
<EFBFBD> _TrackThreadz)A thread to periodically update progress.c<01>|<00><01>||_||_||_t<00>|_d|_t <00>|<00>d<02><03>y)NrT)<01>daemon)<08>progress<73>task_id<69> update_periodr<00>done<6E> completed<65>super<65>__init__)<05>selfrBrCrD<00> __class__s <20><>S/home/daniel/Projects/tamigo-cli/venv/lib/python3.12/site-packages/rich/progress.pyrHz_TrackThread.__init__Cs9<00><><00> <20><04> <0A><1E><04> <0C>*<2A><04><1A><19>G<EFBFBD><04> <09><1A><04><0E> <0A><07><18><04><18>%<25>c<01><><00>|j}|jj}|j}d}|jj
}||<03>sh|jj jrH|j}||k7r||||z
<00>|}||<03>s!|jj jr<01>H|jj|j|jd<02><03>y)NrT)rF<00>refresh)
rCrB<00>advancerDrE<00>wait<69>live<76>
is_startedrF<00>update)rIrCrOrD<00>last_completedrPrFs rK<00>runz_TrackThread.runLs<><00><00><16>,<2C>,<2C><07><16>-<2D>-<2D>'<27>'<27><07><1C>*<2A>*<2A> <0A><1A><0E><13>y<EFBFBD>y<EFBFBD>~<7E>~<7E><04><16>}<7D>%<25>$<24>-<2D>-<2D>*<<3C>*<<3C>*G<>*G<><1C><0E><0E>I<EFBFBD><1D><19>*<2A><17><07><19>^<5E>!;<3B><<3C>!*<2A><0E> <17>}<7D>%<25>$<24>-<2D>-<2D>*<<3C>*<<3C>*G<>*G<> <0A> <0A> <0A><1C><1C>T<EFBFBD>\<5C>\<5C>T<EFBFBD>^<5E>^<5E>T<EFBFBD><1C>RrLc<01>&<00>|j<00>|S<00>N<><01>start<72>rIs rK<00> __enter__z_TrackThread.__enter__Z<00><00><00> <0C>
<EFBFBD>
<EFBFBD> <0C><13> rLc<01>X<00>|jj<00>|j<00>yrW)rE<00>set<65>join<69>rI<00>exc_type<70>exc_val<61>exc_tbs rK<00>__exit__z_TrackThread.__exit__^s<00><00> <0A> <09> <09> <0A> <0A><0F> <0C> <09> <09> rL)rB<00>
'Progress'rCz'TaskID'rD<00>float<61><02>return<72>None)rhz'_TrackThread'<27>razOptional[Type[BaseException]]rbzOptional[BaseException]rczOptional[TracebackType]rhri) <09>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rHrUr[rd<00> __classcell__<5F>rJs@rKr?r?@sA<00><><00>3<>&<26> S<01><14><14>/<2F><14>)<29><14>(<28> <14>
<0E> rLr?TF<54>
<00>bar.back<63> bar.complete<74> bar.finished<65> bar.pulsec
#<01>,K<00>|r td<01>gng}|jt| |
| | <0C><02>t|<0F><03>t d<04><05>f<03>t ||||||xsd|d<07><06>}|5|j ||||| <0A><08>Ed {<00><03><02>d d d <09>y 7<00> #1swYy xYw<01>w)
a<EFBFBD>Track progress by iterating over a sequence.
You can also track progress of an iterable, which might require that you additionally specify ``total``.
Args:
sequence (Iterable[ProgressType]): Values you wish to iterate over and track progress.
description (str, optional): Description of task show next to progress bar. Defaults to "Working".
total: (float, optional): Total number of steps. Default is len(sequence).
completed (int, optional): Number of steps completed so far. Defaults to 0.
auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True.
transient: (bool, optional): Clear the progress on exit. Defaults to False.
console (Console, optional): Console to write to. Default creates internal Console instance.
refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10.
style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
update_period (float, optional): Minimum time (in seconds) between calls to update(). Defaults to 0.1.
disable (bool, optional): Disable display of progress.
show_speed (bool, optional): Show speed if total isn't known. Defaults to True.
Returns:
Iterable[ProgressType]: An iterable of the values in the sequence.
<20>([progress.description]{task.description}<7D><04>style<6C>complete_style<6C>finished_style<6C> pulse_style)<01>
show_speedT)<01>elapsed_when_finishedrq<00><06> auto_refresh<73>console<6C> transient<6E>get_time<6D>refresh_per_second<6E>disable)<04>totalrF<00> descriptionrDN)<07>
TextColumn<EFBFBD>extend<6E> BarColumn<6D>TaskProgressColumn<6D>TimeRemainingColumn<6D>Progress<73>track)<12>sequencer<65>r<>rFr<>r<>r<>r<>r<>ryrzr{r|rDr<>r}<00>columnsrBs rKr<>r<>hs<><00><00><><00>XEP<01><1A>><3E> ?<3F>@<40>UW<55> <0C> <0C>N<EFBFBD>N<EFBFBD> <15><1B>-<2D>-<2D>'<27>  <0E> <1F>*<2A> 5<> <1F>d<EFBFBD> ;<3B>
<EFBFBD> <06><18> <10>!<21><17><1B><19>-<2D>3<><12><17><06>H<EFBFBD>
<12>
<EFBFBD><1B>><3E>><3E> <14><17><1F>#<23>'<27> "<22>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD><EFBFBD>
<EFBFBD>
<EFBFBD>s0<00>AB<01>B<03>8B<06>9B<03>= B<01>B<03>B<07> Bc<01> <00>eZdZdZ d dd<02>Zdd<03>Z dd<04>Zdd<05>Zdd<06>Ze dd<07><04>Z
d d<08>Z dd <09>Z e d!d
<EFBFBD><04>Z e d!d <0B><04>Zdd <0C>Zdd <0A>Zdd<0E>Zd"d#d<0F>Zd$d<10>Zd"d#d<11>Zd"d%d<12>Zd&d<13>Zd'd(d<14>Zd d<15>Zd)d<16>Zd*d<17>Zy)+<2B>_Readerz9A reader that tracks progress while it's being read from.c<01>J<00>||_||_||_||_d|_y<00>NF)<05>handlerB<00>task<73> close_handle<6C>_closed)rIr<>rBr<>r<>s rKrHz_Reader.__init__<5F>s(<00><00><1D><04> <0B> <20><04> <0A><18><04> <09>(<28><04><19><1C><04> rLc<01>:<00>|jj<00>|SrW)r<>r[rZs rKr[z_Reader.__enter__<5F>s<00><00> <0C> <0B> <0B><1D><1D><1F><13> rLc<01>$<00>|j<00>yrW)<01>closer`s rKrdz_Reader.__exit__<5F>s <00><00> <0A>
<EFBFBD>
<EFBFBD> rLc<01><00>|SrW<00>rZs rK<00>__iter__z_Reader.__iter__<5F>s<00><00><13> rLc<01><><00>t|j<00>}|jj|jt |<01><00><01>|S<00>N<>rO)<06>nextr<74>rBrOr<><00>len)rI<00>lines rK<00>__next__z_Reader.__next__<5F>s4<00><00><13>D<EFBFBD>K<EFBFBD>K<EFBFBD> <20><04> <0C> <0A> <0A><1D><1D>d<EFBFBD>i<EFBFBD>i<EFBFBD><13>T<EFBFBD><19><1D>;<3B><13> rLc<01><00>|jSrW)r<>rZs rK<00>closedz_Reader.closed<65>s <00><00><13>|<7C>|<7C>rLc<01>6<00>|jj<00>SrW)r<><00>filenorZs rKr<>z_Reader.fileno<6E><00><00><00><13>{<7B>{<7B>!<21>!<21>#<23>#rLc<01>6<00>|jj<00>SrW)r<><00>isattyrZs rKr<>z_Reader.isatty<74>r<>rLc<01>.<00>|jjSrW)r<><00>moderZs rKr<>z _Reader.mode<64><00><00><00><13>{<7B>{<7B><1F><1F>rLc<01>.<00>|jjSrW)r<><00>namerZs rKr<>z _Reader.name<6D>r<>rLc<01>6<00>|jj<00>SrW)r<><00>readablerZs rKr<>z_Reader.readable<6C><00><00><00><13>{<7B>{<7B>#<23>#<23>%<25>%rLc<01>6<00>|jj<00>SrW)r<><00>seekablerZs rKr<>z_Reader.seekable<6C>r<>rLc<01><00>yr<>r<>rZs rK<00>writablez_Reader.writable<6C>s<00><00>rLc<01><><00>|jj|<01>}|jj|jt |<02><00><01>|Sr<>)r<><00>readrBrOr<>r<>)rI<00>size<7A>blocks rKr<>z _Reader.read<61>s:<00><00><14> <0B> <0B> <20> <20><14>&<26><05> <0C> <0A> <0A><1D><1D>d<EFBFBD>i<EFBFBD>i<EFBFBD><13>U<EFBFBD><1A><1D><<3C><14> rLc<01><><00>|jj|<01>}|jj|j|<02><01>|Sr<>)r<><00>readintorBrOr<>)rI<00>b<>ns rKr<>z_Reader.readinto<74>s6<00><00> <10>K<EFBFBD>K<EFBFBD> <20> <20><11> #<23><01> <0C> <0A> <0A><1D><1D>d<EFBFBD>i<EFBFBD>i<EFBFBD><11><1D>3<><10>rLc<01><><00>|jj|<01>}|jj|jt |<02><00><01>|Sr<>)r<><00>readlinerBrOr<>r<>)rIr<>r<>s rKr<>z_Reader.readline<6E>s:<00><00><13>{<7B>{<7B>#<23>#<23>D<EFBFBD>)<29><04> <0C> <0A> <0A><1D><1D>d<EFBFBD>i<EFBFBD>i<EFBFBD><13>T<EFBFBD><19><1D>;<3B><13> rLc <01><><00>|jj|<01>}|jj|jt t t|<02><00><00><01>|Sr<>)r<><00> readlinesrBrOr<><00>sum<75>mapr<70>)rI<00>hint<6E>liness rKr<>z_Reader.readlinessA<00><00><14> <0B> <0B>%<25>%<25>d<EFBFBD>+<2B><05> <0C> <0A> <0A><1D><1D>d<EFBFBD>i<EFBFBD>i<EFBFBD><13>S<EFBFBD><13>e<EFBFBD>_<EFBFBD>1E<31><1D>F<><14> rLc<01>^<00>|jr|jj<00>d|_y)NT)r<>r<>r<>r<>rZs rKr<>z _Reader.close s"<00><00> <0F> <1C> <1C> <10>K<EFBFBD>K<EFBFBD> <1D> <1D> <1F><1B><04> rLc<01><><00>|jj||<02>}|jj|j|<03><01>|S)N<>rF)r<><00>seekrBrSr<>)rI<00>offset<65>whence<63>poss rKr<>z _Reader.seeks8<00><00><12>k<EFBFBD>k<EFBFBD><1E><1E>v<EFBFBD>v<EFBFBD>.<2E><03> <0C> <0A> <0A><1C><1C>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>#<23><1C>6<><12>
rLc<01>6<00>|jj<00>SrW)r<><00>tellrZs rKr<>z _Reader.tells<00><00><13>{<7B>{<7B><1F><1F>!<21>!rLc<01><00>td<01><00>)N<>write<74>r )rI<00>ss rKr<>z _Reader.writes <00><00>"<22>7<EFBFBD>+<2B>+rLc<01><00>td<01><00>)N<>
writelinesr<EFBFBD>)rIr<>s rKr<>z_Reader.writeliness <00><00>"<22><<3C>0<>0rLN)T)
r<EFBFBD>rrBrer<>r;r<><00>boolrhri)rhz '_Reader'rj)rhr)rh<00>bytes<65>rhr<>)rh<00>int)rh<00>str)<01><><EFBFBD><EFBFBD><EFBFBD>)r<>r<>rhr<>)r<>z"Union[bytearray, memoryview, mmap])r<>r<>rhz List[bytes]rg)r)r<>r<>r<>r<>rhr<>)r<>rrhr<>)r<>z Iterable[Any]rhri)rkrlrmrnrHr[rdr<>r<><00>propertyr<79>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rLrKr<>r<><00>s<><00><00>C<>"<22> <1D><18> <1D><1D> <1D><15> <1D>
<1B> <1D>
<0E> <1D><14><15>/<2F><15>)<29><15>(<28> <15>
<0E> <15><14><14>
<0E><1C><0E><1C>$<24>$<24><0E> <20><0E> <20><0E> <20><0E> <20>&<26>&<26><15><15>
<11>
<14>
<15>
<1C>
<13>
"<22>,<2C>1rLr<>c<01>8<00>eZdZdZdd<02>Zdd<03>Z dd<04>Zy) <09> _ReadContextzEA utility class to handle a context for both a reader and a progress.c<01> <00>||_||_yrW)rB<00>reader)rIrBr<>s rKrHz_ReadContext.__init__ s<00><00> <20><04> <0A> <20><04> rLc<01>j<00>|jj<00>|jj<00>SrW)rBrYr<>r[rZs rKr[z_ReadContext.__enter__$s%<00><00> <0C> <0A> <0A><1B><1B><1D><13>{<7B>{<7B>$<24>$<24>&<26>&rLc<01>r<00>|jj<00>|jj|||<03>yrW)rB<00>stopr<70>rdr`s rKrdz_ReadContext.__exit__(s*<00><00> <0A> <0A> <0A><1A><1A><1C> <0C> <0B> <0B><1C><1C>X<EFBFBD>w<EFBFBD><06>7rLN)rBrer<>r=rhri)rhr=rj)rkrlrmrnrHr[rdr<>rLrKr<>r<>s:<00><00>O<>!<21>'<27>8<>/<2F>8<>)<29>8<>(<28> 8<>
<0E> 8rLr<><00>
Reading...) r<>r<>r<>r<>r<>r<>ryrzr{r|r<>c
<01><><00>|r td<01>gng} | jt|| |
| <0B><02>t<00>t <00>f<03>t | |||||xsd| d<04><06>}|j |||<02><05>}t||<0F>S)aRead bytes from a file while tracking progress.
Args:
file (Union[str, PathLike[str], BinaryIO]): The path to the file to read, or a file-like object in binary mode.
total (int): Total number of bytes to read.
description (str, optional): Description of task show next to progress bar. Defaults to "Reading".
auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True.
transient: (bool, optional): Clear the progress on exit. Defaults to False.
console (Console, optional): Console to write to. Default creates internal Console instance.
refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10.
style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
disable (bool, optional): Disable display of progress.
Returns:
ContextManager[BinaryIO]: A context manager yielding a progress reader.
rwrxrqr)r<>r<>)r<>r<>r<><00>DownloadColumnr<6E>r<><00> wrap_filer<65>)<10>filer<65>r<>r<>r<>r<>r<>r<>ryrzr{r|r<>r<>rBr<>s rKr<>r<>2s<><00><00>JEP<01><1A>><3E> ?<3F>@<40>UW<55> <0C> <0C>N<EFBFBD>N<EFBFBD> <15><1B>-<2D>-<2D>'<27>  <0E> <1B> <1C> <1F> !<21>
<EFBFBD> <06><18> <10>!<21><17><1B><19>-<2D>3<><12><17><06>H<EFBFBD><16> <1F> <1F><04>E<EFBFBD>{<7B> <1F> K<>F<EFBFBD> <17><08>&<26> )<29>)rL) r<>r<>r<>r<>r<>r<>r<>ryrzr{r|r<>c <01><00>yrWr<><00>r<>r<><00> buffering<6E>encoding<6E>errors<72>newliner<65>r<>r<>r<>r<>r<>r<>ryrzr{r|r<>s rK<00>openr<6E>s<00><00><00>, rLc <01><00>yrWr<>r<>s rKr<>r<><00>r<>rLc
<01><><00>|r td<01>gng}|jt| |||<10><02>t<00>t <00>f<03>t ||| |
| | xsd|d<04><06>}|j ||||||||<07><05>}t||<14>S)a<>Read bytes from a file while tracking progress.
Args:
path (Union[str, PathLike[str], BinaryIO]): The path to the file to read, or a file-like object in binary mode.
mode (str): The mode to use to open the file. Only supports "r", "rb" or "rt".
buffering (int): The buffering strategy to use, see :func:`io.open`.
encoding (str, optional): The encoding to use when reading in text mode, see :func:`io.open`.
errors (str, optional): The error handling strategy for decoding errors, see :func:`io.open`.
newline (str, optional): The strategy for handling newlines in text mode, see :func:`io.open`
total: (int, optional): Total number of bytes to read. Must be provided if reading from a file handle. Default for a path is os.stat(file).st_size.
description (str, optional): Description of task show next to progress bar. Defaults to "Reading".
auto_refresh (bool, optional): Automatic refresh, disable to force a refresh after each iteration. Default is True.
transient: (bool, optional): Clear the progress on exit. Defaults to False.
console (Console, optional): Console to write to. Default creates internal Console instance.
refresh_per_second (float): Number of times per second to refresh the progress information. Defaults to 10.
style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
disable (bool, optional): Disable display of progress.
encoding (str, optional): The encoding to use when reading in text mode.
Returns:
ContextManager[BinaryIO]: A context manager yielding a progress reader.
rwrxrqr)r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>ryrzr{r|r<>r<>rBr<>s rKr<>r<><00>s<><00><00>bEP<01><1A>><3E> ?<3F>@<40>UW<55> <0C> <0C>N<EFBFBD>N<EFBFBD> <15><1B>-<2D>-<2D>'<27>  <0E> <1B> <1C> <1F> !<21>
<EFBFBD> <06><18> <10>!<21><17><1B><19>-<2D>3<><12><17><06>H<EFBFBD><16>]<5D>]<5D> <0C> <11><1B><19><15><17><13><1F><1B> <06>F<EFBFBD> <18><08>&<26> )<29>)rLc<01>L<00>eZdZUdZdZded<d d
d<05>Zd d<06>Zd d<07>Ze d d<08><04>Z
y) <0A>ProgressColumnz3Base class for a widget to use in progress display.N<>Optional[float]<5D> max_refreshc<01>.<00>||_i|_d|_yrW)<03> _table_column<6D>_renderable_cache<68> _update_time)rI<00> table_columns rKrHzProgressColumn.__init__s<00><00>)<29><04><1A>MO<4D><04><1E>-1<><04>rLc<01>2<00>|jxs
t<00>S)z.Get a table column, used to build tasks table.)r<>r7rZs rK<00>get_table_columnzProgressColumn.get_table_columns<00><00><13>!<21>!<21>-<2D>V<EFBFBD>X<EFBFBD>-rLc<01>.<00>|j<00>}|j<00>=|js1 |j|j\}}||jz|kDr|S|j |<01>}||f|j|j<|S#t
$rY<00>9wxYw)aCalled by the Progress object to return a renderable for the given task.
Args:
task (Task): An object containing information regarding the task.
Returns:
RenderableType: Anything renderable (including str).
)r<>r<>rFr<><00>id<69>KeyError<6F>render)rIr<><00> current_time<6D> timestamp<6D>
renderables rK<00>__call__zProgressColumn.__call__ s<><00><00><1C>}<7D>}<7D><EFBFBD> <0C> <0F> <1B> <1B> '<27><04><0E><0E> &<26>(,<2C>(><3E>(><3E>t<EFBFBD>w<EFBFBD>w<EFBFBD>(G<>%<25> <09>:<3A><1D>t<EFBFBD>/<2F>/<2F>/<2F>,<2C>><3E>%<25>%<25><19>[<5B>[<5B><14>&<26>
<EFBFBD>+7<><1A>*D<><04><1E><1E>t<EFBFBD>w<EFBFBD>w<EFBFBD>'<27><19><19><><1C> <15><14> <15>s<00>B<00> B<03>Bc<01><00>y)z"Should return a renderable object.Nr<4E><00>rIr<>s rKrzProgressColumn.render s<00>rLrW)r<><00>Optional[Column]rhri)rhr7<00>r<><00>'Task'rhr0) rkrlrmrnr<><00>__annotations__rHr<>rrrr<>rLrKr<>r<><00>s2<00><00>=<3D>#'<27>K<EFBFBD><1F>'<27>2<>
.<2E><1A>.<14>1<><14>1rLr<>c<01><<00><00>eZdZdZ ddd<03> d<07>fd<04>Zdd<05>Z<05>xZS) <09>RenderableColumnz<6E>A column to insert an arbitrary column.
Args:
renderable (RenderableType, optional): Any renderable. Defaults to empty string.
N<>r<>c<01>4<00><01>||_t<00>|<00> |<02><01>y<00>Nr)rrGrH)rIrr<>rJs <20>rKrHzRenderableColumn.__init__,s<00><><00>%<25><04><0F> <0A><07><18>l<EFBFBD><18>3rLc<01><00>|jSrW)rr s rKrzRenderableColumn.render2s <00><00><13><EFBFBD><EFBFBD>rL)<01>)rr0r<>r
r <00>rkrlrmrnrHrrorps@rKrr%s/<00><><00><08>,.<2E>4<>SW<53>4<>(<28>4<>@P<>4<> rLrc<01>f<00><00>eZdZdZ d d<06>fd<02> Z d dd<03>Zd d<04>Z<06>xZS)
<EFBFBD> SpinnerColumna<6E>A column with a 'spinner' animation.
Args:
spinner_name (str, optional): Name of spinner animation. Defaults to "dots".
style (StyleType, optional): Style of spinner. Defaults to "progress.spinner".
speed (float, optional): Speed factor of spinner. Defaults to 1.0.
finished_text (TextType, optional): Text used when task is finished. Defaults to " ".
c<01><><00><01>t|||<03><01>|_t|t<00>rt j
|<04>n||_t<00>|<00>!|<05><02>y)N<>ry<00>speedr) r5<00>spinner<65>
isinstancer<EFBFBD>r9<00> from_markup<75> finished_textrGrH)rI<00> spinner_nameryrrr<>rJs <20>rKrHzSpinnerColumn.__init__@sN<00><><00><1F>|<7C>5<EFBFBD><05>F<><04> <0C><1A>-<2D><13>-<2D> <11> <1C> <1C>]<5D> +<2B><1E> <0A><1A>
<0E><07><18>l<EFBFBD><18>3rLc<01>*<00>t|||<03><01>|_y)a-Set a new spinner.
Args:
spinner_name (str): Spinner name, see python -m rich.spinner.
spinner_style (Optional[StyleType], optional): Spinner style. Defaults to "progress.spinner".
speed (float, optional): Speed factor of spinner. Defaults to 1.0.
rN)r5r)rIr<00> spinner_stylers rK<00> set_spinnerzSpinnerColumn.set_spinnerPs<00><00><1F>|<7C>=<3D><05>N<><04> rLc<01><><00>|jr|j}|S|jj|j <00><00>}|SrW)<05>finishedrrrr<>)rIr<><00>texts rKrzSpinnerColumn.render_sH<00><00><14>}<7D>}<7D> <11> <1E> <1E> <0A>
<14> <0B><16><1C><1C>$<24>$<24>T<EFBFBD>]<5D>]<5D>_<EFBFBD>5<> <0A>
<14> rL)<05>dots<74>progress.spinner<65><00>?<3F> N)
rr<>ry<00>Optional[StyleType]rrfrr:r<>r
)r'r()rr<>r!r*rrfrhrir )rkrlrmrnrHr"rrorps@rKrr6s<><00><><00><08>#<23>%7<><1A>"%<25>)-<2D> 4<><19>4<>#<23>4<><15> 4<>
 <20> 4<> '<27> 4<>&.@<01><1A> O<01><19> O<01>+<2B> O<01><15> O<01>
<0E> O<01>rLrc<01>R<00><00>eZdZdZ d d<05>fd<02> Zdd<03>Z<05>xZS)r<>zA column containing text.c<01><><00><01>||_||_||_||_||_t
<00>|<00>|xs td<01><02><00><03>y)NT<4E><01>no_wrapr)<08> text_format<61>justifyry<00>markup<75> highlighterrGrHr7)rIr/ryr0r1r2r<>rJs <20>rKrHzTextColumn.__init__ksD<00><><00>'<27><04><18>&-<2D><04> <0C><1A><04>
<EFBFBD><1C><04> <0B>&<26><04><18> <0A><07><18>l<EFBFBD>&J<>f<EFBFBD>T<EFBFBD>6J<36><18>KrLc<01>B<00>|jj|<01><01>}|jr-tj||j
|j <00><02>}n"t||j
|j <00><02>}|jr|jj|<03>|S<00>N<>r<>)ryr0) r/<00>formatr1r9rryr0r2<00> highlight)rIr<><00>_textr%s rKrzTextColumn.render{sv<00><00><14> <20> <20>'<27>'<27>T<EFBFBD>'<27>2<><05> <0F>;<3B>;<3B><17>#<23>#<23>E<EFBFBD><14><1A><1A>T<EFBFBD>\<5C>\<5C>R<>D<EFBFBD><17><05>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><14><1C><1C>F<>D<EFBFBD> <0F> <1B> <1B> <10> <1C> <1C> &<26> &<26>t<EFBFBD> ,<2C><13> rL)<05>none<6E>leftTNN)r/r<>ryr6r0r/r1r<>r2<00>Optional[Highlighter]r<>r
rhri<00>r<>r rhr9rrps@rKr<>r<>hsm<00><><00>#<23>
"<22>!'<27><1B>-1<>)-<2D>L<01><18>L<01><19>L<01><1F> L<01>
<15> L<01> +<2B> L<01>'<27>L<01>
<0E>L<01> rLr<>c<01>T<00><00>eZdZdZ d d<05>fd<02> Zdd<03>Z<05>xZS)r<>aRenders a visual progress bar.
Args:
bar_width (Optional[int], optional): Width of bar or None for full width. Defaults to 40.
style (StyleType, optional): Style for the bar background. Defaults to "bar.back".
complete_style (StyleType, optional): Style for the completed bar. Defaults to "bar.complete".
finished_style (StyleType, optional): Style for a finished bar. Defaults to "bar.finished".
pulse_style (StyleType, optional): Style for pulsing bars. Defaults to "bar.pulse".
c<01>l<00><01>||_||_||_||_||_t
<00>|<00>|<06><01>yr)<07> bar_widthryrzr{r|rGrH)rIr?ryrzr{r|r<>rJs <20>rKrHzBarColumn.__init__<5F>s;<00><><00>#<23><04><0E><1A><04>
<EFBFBD>,<2C><04><1B>,<2C><04><1B>&<26><04><18> <0A><07><18>l<EFBFBD><18>3rLc <01>\<00>t|j<00>td|j<00>ndtd|j<00>|j<00>dntd|j<00>|j
|j <00>|j|j|j|j<00><04> S)z&Gets a progress bar widget for a task.Nrr*) r<>rF<00>width<74>pulse<73>animation_timeryrzr{r|) r4r<><00>maxrFr?<00>startedr<64>ryrzr{r|r s rKrzBarColumn.render<65>s<><00><00><1A>(,<2C>
<EFBFBD>
<EFBFBD>(><3E>#<23>a<EFBFBD><14><1A><1A>$<24>D<EFBFBD><19>!<21>T<EFBFBD>^<5E>^<5E>,<2C><1E>.<2E>.<2E>0<>$<24>c<EFBFBD>!<21>T<EFBFBD>^<5E>^<5E>6L<36><1A>l<EFBFBD>l<EFBFBD>"<22><1F>=<3D>=<3D>?<3F><16>*<2A>*<2A><1F>.<2E>.<2E><1F>.<2E>.<2E><1C>(<28>(<28>

<EFBFBD>
rL)<06>(rrrsrtruN)r?<00> Optional[int]ryr6rzr6r{r6r|r6r<>r
rhri)r<>r rhr4rrps@rKr<>r<><00>sj<00><><00><08>$&<26>%<25>$2<>$2<>!,<2C>)-<2D>4<> <20>4<><19>4<>"<22> 4<>
"<22> 4<> <1F> 4<>'<27>4<>
<0E>4<> 
rLr<>c<01><00>eZdZdZdd<02>Zy)<05>TimeElapsedColumnzRenders time elapsed.c<01><><00>|jr |jn |j}|<02> tdd<02><03>St t dt |<02><00><00><05>}tt|<03>d<02><03>S)zShow time elapsed.<2E>-:--:--<2D>progress.elapsed<65>ryr)<01>seconds)r$<00> finished_time<6D>elapsedr9r
rDr<>r<>)rIr<>rP<00>deltas rKrzTimeElapsedColumn.render<65>sS<00><00>(,<2C> <0A> <0A>$<24>$<24>$<24>4<EFBFBD><<3C><<3C><07> <12>?<3F><17> <09>);<3B><<3C> <<3C><19>#<23>a<EFBFBD><13>W<EFBFBD><1C>"6<>7<><05><13>C<EFBFBD><05>J<EFBFBD>&8<>9<>9rLNr<<00>rkrlrmrnrr<>rLrKrIrI<00>s
<00><00><1F>:rLrIc<01>r<00><00>eZdZdZ d d<06>fd<02> Zedd<03><04>Zdd<04>Z<07>xZS) r<>aShow task progress as a percentage.
Args:
text_format (str, optional): Format for percentage display. Defaults to "[progress.percentage]{task.percentage:>3.0f}%".
text_format_no_percentage (str, optional): Format if percentage is unknown. Defaults to "".
style (StyleType, optional): Style of output. Defaults to "none".
justify (JustifyMethod, optional): Text justification. Defaults to "left".
markup (bool, optional): Enable markup. Defaults to True.
highlighter (Optional[Highlighter], optional): Highlighter to apply to output. Defaults to None.
table_column (Optional[Column], optional): Table Column to use. Defaults to None.
show_speed (bool, optional): Show speed if total is unknown. Defaults to False.
c <01>L<00><01>||_||_t<00> |<00> ||||||<07><01>y)N)r/ryr0r1r2r<>)<04>text_format_no_percentager}rGrH)
rIr/rUryr0r1r2r<>r}rJs
<20>rKrHzTaskProgressColumn.__init__<5F>s9<00><><00>*C<01><04>&<26>$<24><04><0F> <0A><07><18>#<23><17><1B><19>#<23>%<25> <19>
rLc<01><><00>|<01> tdd<02><03>Stjt|<01>gd<04>d<05>\}}||z }t|d<06>|<03>d<07>d<02><03>S)z<>Render the speed in iterations per second.
Args:
task (Task): A Task object.
Returns:
Text: Text object containing the task speed.
rzprogress.percentagerM)ru×10³u×10⁶u×10⁹u×10¹²<C2B9><C2B2>z.1fz it/s)r9r+<00>pick_unit_and_suffixr<78>)<05>clsr<00>unit<69>suffix<69>
data_speeds rK<00> render_speedzTaskProgressColumn.render_speed<65>s_<00><00> <11>=<3D><17><02>"7<>8<> 8<><1F>4<>4<> <0F><05>J<EFBFBD> <<3C> <10>
<EFBFBD> <0C><04>f<EFBFBD>
<1B>T<EFBFBD>\<5C>
<EFBFBD><13>z<EFBFBD>#<23>&<26>v<EFBFBD>h<EFBFBD>e<EFBFBD>4<><Q<>R<>RrLc<01><><00>|j<00>5|jr)|j|jxs |j<00>S|j<00> |j
n |j }|j|<01><01>}|jr-tj||j|j<00><02>}n"t||j|j<00><02>}|jr|jj|<04>|Sr4)r<>r}r]<00>finished_speedrrUr/r6r1r9rryr0r2r7)rIr<>r/r8r%s rKrzTaskProgressColumn.render<65>s<><00><00> <0F>:<3A>:<3A> <1D>$<24>/<2F>/<2F><17>$<24>$<24>T<EFBFBD>%8<>%8<>%F<>D<EFBFBD>J<EFBFBD>J<EFBFBD>G<> G<>.2<EFBFBD>j<EFBFBD>j<EFBFBD>.@<40>D<EFBFBD> *<2A> *<2A>d<EFBFBD>FV<46>FV<46> <14><1C>"<22>"<22><04>"<22>-<2D><05> <0F>;<3B>;<3B><17>#<23>#<23>E<EFBFBD><14><1A><1A>T<EFBFBD>\<5C>\<5C>R<>D<EFBFBD><17><05>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><14><1C><1C>F<>D<EFBFBD> <0F> <1B> <1B> <10> <1C> <1C> &<26> &<26>t<EFBFBD> ,<2C><13> rL)z-[progress.percentage]{task.percentage:>3.0f}%rr9r:TNNF)r/r<>rUr<>ryr6r0r/r1r<>r2r;r<>r
r}r<>rhri)rr<>rhr9r<) rkrlrmrnrH<00> classmethodr]rrorps@rKr<>r<><00>s<><00><><00> <08>K<01>)+<2B>!<21>!'<27><1B>-1<>)-<2D> <20>
<EFBFBD><18>
<EFBFBD>$'<27>
<EFBFBD><19> 
<EFBFBD>
<1F> 
<EFBFBD> <15> 
<EFBFBD>+<2B>
<EFBFBD>'<27>
<EFBFBD><19>
<EFBFBD>
<0E>
<EFBFBD>,<11>S<01><11>S<01>& rLr<>c<01>B<00><00>eZdZdZdZ d d<06>fd<03> Zdd<04>Z<06>xZS)r<>aRenders estimated time remaining.
Args:
compact (bool, optional): Render MM:SS when time remaining is less than an hour. Defaults to False.
elapsed_when_finished (bool, optional): Render time elapsed when the task is finished. Defaults to False.
<20><00>?c<01>B<00><01>||_||_t<00>|<00> |<03><01>yr)<04>compactr~rGrH)rIrdr~r<>rJs <20>rKrHzTimeRemainingColumn.__init__s$<00><><00> <1F><04> <0C>%:<3A><04>"<22> <0A><07><18>l<EFBFBD><18>3rLc<01><><00>|jr|jr|j}d}n|j}d}|j<00> t d|<03><04>S|<02>!t |j rd|<03><04>Sd|<03><04>Stt|<02>d<07>\}}t|d<07>\}}|j r |s
|d<08>d |d<08><04>}n |d
<EFBFBD>d |d<08>d |d<08><04>}t ||<03><04>S) zShow time remaining.rLzprogress.remainingrrMz--:--rK<00><<00>02d<32>:<3A>d) r~r$rO<00>time_remainingr<67>r9rd<00>divmodr<64>)rIr<><00> task_timery<00>minutesrN<00>hours<72> formatteds rKrzTimeRemainingColumn.renders<><00><00> <0F> %<25> %<25>$<24>-<2D>-<2D><1C>*<2A>*<2A>I<EFBFBD>&<26>E<EFBFBD><1C>+<2B>+<2B>I<EFBFBD>(<28>E<EFBFBD> <0F>:<3A>:<3A> <1D><17><02>%<25>(<28> (<28> <14> <1C><17>4<EFBFBD><<3C><<3C><07>e<EFBFBD>L<> L<>Y<EFBFBD>e<EFBFBD>L<> L<>"<22>#<23>i<EFBFBD>.<2E>"<22>5<><18><07><17><1F><07><12>,<2C><0E><05>w<EFBFBD> <0F><<3C><<3C><05>"<22>3<EFBFBD>-<2D>q<EFBFBD><17><13> <0A>6<>I<EFBFBD> <20><11>)<29>1<EFBFBD>W<EFBFBD>S<EFBFBD>M<EFBFBD><11>7<EFBFBD>3<EFBFBD>-<2D>@<40>I<EFBFBD><13>I<EFBFBD>U<EFBFBD>+<2B>+rL)FFN)rdr<>r~r<>r<>r
r<)rkrlrmrnr<>rHrrorps@rKr<>r<>s@<00><><00><08><16>K<EFBFBD><1E>&+<2B>)-<2D> 4<><15>4<> $<24>4<>'<27> 4<>,rLr<>c<01><00>eZdZdZdd<02>Zy)<05>FileSizeColumnzRenders completed filesize.c<01>l<00>tjt|j<00><00>}t |d<01><02>S)<03>Show data completed.zprogress.filesizerM)r+<00>decimalr<6C>rFr9<00>rIr<><00> data_sizes rKrzFileSizeColumn.render7s)<00><00><1C>$<24>$<24>S<EFBFBD><14><1E><1E>%8<>9<> <09><13>I<EFBFBD>%8<>9<>9rLNr<rRr<>rLrKrqrq4s
<00><00>%<25>:rLrqc<01><00>eZdZdZdd<02>Zy)<05>TotalFileSizeColumnzRenders total filesize.c<01><><00>|j<00>(tjt|j<00><00>nd}t |d<02><03>S)rsrzprogress.filesize.totalrM)r<>r+rtr<>r9rus rKrzTotalFileSizeColumn.render@s4<00><00>9=<3D><1A><1A>9O<39>H<EFBFBD>$<24>$<24>S<EFBFBD><14><1A><1A>_<EFBFBD>5<>UW<55> <09><13>I<EFBFBD>%><3E>?<3F>?rLNr<rRr<>rLrKrxrx=s <00><00>!<21>@rLrxc<01>.<00><00>eZdZdZdd<05>fd<02> Zdd<03>Z<05>xZS)<07>MofNCompleteColumnaHRenders completed count/total, e.g. ' 10/1000'.
Best for bounded tasks with int quantities.
Space pads the completed count so that progress length does not change as task progresses
past powers of 10.
Args:
separator (str, optional): Text to separate completed and total values. Defaults to "/".
c<01>4<00><01>||_t<00>|<00> |<02><01>yr)<03> separatorrGrH)rIr}r<>rJs <20>rKrHzMofNCompleteColumn.__init__Rs<00><><00>"<22><04><0E> <0A><07><18>l<EFBFBD><18>3rLc<01><><00>t|j<00>}|j<00>t|j<00>nd}tt |<03><00>}t ||<04>d<02><02>|j <00>|<03><00>d<03><04>S)zShow completed/total.<2E>?ri<00>progress.downloadrM)r<>rFr<>r<>r<>r9r})rIr<>rFr<><00> total_widths rKrzMofNCompleteColumn.renderVsc<00><00><17><04><0E><0E>'<27> <09>#'<27>:<3A>:<3A>#9<><03>D<EFBFBD>J<EFBFBD>J<EFBFBD><0F>s<EFBFBD><05><19>#<23>e<EFBFBD>*<2A>o<EFBFBD> <0B><13><18>+<2B><1D>a<EFBFBD><0F>(<28><14><1E><1E>(8<><15><07> @<40>%<25>
<EFBFBD>
rL)<02>/N)r}r<>r<>r
r<rrps@rKr{r{Fs<00><><00> <08>4<>
rLr{c<01>:<00><00>eZdZdZ d d<05>fd<02> Zdd<03>Z<05>xZS)r<>z<>Renders file size downloaded and total, e.g. '0.5/2.3 GB'.
Args:
binary_units (bool, optional): Use binary units, KiB, MiB etc. Defaults to False.
c<01>4<00><01>||_t<00>|<00> |<02><01>yr)<03> binary_unitsrGrH)rIr<>r<>rJs <20>rKrHzDownloadColumn.__init__hs<00><><00>)<29><04><19> <0A><07><18>l<EFBFBD><18>3rLc<01><><00>t|j<00>}|j<00>t|j<00>n|}|jrt j
|gd<01>d<02>\}}nt j
|gd<03>d<04>\}}|dk(rdnd}||z }|d|<06>d<08><03>}|j<00>#t|j<00>} | |z }
|
d|<06>d<08><03>} nd } |<08>d
| <0B>d |<05><00>} t | d <0C> <0A>} | S)z.Calculate common unit for completed and total.) r<><00>KiB<69>MiB<69>GiB<69>TiB<69>PiB<69>EiB<69>ZiB<69>YiBi) r<><00>kB<6B>MB<4D>GB<47>TB<54>PB<50>EB<45>ZB<5A>YBrWr*rz,.<2E>frr<>r)r<>rM)r<>rFr<>r<>r+rXr9)rIr<>rF<00> unit_and_suffix_calculation_baserZr[<00> precision<6F>completed_ratio<69> completed_strr<72><00> total_ratio<69> total_str<74>download_status<75> download_texts rKrzDownloadColumn.renderns<><00><00><17><04><0E><0E>'<27> <09> $<24>z<EFBFBD>z<EFBFBD>5<>C<EFBFBD><04>
<EFBFBD>
<EFBFBD>O<EFBFBD>9<EFBFBD> )<29> <10> <1C> <1C>#<23>8<>8<>0<>Q<><14><0E>L<EFBFBD>D<EFBFBD>&<26> $<24>8<>8<>0<>I<><14><0E>L<EFBFBD>D<EFBFBD>&<26>
<1E><11><19>A<EFBFBD><01> <09>#<23>d<EFBFBD>*<2A><0F>*<2A>2<EFBFBD>i<EFBFBD>[<5B><01>/<2F>:<3A> <0A> <0F>:<3A>:<3A> !<21><17><04>
<EFBFBD>
<EFBFBD>O<EFBFBD>E<EFBFBD><1F>$<24>,<2C>K<EFBFBD>&<26>r<EFBFBD>)<29><1B>A<EFBFBD>o<EFBFBD>6<>I<EFBFBD><1B>I<EFBFBD>*<2A>O<EFBFBD>1<EFBFBD>Y<EFBFBD>K<EFBFBD>q<EFBFBD><16><08>A<><0F><1C>_<EFBFBD>4G<34>H<> <0A><1C>rL)FN)r<>r<>r<>r
rhrir<rrps@rKr<>r<>as1<00><><00><08>LP<01>4<> <20>4<>8H<38>4<> <0A>4<> !rLr<>c<01><00>eZdZdZdd<02>Zy)<05>TransferSpeedColumnz&Renders human readable transfer speed.c<01><><00>|jxs |j}|<02> tdd<02><03>Stjt |<02><00>}t|<03>d<04>d<02><03>S)zShow data transfer speed.rzprogress.data.speedrMz/s)r_rr9r+rtr<>)rIr<>rr\s rKrzTransferSpeedColumn.render<65>sR<00><00><14>#<23>#<23>1<>t<EFBFBD>z<EFBFBD>z<EFBFBD><05> <10>=<3D><17><03>#8<>9<> 9<><1D>%<25>%<25>c<EFBFBD>%<25>j<EFBFBD>1<>
<EFBFBD><13>z<EFBFBD>l<EFBFBD>"<22>%<25>-B<>C<>CrLNr<rRr<>rLrKr<>r<><00>s <00><00>0<>DrLr<>c<01>(<00>eZdZUdZded< ded<y)<06>ProgressSamplez$Sample of progress for a given time.rfrrFN)rkrlrmrnr r<>rLrKr<>r<><00>s<00><00>.<2E><14><14><1E><14><14>$rLr<>c<01><><00>eZdZUdZded< ded< ded< ded < d
ed < d Zded < dZded< ee<08><11>Z ded< ed dd<14><15>Z
ded< ed dd<14><15>Z ded< d Z ded< ed<19>dd<14><1A>Z ded<ede<0E><1D>Zded< d)d <20>Zed*d!<21><04>Zed+d"<22><04>Zed+d#<23><04>Zed*d$<24><04>Zed)d%<25><04>Zed+d&<26><04>Zed+d'<27><04>Zd,d(<28>Zy )-<2D>Taskz<6B>Information regarding a progress task.
This object should be considered read-only outside of the :class:`~Progress` class.
r;rr<>r<>r<>r<>rfrF<00>GetTimeCallable<6C> _get_timeNrOTr<54><00>visible)<01>default_factoryzDict[str, Any]<5D>fieldsF)<03>default<6C>init<69>repr<70>
start_time<EFBFBD> stop_timer_c<01><00>td<01><02>S)NrW)<01>maxlenrr<>rLrK<00><lambda>z Task.<lambda><3E>s <00><00><05>T<EFBFBD> 2<>rL)r<>r<>r<>zDeque[ProgressSample]<5D> _progress)r<>r<>r<00>_lockc<01>"<00>|j<00>S)z(float: Get the current time, in seconds.)r<>rZs rKr<>z Task.get_time<6D>s<00><00><13>~<7E>~<7E><1F>rLc<01><00>|jduS)z#bool: Check if the task as started.N)r<>rZs rKrEz Task.started<65>s<00><00><14><EFBFBD><EFBFBD>d<EFBFBD>*<2A>*rLc<01>N<00>|j<00>y|j|jz
S)zPOptional[float]: Get the number of steps remaining, if a non-None total was set.N<>r<>rFrZs rK<00> remainingzTask.remaining<6E>s$<00><00> <10>:<3A>:<3A> <1D><17><13>z<EFBFBD>z<EFBFBD>D<EFBFBD>N<EFBFBD>N<EFBFBD>*<2A>*rLc<01><><00>|j<00>y|j<00>|j|jz
S|j<00>|jz
S)z]Optional[float]: Time elapsed since task was started, or ``None`` if the task hasn't started.N)r<>r<>r<>rZs rKrPz Task.elapsed<65>sC<00><00> <10>?<3F>?<3F> "<22><17> <0F>><3E>><3E> %<25><17>><3E>><3E>D<EFBFBD>O<EFBFBD>O<EFBFBD>3<> 3<><13>}<7D>}<7D><EFBFBD><14><1F><1F>0<>0rLc<01><00>|jduS)zCheck if the task has finished.N)rOrZs rKr$z Task.finished<65>s<00><00><14>!<21>!<21><14>-<2D>-rLc<01><><00>|jsy|j|jz dz}tdtd|<01><00>}|S)zOfloat: Get progress of task as a percentage. If a None total was set, returns 0<><00>Y@)r<>rF<00>minrD)rIrFs rK<00>
percentagezTask.percentage<67>s><00><00><14>z<EFBFBD>z<EFBFBD><16><19>^<5E>^<5E>d<EFBFBD>j<EFBFBD>j<EFBFBD>0<>E<EFBFBD>9<> <09><17><05>s<EFBFBD>3<EFBFBD> <09>2<>3<> <09><18>rLc<01>J<00>|j<00>y|j5|j}|s
ddd<01>y|dj|djz
}|dk(r
ddd<01>yt |<01>}t |<03>t d<04>|D<00><00>}||z }|cddd<01>S#1swYyxYw)z=Optional[float]: Get the estimated speed in steps per second.Nr<4E>rc3<01>4K<00>|]}|j<00><01><00>y<00>wrWr<>)<02>.0<EFBFBD>samples rK<00> <genexpr>zTask.speed.<locals>.<genexpr> s<00><00><><00>!O<>v<EFBFBD>&<26>"2<>"2<>!O<><4F><00>)r<>r<>r<>r<00>iterr<72>r<>)rIrB<00>
total_time<EFBFBD> iter_progress<73>total_completedrs rKrz
Task.speed<65>s<><00><00> <10>?<3F>?<3F> "<22><17> <11>Z<EFBFBD>Z<EFBFBD> <19><1B>~<7E>~<7E>H<EFBFBD><1B><1B> <19> <19>"<22>"<22><1C>/<2F>/<2F>(<28>1<EFBFBD>+<2B>2G<32>2G<32>G<>J<EFBFBD><19>Q<EFBFBD><EFBFBD><1B> <19> <19>!<21><18>N<EFBFBD>M<EFBFBD> <10><1D> <1F>!<21>!O<><1D>!O<>O<>O<EFBFBD>#<23>j<EFBFBD>0<>E<EFBFBD><18> <19> <19> <19>s<00>B<03>%B<03>!.B<03>B"c<01>x<00>|jry|j}|sy|j}|<02>yt||z <00>}|S)zJOptional[float]: Get estimated time to completion, or ``None`` if no data.r<>N)r$rr<>r )rIrr<><00>estimates rKrjzTask.time_remainingsC<00><00> <10>=<3D>=<3D><16><14>
<EFBFBD>
<EFBFBD><05><14><17><18>N<EFBFBD>N<EFBFBD> <09> <14> <1C><17><17> <09>E<EFBFBD>)<29>*<2A><08><17>rLc<01>T<00>|jj<00>d|_d|_y)zReset progress.N)r<><00>clearrOr_rZs rK<00>_resetz Task._resets"<00><00> <0C><0E><0E><1C><1C><1E>!<21><04><1A>"<22><04>rL)rhrfr<>)rhr<>rg)rkrlrmrnr rOr<>r <00>dictr<74>r<>r<>r_r<>rr<>r<>r<>rEr<>rPr$r<>rrjr<>r<>rLrKr<>r<><00>s_<00><00><08> <0F>J<EFBFBD>G<><14><14>'<27> <1A><1A>><3E><14><14>*<2A><1E><1E>+<2B>%)<29>M<EFBFBD>?<3F>)<29>(<28><18>G<EFBFBD>T<EFBFBD><18>J<>"<22>4<EFBFBD>8<>F<EFBFBD>N<EFBFBD>8<>?<3F>"'<27><04>5<EFBFBD>u<EFBFBD>"M<>J<EFBFBD><0F>M<>N<>!&<26>t<EFBFBD>%<25>e<EFBFBD>!L<>I<EFBFBD><EFBFBD>L<>N<>&*<2A>N<EFBFBD>O<EFBFBD>*<2A>><3E>',<2C>2<><15>U<EFBFBD>(<06>I<EFBFBD>$<24><06><19>e<EFBFBD>U<EFBFBD>;<3B>E<EFBFBD>5<EFBFBD>;<3B><16> <20><0E>+<2B><0E>+<2B><0E>+<2B><0E>+<2B> <0E>1<><0E>1<><0E>.<2E><0E>.<2E><0E><19><0E><19><0E><19><0E><19>"<0E> <18><0E> <18>#rLr<>c <01>$<00>eZdZdZddddddddddd<07>
d)d<08>Zed*d <09><04>Zed+d
<EFBFBD><04>Zed,d <0B><04>Z ed-d <0C><04>Z
ed.d <0A><04>Z d/d<0E>Z d/d<0F>Z d0d<10>Z d1d<11>Z d2 d3d<13>Z d4ddd<15> d5d<16>Zej& d6dddd<17> d7d<18><07>Zej& d6dddd<17> d8d<19><07>Z d9dddd<17> d:d<1A>Zd;d<1B>Zd;d<1C>Zddddddd<1D> d<d<1E>Zdddddd<1F> d=d <20>Zd>d?d!<21>Zd/d"<22>Zd@d#<23>ZdAd$<24>ZdBd%<25>Zd@d&<26>Z dC dDd'<27>Zd;d(<28>Z y)Er<45>adRenders an auto-updating progress bar(s).
Args:
console (Console, optional): Optional Console instance. Defaults to an internal Console instance writing to stdout.
auto_refresh (bool, optional): Enable auto refresh. If disabled, you will need to call `refresh()`.
refresh_per_second (float, optional): Number of times per second to refresh the progress information. Defaults to 10.
speed_estimate_period: (float, optional): Period (in seconds) used to calculate the speed estimate. Defaults to 30.
transient: (bool, optional): Clear the progress on exit. Defaults to False.
redirect_stdout: (bool, optional): Enable redirection of stdout, so ``print`` may be used. Defaults to True.
redirect_stderr: (bool, optional): Enable redirection of stderr. Defaults to True.
get_time: (Callable, optional): A callable that gets the current time, or None to use Console.get_time. Defaults to None.
disable (bool, optional): Disable progress display. Defaults to False
expand (bool, optional): Expand tasks table to fit width. Defaults to False.
NTrqg>@F)
r<EFBFBD>r<>r<><00>speed_estimate_periodr<64><00>redirect_stdout<75>redirect_stderrr<72>r<><00>expandc
<01><><00>|dkDsJd<02><00>t<00>|_| xs|j<00>|_||_| |_|
|_i|_td<01>|_ t|xs
t<00>||||||j<00><03>|_ |xs|jj|_|jj |_|jj"|_y)Nrzrefresh_per_second must be > 0)r<>r<>r<>r<>r<>r<><00>get_renderable)rr<><00>get_default_columnsr<73>r<>r<>r<><00>_tasksr;<00> _task_indexr3r,r<>rQr<>r<><00>print<6E>log) rIr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>s rKrHzProgress.__init__5s<><00><00>"<22>A<EFBFBD>%<25>G<>'G<>G<>%<25><1A>W<EFBFBD><04>
<EFBFBD><1E><<3C>$<24>":<3A>":<3A>"<<3C><04> <0C>%:<3A><04>"<22><1E><04> <0C><1C><04> <0B>*,<2C><04> <0B>#)<29>!<21>9<EFBFBD><04><18><18><1B>,<2C>{<7B>}<7D>%<25>1<><1F>+<2B>+<2B><1F>.<2E>.<2E>
<EFBFBD><04> <09>!<21>9<>D<EFBFBD>L<EFBFBD>L<EFBFBD>$9<>$9<><04> <0A><19>\<5C>\<5C>'<27>'<27><04>
<EFBFBD><17><<3C><<3C>#<23>#<23><04>rLc<01>P<00>td<01>t<00>t<00>t<00>fS)a<>Get the default columns used for a new Progress instance:
- a text column for the description (TextColumn)
- the bar itself (BarColumn)
- a text column showing completion percentage (TextColumn)
- an estimated-time-remaining column (TimeRemainingColumn)
If the Progress instance is created without passing a columns argument,
the default columns defined here will be used.
You can also create a Progress instance using custom columns before
and/or after the defaults, as in this example:
progress = Progress(
SpinnerColumn(),
*Progress.get_default_columns(),
"Elapsed:",
TimeElapsedColumn(),
)
This code shows the creation of a Progress display, containing
a spinner to the left, the default columns, and a labeled elapsed
time column.
rw)r<>r<>r<>r<>)rYs rKr<>zProgress.get_default_columnsYs(<00><00>2 <17>A<> B<> <15>K<EFBFBD> <1E> <20> <1F> !<21> 
<EFBFBD>
rLc<01>.<00>|jjSrW)rQr<>rZs rKr<>zProgress.consolexs<00><00><13>y<EFBFBD>y<EFBFBD> <20> <20> rLc<01><><00>|j5t|jj<00><00>cddd<01>S#1swYyxYw)zGet a list of Task instances.N)r<><00>listr<74><00>valuesrZs rK<00>taskszProgress.tasks|s5<00><00><12>Z<EFBFBD>Z<EFBFBD> .<2E><17><04> <0B> <0B>*<2A>*<2A>,<2C>-<2D> .<2E> .<2E> .<2E><> <00>#:<03>Ac<01><><00>|j5t|jj<00><00>cddd<01>S#1swYyxYw)zA list of task IDs.N)r<>r<>r<><00>keysrZs rK<00>task_idszProgress.task_ids<64>s5<00><00><12>Z<EFBFBD>Z<EFBFBD> ,<2C><17><04> <0B> <0B>(<28>(<28>*<2A>+<2B> ,<2C> ,<2C> ,<2C>r<EFBFBD>c<01><><00>|j5|js
ddd<01>ytd<03>|jj<00>D<00><00>cddd<01>S#1swYyxYw)z'Check if all tasks have been completed.NTc3<01>4K<00>|]}|j<00><01><00>y<00>wrW)r$)r<>r<>s rKr<>z$Progress.finished.<locals>.<genexpr><3E>s<00><00><><00>F<><14>t<EFBFBD>}<7D>}<7D>F<>r<EFBFBD>)r<>r<><00>allr<6C>rZs rKr$zProgress.finished<65>sW<00><00><12>Z<EFBFBD>Z<EFBFBD> G<01><17>;<3B>;<3B><1B> G<01> G<01><17>F<><14><1B><1B>1C<31>1C<31>1E<31>F<>F<> G<01> G<01> G<01>s<00>A<03>)A<03>A c<01>V<00>|js|jjd<01><02>yy)zStart the progress display.T)rNN)r<>rQrYrZs rKrYzProgress.start<72>s <00><00><13>|<7C>|<7C> <10>I<EFBFBD>I<EFBFBD>O<EFBFBD>O<EFBFBD>D<EFBFBD>O<EFBFBD> )<29>rLc<01><><00>|jsc|jj<00>|jjs2|jj
s|jj <00>yyyy)zStop the progress display.N)r<>rQr<>r<><00>is_interactive<76>
is_jupyterr<EFBFBD>rZs rKr<>z Progress.stop<6F>sN<00><00><13>|<7C>|<7C> <10>I<EFBFBD>I<EFBFBD>N<EFBFBD>N<EFBFBD> <1C><17><<3C><<3C>.<2E>.<2E>t<EFBFBD>|<7C>|<7C>7N<37>7N<37><14> <0C> <0C>"<22>"<22>$<24>8O<01>.<2E>rLc<01>&<00>|j<00>|SrWrXrZs rKr[zProgress.__enter__<5F>r\rLc<01>$<00>|j<00>yrW)r<>r`s rKrdzProgress.__exit__<5F>s <00><00> <0A> <09> <09> rLrc#<01><>K<00>|<02>tt|<01><00>xsd}|<04>|j|||<03><02>}n|j|||<03><02>|jj
r8t |||<06>5}|D]}|<08><02>|xjdz c_<00> ddd<01>y|j} |j}
|D]}|<08><01>| |d<03>|
<EFBFBD><00>y#1swYyxYw<01>w)aCTrack progress by iterating over a sequence.
You can also track progress of an iterable, which might require that you additionally specify ``total``.
Args:
sequence (Iterable[ProgressType]): Values you want to iterate over and track progress.
total: (float, optional): Total number of steps. Default is len(sequence).
completed (int, optional): Number of steps completed so far. Defaults to 0.
task_id: (TaskID): Task to track. Default is new task.
description: (str, optional): Description of task, if new task is created.
update_period (float, optional): Minimum time (in seconds) between calls to update(). Defaults to 0.1.
Returns:
Iterable[ProgressType]: An iterable of values taken from the provided sequence.
Nr<4E>r*)
rfr<00>add_taskrSrQr<>r?rFrOrN) rIr<>r<>rFrCr<>rD<00> track_thread<61>valuerOrNs rKr<>zProgress.track<63>s<><00><00><><00>0 <11>=<3D><19>+<2B>h<EFBFBD>/<2F>0<>8<>D<EFBFBD>E<EFBFBD> <12>?<3F><1A>m<EFBFBD>m<EFBFBD>K<EFBFBD>u<EFBFBD> <09>m<EFBFBD>R<>G<EFBFBD> <10>K<EFBFBD>K<EFBFBD><07>u<EFBFBD> <09>K<EFBFBD> B<> <0F>9<EFBFBD>9<EFBFBD> !<21> !<21><1D>d<EFBFBD>G<EFBFBD>]<5D>;<3B> 0<>|<7C>%<25>0<>E<EFBFBD><1F>K<EFBFBD> <20>*<2A>*<2A>a<EFBFBD>/<2F>*<2A>0<> 0<> 0<>
<1B>l<EFBFBD>l<EFBFBD>G<EFBFBD><1A>l<EFBFBD>l<EFBFBD>G<EFBFBD>!<21> <1A><05><1B> <0B><17><07><11>#<23><17> <09> <1A> 0<> 0<>s<00>A)C<01>+!C
<03> =C<01>
C<07>Cr<>)rCr<>c<01><00>d}|<02>|}n0|<03>.|j5|j|j}ddd<01>|<05> td<02><00>|<03>|j ||<05><03>}n|j ||<05><03>t |||d<04><05>S#1swY<00>NxYw)ajTrack progress file reading from a binary file.
Args:
file (BinaryIO): A file-like object opened in binary mode.
total (int, optional): Total number of bytes to read. This must be provided unless a task with a total is also given.
task_id (TaskID): Task to track. Default is new task.
description (str, optional): Description of task, if new task is created.
Returns:
BinaryIO: A readable file-like object in binary mode.
Raises:
ValueError: When no total value can be extracted from the arguments or the task.
Nz?unable to get the total number of bytes, please specify 'total'<27>r<>F<>r<>)r<>r<>r<><00>
ValueErrorr<EFBFBD>rSr<>)rIr<>r<>rCr<><00> total_bytess rKr<>zProgress.wrap_file<6C>s<><00><00>.(,<2C> <0B> <10> <1C><1F>K<EFBFBD> <14> <20><15><1A><1A> 9<>"<22>k<EFBFBD>k<EFBFBD>'<27>2<>8<>8<> <0B> 9<> <16> <1E><1C>Q<><0E> <0E>
<13>?<3F><1A>m<EFBFBD>m<EFBFBD>K<EFBFBD>{<7B>m<EFBFBD>C<>G<EFBFBD> <10>K<EFBFBD>K<EFBFBD><07>{<7B>K<EFBFBD> 3<><16>t<EFBFBD>T<EFBFBD>7<EFBFBD><15>?<3F>?<3F> 9<> 9<>s <00>A=<03>=B)r<>rCr<>c<01><00>yrWr<><00>
rIr<>r<>r<>r<>r<>r<>r<>rCr<>s
rKr<>z Progress.open<65><00><00><00> rLc<01><00>yrWr<>r<>s
rKr<>z Progress.openr<>rLc<01><><00>djt|d<02><03><00>}
|
dvrtd|<02><02><02><00>|dk(} |
dk(r"|dk(rtjdt
<00>d }n|
d
vr|d k(r td <0C><00>|dk(rd }|<07>t |<01>j}|<08>|j| |<07> <0A>}n|j||<07> <0A>tj|d|<03><0F>} t| ||d<10><11>} |dvrtj| |||| <0B><13>S| S)a#Track progress while reading from a binary file.
Args:
path (Union[str, PathLike[str]]): The path to the file to read.
mode (str): The mode to use to open the file. Only supports "r", "rb" or "rt".
buffering (int): The buffering strategy to use, see :func:`io.open`.
encoding (str, optional): The encoding to use when reading in text mode, see :func:`io.open`.
errors (str, optional): The error handling strategy for decoding errors, see :func:`io.open`.
newline (str, optional): The strategy for handling newlines in text mode, see :func:`io.open`.
total (int, optional): Total number of bytes to read. If none given, os.stat(path).st_size is used.
task_id (TaskID): Task to track. Default is new task.
description (str, optional): Description of task, if new task is created.
Returns:
BinaryIO: A readable file-like object in binary mode.
Raises:
ValueError: When an invalid mode is given.
rF)<01>reverse)<03>br<62>rt<72>rz invalid mode r*rzaline buffering (buffering=1) isn't supported in binary mode, the default buffer size will be usedr<64>)rrrzcan't have unbuffered text I/Or<4F><00>rb)r<>Tr<54>)rr)r<>r<>r<><00>line_buffering)r_<00>sortedr<64><00>warnings<67>warn<72>RuntimeWarningr<00>st_sizer<65>rS<00>ior<6F>r<><00> TextIOWrapper)rIr<>r<>r<>r<>r<>r<>r<>rCr<><00>_moderr<>r<>s rKr<>z Progress.opens#<00><00>B<13><07><07><06>t<EFBFBD>U<EFBFBD>3<>4<><05> <10>)<29> )<29><1C>}<7D>T<EFBFBD>H<EFBFBD>5<>6<> 6<>#<23>a<EFBFBD><1E><0E> <10>D<EFBFBD>=<3D>Y<EFBFBD>!<21>^<5E> <14>M<EFBFBD>M<EFBFBD>s<><1E> <0E><1B>I<EFBFBD> <12>k<EFBFBD> !<21><18>A<EFBFBD>~<7E> <20>!A<>B<>B<><1A>a<EFBFBD><1E><1E> <09> <11>=<3D><18><14>J<EFBFBD>&<26>&<26>E<EFBFBD> <13>?<3F><1A>m<EFBFBD>m<EFBFBD>K<EFBFBD>u<EFBFBD>m<EFBFBD>=<3D>G<EFBFBD> <10>K<EFBFBD>K<EFBFBD><07>u<EFBFBD>K<EFBFBD> -<2D><14><17><17><14>t<EFBFBD>y<EFBFBD>9<><06><18><16><14>w<EFBFBD>T<EFBFBD>B<><06> <10>;<3B> <1E><15>#<23>#<23><16>!<21><1D><1F>-<2D> <0E> <0E><16> rLc<01><><00>|j5|j|}|j<00>|j<00>|_ddd<01>y#1swYyxYw)z<>Start a task.
Starts a task (used when calculating elapsed time). You may need to call this manually,
if you called ``add_task`` with ``start=False``.
Args:
task_id (TaskID): ID of task.
N)r<>r<>r<>r<>)rIrCr<>s rK<00>
start_taskzProgress.start_tasklsE<00><00><12>Z<EFBFBD>Z<EFBFBD> 2<><17>;<3B>;<3B>w<EFBFBD>'<27>D<EFBFBD><13><EFBFBD><EFBFBD>&<26>"&<26>-<2D>-<2D>/<2F><04><0F> 2<> 2<> 2<>s <00>1A<03>Ac<01><><00>|j5|j|}|j<00>}|j<00>||_||_ddd<01>y#1swYyxYw)z<>Stop a task.
This will freeze the elapsed time on the task.
Args:
task_id (TaskID): ID of task.
N)r<>r<>r<>r<>r<>)rIrCr<>rs rK<00> stop_taskzProgress.stop_taskzsQ<00><00><12>Z<EFBFBD>Z<EFBFBD> *<2A><17>;<3B>;<3B>w<EFBFBD>'<27>D<EFBFBD><1F>=<3D>=<3D>?<3F>L<EFBFBD><13><EFBFBD><EFBFBD>&<26>".<2E><04><0F>)<29>D<EFBFBD>N<EFBFBD>  *<2A> *<2A> *<2A>s <00>:A<03>A)r<>rFrOr<>r<>rNc <01><<00>|j5|j|} | j}
|<02>&|| jk7r|| _| j <00>|<04>| xj|z c_|<03>|| _|<05>|| _|<06>|| _| jj|<08>| j|
z
} |j<00>} | |jz
} | j}|j}|r.|dj| kr|<0F>|r|dj| kr<01>| dkDr|jt| | <0B><00>| j<00>6| j| jk\r| j <00>| j"| _ddd<01>|r|j%<00>yy#1swY<00>xYw)a<>Update information associated with a task.
Args:
task_id (TaskID): Task id (returned by add_task).
total (float, optional): Updates task.total if not None.
completed (float, optional): Updates task.completed if not None.
advance (float, optional): Add a value to task.completed if not None.
description (str, optional): Change task description if not None.
visible (bool, optional): Set visible flag if not None.
refresh (bool): Force a refresh of progress information. Default is False.
**fields (Any): Additional data fields required for rendering.
Nr)r<>r<>rFr<>r<>r<>r<>r<>rSr<>r<>r<><00>popleftr<00>appendr<64>rOrPrN)rIrCr<>rFrOr<>r<>rNr<>r<><00>completed_start<72>update_completedr<00>old_sample_timer<65>rs rKrSzProgress.update<74>sy<00><00>0<12>Z<EFBFBD>Z<EFBFBD> 2<><17>;<3B>;<3B>w<EFBFBD>'<27>D<EFBFBD>"<22>n<EFBFBD>n<EFBFBD>O<EFBFBD><14> <20>U<EFBFBD>d<EFBFBD>j<EFBFBD>j<EFBFBD>%8<>"<22><04>
<EFBFBD><14> <0B> <0B> <0A><16>"<22><14><0E><0E>'<27>)<29><0E><18>$<24>!*<2A><04><0E><1A>&<26>#.<2E><04> <20><16>"<22>&<26><04> <0C> <10>K<EFBFBD>K<EFBFBD> <1E> <1E>v<EFBFBD> &<26>#<23>~<7E>~<7E><0F>?<3F> <1C><1F>=<3D>=<3D>?<3F>L<EFBFBD>*<2A>T<EFBFBD>-G<>-G<>G<>O<EFBFBD><1C><0E><0E>I<EFBFBD><1F>'<27>'<27>G<EFBFBD><1B> <09>!<21> <0C> 6<> 6<><1F> H<><17> <09><1C> <09>!<21> <0C> 6<> 6<><1F> H<><1F>!<21>#<23><19> <20> <20><1E> <0C>>N<>!O<>P<><14>
<EFBFBD>
<EFBFBD>&<26><18>N<EFBFBD>N<EFBFBD>d<EFBFBD>j<EFBFBD>j<EFBFBD>0<><18>&<26>&<26>.<2E>%)<29>\<5C>\<5C><04>"<22>A 2<>D <13> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD> <13>E 2<> 2<>s<00>DF<03>A"F<03>F)rYr<>rFr<>r<>c <01>><00>|j<00>}|j5|j|} | j<00>|r|nd| _|<03>|| _|| _|<05>|| _|r|| _|<06>|| _ d| _
ddd<01>|j<00>y#1swY<00>xYw)axReset a task so completed is 0 and the clock is reset.
Args:
task_id (TaskID): ID of task.
start (bool, optional): Start the task after reset. Defaults to True.
total (float, optional): New total steps in task, or None to use current total. Defaults to None.
completed (int, optional): Number of steps completed. Defaults to 0.
visible (bool, optional): Set visible flag if not None.
description (str, optional): Change task description if not None. Defaults to None.
**fields (str): Additional data fields required for rendering.
N) r<>r<>r<>r<>r<>r<>rFr<>r<>r<>rOrN)
rIrCrYr<>rFr<>r<>r<>rr<>s
rK<00>resetzProgress.reset<65>s<><00><00>,<1C>}<7D>}<7D><EFBFBD> <0C> <11>Z<EFBFBD>Z<EFBFBD> &<26><17>;<3B>;<3B>w<EFBFBD>'<27>D<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>.3<EFBFBD>l<EFBFBD><14>D<EFBFBD>O<EFBFBD><14> <20>"<22><04>
<EFBFBD>&<26>D<EFBFBD>N<EFBFBD><16>"<22>&<26><04> <0C><15>$<24><04> <0B><1A>&<26>#.<2E><04> <20>!%<25>D<EFBFBD> <1E> &<26> <0A> <0C> <0C><0E> &<26> &<26>s <00>AB<03>Bc<01><><00>|j<00>}|j5|j|}|j}|xj|z c_|j|z
}||jz
}|j
}|j } |r.|dj|kr| <09>|r|dj|kr<01>t|<08>dkDr| <09>t|<08>dkDr<01>|jt||<06><00>|j<00>G|j|jk\r.|j<00>"|j|_ |j|_ddd<03>y#1swYyxYw)z<>Advance task by a number of steps.
Args:
task_id (TaskID): ID of task.
advance (float): Number of steps to advance. Default is 1.
rrWN)r<>r<>r<>rFr<>r<>rrr<>rr<>r<>rOrPrr_)
rIrCrOrr<>rrrr<>rs
rKrOzProgress.advance<63>s%<00><00><1C>}<7D>}<7D><EFBFBD> <0C> <11>Z<EFBFBD>Z<EFBFBD> 1<><17>;<3B>;<3B>w<EFBFBD>'<27>D<EFBFBD>"<22>n<EFBFBD>n<EFBFBD>O<EFBFBD> <10>N<EFBFBD>N<EFBFBD>g<EFBFBD> %<25>N<EFBFBD>#<23>~<7E>~<7E><0F>?<3F> <1C>*<2A>T<EFBFBD>-G<>-G<>G<>O<EFBFBD><1C><0E><0E>I<EFBFBD><1F>'<27>'<27>G<EFBFBD><1B> <09>!<21> <0C> 6<> 6<><1F> H<><17> <09><1C> <09>!<21> <0C> 6<> 6<><1F> H<><15>i<EFBFBD>.<2E>4<EFBFBD>'<27><17> <09><16>i<EFBFBD>.<2E>4<EFBFBD>'<27> <15> <1C> <1C>^<5E>L<EFBFBD>:J<>K<> L<><14>
<EFBFBD>
<EFBFBD>&<26><18>N<EFBFBD>N<EFBFBD>d<EFBFBD>j<EFBFBD>j<EFBFBD>0<><18>&<26>&<26>.<2E>%)<29>\<5C>\<5C><04>"<22>&*<2A>j<EFBFBD>j<EFBFBD><04>#<23>) 1<> 1<> 1<>s<00>BE<03>4#E<03>A.E<03>Ec<01><><00>|js2|jjr|jj<00>yyy)z*Refresh (render) the progress information.N)r<>rQrRrNrZs rKrNzProgress.refresh s,<00><00><13>|<7C>|<7C><04> <09> <09> 4<> 4<> <10>I<EFBFBD>I<EFBFBD> <1D> <1D> <1F>!5<>|rLc<01>2<00>t|j<00><00>}|S)z*Get a renderable for the progress display.)r.<00>get_renderables)rIrs rKr<>zProgress.get_renderables<00><00><1A>D<EFBFBD>0<>0<>2<>3<>
<EFBFBD><19>rLc#<01>JK<00>|j|j<00>}|<01><01>y<01>w)z5Get a number of renderables for the progress display.N)<02>make_tasks_tabler<65>)rI<00>tables rKrzProgress.get_renderabless<00><00><><00><14>%<25>%<25>d<EFBFBD>j<EFBFBD>j<EFBFBD>1<><05><13> <0B>s<00>!#c<01><><00><04>d<01>|jD<00>}tj|d|jd<03><02>}|D]1<00><04>js<01>|j
<00>fd<04>|jD<00><00><00>3|S)z<>Get a table to render the Progress display.
Args:
tasks (Iterable[Task]): An iterable of Task instances, one per row of the table.
Returns:
Table: A table instance.
c3<01><>K<00>|]>}t|t<00>r td<00><01>n|j<00>j <00><00><01><00>@y<02>w)Tr-N)rr<>r7r<><00>copy)r<><00>_columns rKr<>z,Progress.make_tasks_table.<locals>.<genexpr>#sE<00><00><><00>
<EFBFBD> <18><1E>g<EFBFBD>s<EFBFBD>+<2B><17>t<EFBFBD>$<24><1C>-<2D>-<2D>/<2F>4<>4<>6<>7<>
<EFBFBD>s<00>AA)rr*)<02>paddingr<67>c3<01>r<00>K<00>|].}t|t<00>r|j<00><02><00>n|<01><02><00><01><00>0y<01>w)r5N)rr<>r6)r<><00>columnr<6E>s <20>rKr<>z,Progress.make_tasks_table.<locals>.<genexpr>0s><00><><00><><00><16> #<23> *<2A>&<26>#<23>6<>#<23>M<EFBFBD>M<EFBFBD>t<EFBFBD>M<EFBFBD>4<>!'<27><04><1C>.<2E><16>s<00>47)r<>r8<00>gridr<64>r<><00>add_row)rIr<><00> table_columnsrr<>s @rKrzProgress.make_tasks_tablesn<00><><00>
<EFBFBD>  <20><<3C><<3C> 
<EFBFBD> <0A><16>
<EFBFBD>
<EFBFBD>M<EFBFBD>6<EFBFBD>$<24>+<2B>+<2B>N<><05><19> <12>D<EFBFBD><13>|<7C>|<7C><1D><05> <0A> <0A><16> '+<2B>l<EFBFBD>l<EFBFBD> <16> <12> <12><15> rLc<01>f<00>|j5|j<00>cddd<01>S#1swYyxYw)z+Makes the Progress class itself renderable.N)r<>r<>rZs rK<00>__rich__zProgress.__rich__;s*<00><00> <11>Z<EFBFBD>Z<EFBFBD> )<29><17>&<26>&<26>(<28> )<29> )<29> )<29>s<00>'<03>0c <01><><00>|j5t|j||||||j|j<00><01>}||j|j<|r|j |j<00>|j}t t|j<00>dz<00>|_ddd<03>|j<00>S#1swY<00>xYw)aAdd a new 'task' to the Progress display.
Args:
description (str): A description of the task.
start (bool, optional): Start the task immediately (to calculate elapsed time). If set to False,
you will need to call `start` manually. Defaults to True.
total (float, optional): Number of total steps in the progress if known.
Set to None to render a pulsing animation. Defaults to 100.
completed (int, optional): Number of steps completed so far. Defaults to 0.
visible (bool, optional): Enable display of the task. Defaults to True.
**fields (str): Additional data fields required for rendering.
Returns:
TaskID: An ID you can use when calling `update`.
)r<>r<>r<>r<>r*N) r<>r<>r<>r<>r<>rr;r<>rN) rIr<>rYr<>rFr<>r<>r<><00>new_task_indexs rKr<>zProgress.add_task@s<><00><00>0<12>Z<EFBFBD>Z<EFBFBD> A<01><17><14> <20> <20><1B><15><19><1F><1D><1E>-<2D>-<2D><1A>j<EFBFBD>j<EFBFBD> <0E>D<EFBFBD>-1<>D<EFBFBD>K<EFBFBD>K<EFBFBD><04>(<28>(<28> )<29><14><14><0F><0F><04> 0<> 0<>1<>!<21>-<2D>-<2D>N<EFBFBD>%<25>c<EFBFBD>$<24>*:<3A>*:<3A>&;<3B>a<EFBFBD>&?<3F>@<40>D<EFBFBD> <1C> A<01> <0A> <0C> <0C><0E><1D><1D># A<01> A<01>s <00>BC<03>C
c<01>`<00>|j5|j|=ddd<01>y#1swYyxYw)z]Delete a task if it exists.
Args:
task_id (TaskID): A task ID.
N)r<>r<>)rIrCs rK<00> remove_taskzProgress.remove_taskks,<00><00><12>Z<EFBFBD>Z<EFBFBD> %<25><14> <0B> <0B>G<EFBFBD>$<24> %<25> %<25> %<25>s<00>$<03>-)r<>zUnion[str, ProgressColumn]r<><00>Optional[Console]r<>r<>r<>rfr<>rfr<>r<>r<>r<>r<>r<>r<>zOptional[GetTimeCallable]r<>r<>r<>r<>rhri)rhzTuple[ProgressColumn, ...])rhr-)rhz
List[Task])rhz List[TaskID]r<>rg)rhr)rj)NrN<>
Working...皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?)r<><00>Iterable[ProgressType]r<>r<>rFr<>rC<00>Optional[TaskID]r<>r<>rDrfrhr3rW)
r<EFBFBD>rr<>rGrCr4r<>r<>rhr<00>r<>NNN)r<><00>"Union[str, 'PathLike[str]', bytes]r<><00> Literal['rb']r<>r<>r<><00> Optional[str]r<>r8r<>r8r<>rGrCr4r<>r<>rhr)r<>r6r<>z"Union[Literal['r'], Literal['rt']]r<>r<>r<>r8r<>r8r<>r8r<>rGrCr4r<>r<>rhr$<00>rr<>NNN)r<>r6r<><00>1Union[Literal['rb'], Literal['rt'], Literal['r']]r<>r<>r<>r8r<>r8r<>r8r<>rGrCr4r<>r<>rhzUnion[BinaryIO, TextIO])rCr;rhri)rCr;r<>r<>rFr<>rOr<>r<>r8r<><00>Optional[bool]rNr<>r<>rrhri)rCr;rYr<>r<>r<>rFr<>r<>r;r<>r8r<>rrhri)r*)rCr;rOrfrhri)rhr0)rhzIterable[RenderableType])r<>zIterable[Task]rhr8)Tr<54>rT)r<>r<>rYr<>r<>r<>rFr<>r<>r<>r<>rrhr;)!rkrlrmrnrHr`r<>r<>r<>r<>r<>r$rYr<>r[rdr<>r<><00>typing<6E>overloadr<64>rrrSrrOrNr<>rrr+r<>r/r<>rLrKr<>r<>%s<00><00> <08>$&*<2A>!<21>$&<26>'+<2B><1F> $<24> $<24>.2<EFBFBD><1D><1C>"$<24>,<2C>"$<24>#<23>"$<24><1B> "$<24>
"<22> "$<24> %<25> "$<24><18>"$<24><1E>"$<24><1E>"$<24>,<2C>"$<24><16>"$<24><15>"$<24>
<0E>"$<24>H<11>
<EFBFBD><11>
<EFBFBD><<0E>!<21><0E>!<21><0E>.<2E><0E>.<2E>
<0E>,<2C><0E>,<2C>
<0E>G<01><0E>G<01>*<2A>
%<25><14><14>/<2F><14>)<29><14>(<28> <14>
<0E> <14>"&<26><1A>$(<28>'<27>"<22>+<1A>(<28>+<1A><1F>+<1A><17> +<1A>
"<22> +<1A> <19> +<1A><1D>+<1A>
<20>+<1A>` $<24>(@<01>
%)<29>'<27> (@<01><16>(@<01><1D>(@<01>
"<22> (@<01> <19> (@<01>
<12>(@<01>T <0C>_<EFBFBD>_<EFBFBD>
<1C>"&<26> $<24>!%<25>  <0A> $<24>$(<28>'<27>  <0A>0<>  <0A><1C>  <0A><17>  <0A>
 <20>  <0A> <1E>  <0A><1F>  <0A><1D>  <0A>"<22>  <0A><19>  <0A>
<12>  <0A><15>  <0A> <0C>_<EFBFBD>_<EFBFBD>
<1C>"&<26> $<24>!%<25>  <0A> $<24>$(<28>'<27>  <0A>0<>  <0A>1<>  <0A><17>  <0A>
 <20>  <0A> <1E>  <0A><1F>  <0A><1D>  <0A>"<22>  <0A><19>  <0A>
<10>  <0A><15>  <0A>$CF<01><1B>"&<26> $<24>!%<25>K<16> $<24>$(<28>'<27>K<16>0<>K<16>@<01>K<16><17> K<16>
 <20> K<16> <1E> K<16><1F>K<16><1D>K<16>"<22>K<16><19>K<16>
!<21>K<16>Z 2<> *<2A>&"&<26>%)<29>#'<27>%)<29>"&<26><1D>;<1B><17>;<1B><1F> ;<1B>
#<23> ;<1B> !<21> ;<1B>#<23>;<1B> <20>;<1B><16>;<1B><16>;<1B>
<0E>;<1B>B<1B>!%<25><1A>"&<26>%)<29>%<17><17>%<17><14> %<17>
<1F> %<17> <17> %<17> <20>%<17>#<23>%<17><16>%<17>
<0E>%<17>N1<>< <20>
<1A>
<14>
<15>B)<29><1B>!&<26><1A><1C> )<1E><18>)<1E><14>)<1E><1F> )<1E>
<17> )<1E> <16> )<1E><16>)<1E>
<10>)<1E>V%rLr<><00>__main__)<01>Panel)<01>Rule)<01>Syntax)r8a~def loop_last(values: Iterable[T]) -> Iterable[Tuple[bool, T]]:
"""Iterate and generate a tuple with a flag for last value."""
iter_values = iter(values)
try:
previous_value = next(iter_values)
except StopIteration:
return
for value in iter_values:
yield False, previous_value
previous_value = value
yield True, previous_value<75>python)<01> line_numbers<72>foo<6F>bar<61>baz<61>1<>2<>3z:Text may be printed while the progress bars are rendering.z(In fact, [i]any[/i] renderable will workzSuch as [magenta]tables[/]...zPretty printed structures...<2E>examplezPretty printed)<02>typer%z Syntax...zGive it a try!)<01>cycle)<01>record)r<>r<>z[red]DownloadingrWr<>z[green]Processingz[yellow]Thinkingrbr<>g333333<33>?g{<14>G<EFBFBD>z<EFBFBD>?<3F>d)r1NrTNFNrqrrrsrtrur2FT)"r<>r3r<>r<>r<>r<>rFr<>r<>r<>r<>r0r<>r<>r<><00>Optional[Callable[[], float]]r<>rfryr6rzr6r{r6r|r6rDrfr<>r<>r}r<>rhr3)r<>rr<>r<>r<>r<>r<>r<>r<>r0r<>r<>r<>rOr<>rfryr6rzr6r{r6r|r6r<>r<>rh<00>ContextManager[BinaryIO]r5)&r<>r6r<>z"Union[Literal['rt'], Literal['r']]r<>r<>r<>r8r<>r8r<>r8r<>rGr<>r<>r<>r<>r<>r0r<>r<>r<>rOr<>rfryr6rzr6r{r6r|r6r<>r<>rhzContextManager[TextIO])&r<>r6r<>r7r<>r<>r<>r8r<>r8r<>r8r<>rGr<>r<>r<>r<>r<>r0r<>r<>r<>rOr<>rfryr6rzr6r{r6r|r6r<>r<>rhrPr9)&r<>r6r<>r:r<>r<>r<>r8r<>r8r<>r8r<>rGr<>r<>r<>r<>r<>r0r<>r<>r<>rOr<>rfryr6rzr6r{r6r|r6r<>r<>rhz7Union[ContextManager[BinaryIO], ContextManager[TextIO]])<29><>
__future__rr
r<r<00>abcrr<00> collectionsr<00> dataclassesrr <00>datetimer
r r <00>mathr r<00>operatorr<00>osrr<00> threadingrrr<00>typesrrrrrrrrrrrr r!r"r#r$r%r&r'r(<00>typing_extensionsr)rr+r,r<>r-r.r/r0r2r1<00>jupyterr2rQr3<00> progress_barr4rr5ryr6rr7r8r%r9r:r<>r;r<rfr<>r=r?r<>r<>r<>r<>r=r<>r<>rrr<>r<>rIr<>r<>rqrxr{r<>r<>r<>r<>r<>rk<00>random<6F>time<6D>panelr?<00>ruler@<00>syntaxrAr(<00>progress_renderables<65> itertoolsrL<00>examplesr<73>rBr<><00>task1<6B>task2<6B>task3r$rS<00>sleep<65>randintr<74>r<>r<>rLrK<00><module>rks=<00><01>"<22> <09> <0A><0F>#<23><1D>(<28><1E>.<2E><15><15> <20><1D>*<2A>*<2A><1F><02><02><02><02><02><02>,<11>&<26>#<23>B<>B<>$<24>!<21><16>%<25><1C><1C> <20> <20> <10><18>3<EFBFBD> <1F><06><16>~<7E>&<26> <0C><1A>2<EFBFBD>u<EFBFBD>9<EFBFBD>%<25><0F><14>V<EFBFBD>^<5E>^<5E>D<EFBFBD>&<26>(<28>+<2B><02>%<14>6<EFBFBD>%<14>T$<24>!<21><16><1D>!%<25><1B>.2<EFBFBD> "<22>!<21> .<2E> .<2E>(<28><1E><19><1B>!K
<EFBFBD>$<24>K
<EFBFBD><14>K
<EFBFBD> <1B>K
<EFBFBD><13> K
<EFBFBD>
<17> K
<EFBFBD> <1F> K
<EFBFBD><14>K
<EFBFBD>,<2C>K
<EFBFBD><1E>K
<EFBFBD> <15>K
<EFBFBD><1E>K
<EFBFBD><1E>K
<EFBFBD><1B>K
<EFBFBD><19>K
<EFBFBD><12>K
<EFBFBD> <15>!K
<EFBFBD>"<1C>#K
<EFBFBD>\d1<>i<EFBFBD><18>d1<>N8<>><3E>"<22>%<25>w<EFBFBD>r<EFBFBD>{<7B>8<>2$<24><1D>!%<25><1B>.2<EFBFBD> "<22>!<21> .<2E> .<2E>(<28><19>>*<2A>
<12>>*<2A> <0E>>*<2A><15> >*<2A>
<17> >*<2A> <1F> >*<2A><14>>*<2A>,<2C>>*<2A><1E>>*<2A> <15>>*<2A><1E>>*<2A><1E>>*<2A><1B>>*<2A><12>>*<2A><1E>>*<2A>B<08><1F><1F><18>"<22> <20>!<21>  <09> <20>#<23><1D>!%<25><1B>.2<EFBFBD> "<22>!<21> .<2E> .<2E>(<28><19>' <09>
,<2C> <09>
,<2C> <09><13> <09><1C>  <09>
<1A>  <09> <1B>  <09> <19> <09><15> <09><17> <09><1F> <09><14> <09>,<2C> <09><1E> <09> <15> <09> <1E>! <09>"<1E># <09>$<1B>% <09>&<12>' <09>(<1C>) <09><11> <09>0<08><1F><1F><18>"<22> <20>!<21>  <09> <20>#<23><1D>!%<25><1B>.2<EFBFBD> "<22>!<21> .<2E> .<2E>(<28><19>' <09>
,<2C> <09>
<17> <09><13> <09><1C>  <09>
<1A>  <09> <1B>  <09> <19> <09><15> <09><17> <09><1F> <09><14> <09>,<2C> <09><1E> <09> <15> <09> <1E>! <09>"<1E># <09>$<1B>% <09>&<12>' <09>(<1E>) <09><11> <09>4?B<01><17>"<22> <20>!<21> S*<2A> <20>#<23><1D>!%<25><1B>.2<EFBFBD> "<22>!<21> .<2E> .<2E>(<28><19>'S*<2A>
,<2C>S*<2A>
;<3B>S*<2A><13>S*<2A><1C> S*<2A>
<1A> S*<2A> <1B> S*<2A> <19>S*<2A><15>S*<2A><17>S*<2A><1F>S*<2A><14>S*<2A>,<2C>S*<2A><1E>S*<2A> <15>S*<2A> <1E>!S*<2A>"<1E>#S*<2A>$<1B>%S*<2A>&<12>'S*<2A>(=<3D>)S*<2A>l'1<>S<EFBFBD>'1<>T<1F>~<7E><1F>"/<14>N<EFBFBD>/<14>d<14><1E><14><'
<EFBFBD><0E>'
<EFBFBD>T :<3A><0E> :<3A>E<14><1A>E<14>P-,<2C>.<2E>-,<2C>`:<3A>^<5E>:<3A>@<01>.<2E>@<01>
<EFBFBD><1E>
<EFBFBD>6.<1D>^<5E>.<1D>b D<01>.<2E> D<01>%<25>Z<EFBFBD>%<25> <0B>z#<23>z#<23> <0B>z#<23>zN %<25>|<7C>N %<25>b <0C>z<EFBFBD><19><11><0F><1C><1A><1E><1C> <13>
"<22> <11><19><06>F<EFBFBD> <12>%<25><15><05> &<26>E<EFBFBD> <09>M<EFBFBD>M<EFBFBD>#<23>s<EFBFBD>C<EFBFBD> <20> E<01> <0A>8<>9<>'<27> <0A>&<26><1A>$4<>5<><13><0E> <0C> <1D><1E>
<06><18> <20><14>)<29>*<2A>H<EFBFBD><15>T<EFBFBD>"<22>G<EFBFBD> <11><15><0F>
<06> <11> %<25> %<25> '<27>
<06> <1A><1B>
<06><18><17> 
<06>-<2D>
<12><18>!<21>!<21>"4<>D<EFBFBD>!<21>A<><05><18>!<21>!<21>"5<>T<EFBFBD>!<21>B<><05><18>!<21>!<21>"4<>D<EFBFBD>!<21>A<><05><1A>#<23>#<23> <14>O<EFBFBD>O<EFBFBD>E<EFBFBD>3<EFBFBD>O<EFBFBD> /<2F> <14>O<EFBFBD>O<EFBFBD>E<EFBFBD>3<EFBFBD>O<EFBFBD> /<2F> <16>D<EFBFBD>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C><1D>v<EFBFBD>~<7E>~<7E>a<EFBFBD><13>%<25><01>)<29><18> <0C> <0C>T<EFBFBD>(<28>^<5E>,<2C> <1B>#<23>#<23>-<2D>-<2D>]<1A>\-<2D>-<2D>s <00>>B<R<03>R