From 8acb128b01c75ae027b8b89620917281bf0b60c7 Mon Sep 17 00:00:00 2001 From: Vincent Jacques Date: Sun, 18 Jun 2017 16:51:40 +0200 Subject: [PATCH] Doc --- ActionTree/__init__.py | 35 +++++++----------- ActionTree/tests/dependency_graph.py | 14 ------- ActionTree/tests/picklability.py | 13 ++++--- ActionTree/tests/possible_execution_order.py | 10 ----- ActionTree/tests/timing.py | 6 +-- doc/user_guide/drawings.rst | 4 +- doc/user_guide/introduction.rst | 6 +-- doc/user_guide/resources.rst | 20 ++++------ .../arbitrary_resource_gantt_chart.png | Bin 47175 -> 0 bytes docs/_images/failed_link_gantt_chart.png | Bin 27157 -> 22645 bytes docs/_images/link_dependency_graph.png | Bin 14007 -> 12972 bytes docs/_images/link_gantt_chart.png | Bin 22328 -> 18062 bytes docs/_images/link_with_others_gantt_chart.png | Bin 29671 -> 21653 bytes docs/_images/with_resource_gantt_chart.png | Bin 0 -> 40718 bytes docs/_sources/user_guide/drawings.rst.txt | 4 +- docs/_sources/user_guide/introduction.rst.txt | 6 +-- docs/_sources/user_guide/resources.rst.txt | 20 ++++------ docs/reference.html | 9 ++--- docs/searchindex.js | 2 +- docs/user_guide/drawings.html | 4 +- docs/user_guide/introduction.html | 6 +-- docs/user_guide/resources.html | 18 ++++----- 22 files changed, 68 insertions(+), 109 deletions(-) delete mode 100644 docs/_images/arbitrary_resource_gantt_chart.png create mode 100644 docs/_images/with_resource_gantt_chart.png diff --git a/ActionTree/__init__.py b/ActionTree/__init__.py index 630d726..291e881 100644 --- a/ActionTree/__init__.py +++ b/ActionTree/__init__.py @@ -29,9 +29,6 @@ stderr = ctypes.c_void_p.in_dll(libc, "__stderrp") -# @todo Evaluate https://pypi.python.org/pypi/PyContracts - - def execute(action, cpu_cores=None, keep_going=False, do_raise=True, hooks=None): """ Recursively execute an :class:`.Action`'s dependencies then the action. @@ -82,21 +79,17 @@ class Action(object): def __init__(self, label, dependencies=[], resources_required={}, accept_failed_dependencies=False): """ - :param label: - @todo Insist on label being a str or None. - Add a note saying how it's used in GanttChart and DependencyGraph. - whatever you want to attach to the action. - ``str(label)`` must succeed and return a string. - Can be retrieved by :attr:`label`. + :param label: A string used to represent the action in :class:`GanttChart` and + :class:`DependencyGraph`. Can be retrieved by :attr:`label`. + :type label: string or None :param list(Action) dependencies: see :meth:`~.Action.add_dependency` :param resources_required: see :meth:`~.Action.require_resource` :type resources_required: dict(Resource, int) :param bool accept_failed_dependencies: - it ``True``, then the action will execute even if some of its dependencies failed. + if ``True``, then the action will execute even after some of its dependencies failed. """ - str(label) self.__label = label self.__dependencies = list(dependencies) self.__resources_required = {CPU_CORE: 1} @@ -293,7 +286,7 @@ def __init__(self): super(DependencyCycleException, self).__init__("Dependency cycle") -class CompoundException(Exception): # Not doctested: @todo +class CompoundException(Exception): # Not doctested: @todoc """ Exception thrown by :func:`.execute` when dependencies raise exceptions. """ @@ -388,7 +381,7 @@ def pending_time(self): :rtype: datetime.datetime """ - return self.__pending_time # Not doctested: @todo + return self.__pending_time # Not doctested: @todoc @property def ready_time(self): @@ -436,7 +429,7 @@ def return_value(self): The value returned by this action (``None`` if it failed or was never started). """ - return self.__return_value # Not doctested: @todo + return self.__return_value # Not doctested: @todoc @property def failure_time(self): @@ -454,7 +447,7 @@ def exception(self): The exception raised by this action (``None`` if it succeeded or was never started). """ - return self.__exception # Not doctested: @todo + return self.__exception # Not doctested: @todoc @property def output(self): @@ -464,7 +457,7 @@ def output(self): :rtype: str or None """ - return self.__output # Not doctested: @todo + return self.__output # Not doctested: @todoc def __init__(self, root_action, actions, now): self._root_action = root_action @@ -529,7 +522,7 @@ def __init__(self, action): if action.label is None: # Not doctested: implementation detail self.__graphviz_graph.node(node, shape="point") else: - self.__graphviz_graph.node(node, str(action.label)) + self.__graphviz_graph.node(node, action.label) for dependency in action.dependencies: assert dependency in nodes # Because we are iterating a possible execution order self.__graphviz_graph.edge(node, nodes[dependency]) @@ -623,7 +616,7 @@ def draw(self, ax, ordinates, actions): # @todo Make sure the text is not outside the plot on the right if self.__label is not None: ax.annotate( - str(self.__label), + self.__label, xy=(self.__start_time, ordinate), xytext=(0, 3), textcoords="offset points", ) for d in self.__dependencies: @@ -655,7 +648,7 @@ def draw(self, ax, ordinates, actions): ) if self.__label is not None: ax.annotate( - str(self.__label), + self.__label, xy=(self.__start_time, ordinate), xytext=(0, 3), textcoords="offset points", ) for d in self.__dependencies: @@ -683,7 +676,7 @@ def draw(self, ax, ordinates, actions): ax.plot([self.__ready_time, self.__cancel_time], [ordinate, ordinate], color="grey", lw=1) if self.__label is not None: ax.annotate( - str(self.__label), + self.__label, xy=(self.__cancel_time, ordinate), xytext=(0, 3), textcoords="offset points", color="grey", ) @@ -826,7 +819,7 @@ def run(self, root_action): for w in multiprocessing.active_children(): w.join() - if self.do_raise and self.exceptions: # Not doctested: @todo + if self.do_raise and self.exceptions: # Not doctested: @todoc raise CompoundException(self.exceptions, self.report) else: return self.report diff --git a/ActionTree/tests/dependency_graph.py b/ActionTree/tests/dependency_graph.py index 1747ed3..f3a6090 100644 --- a/ActionTree/tests/dependency_graph.py +++ b/ActionTree/tests/dependency_graph.py @@ -111,20 +111,6 @@ def test_diamond(self): ] ) - def test_typed_label(self): - a = Action(("a", "curious", "label", 42)) - - self.assertEqual( - DependencyGraph(a).get_graphviz_graph().source, - textwrap.dedent( - """\ - digraph action { - \tnode [shape=box] - \t0 [label="('a', 'curious', 'label', 42)"] - }""" - ) - ) - def test_weird_string_label(self): a = Action("spaces and; semi=columns") diff --git a/ActionTree/tests/picklability.py b/ActionTree/tests/picklability.py index 24e4c7f..5f2a7b3 100644 --- a/ActionTree/tests/picklability.py +++ b/ActionTree/tests/picklability.py @@ -6,11 +6,8 @@ import pickle import unittest -import sys -import tempfile from ActionTree import * -from . import * class Unpicklable(object): @@ -21,6 +18,12 @@ def __reduce__(self): unpicklable = Unpicklable() +class UnpicklableAction(Action): + def __init__(self, *args, **kwds): + super(UnpicklableAction, self).__init__(*args, **kwds) + self.attribute = unpicklable + + class UnpicklableReturnValue(Action): def do_execute(self, dependency_statuses): return unpicklable @@ -31,10 +34,10 @@ def do_execute(self, dependency_statuses): raise Exception(unpicklable) -class PicklabilityTestCase(ActionTreeTestCase): +class PicklabilityTestCase(unittest.TestCase): def test_action(self): with self.assertRaises(pickle.PicklingError): - execute(self._action(unpicklable)) + execute(UnpicklableAction("x")) def test_return_value(self): with self.assertRaises(pickle.PicklingError): diff --git a/ActionTree/tests/possible_execution_order.py b/ActionTree/tests/possible_execution_order.py index 66aa35f..1bf40d8 100644 --- a/ActionTree/tests/possible_execution_order.py +++ b/ActionTree/tests/possible_execution_order.py @@ -10,16 +10,6 @@ class PreviewTestCase(unittest.TestCase): - def test_dependencies_and_labels_are_not_only_equal_but_same(self): - bLabel = ("b",) - a = Action("a") - b = Action(bLabel) - a.add_dependency(b) - - (otherB,) = a.dependencies - self.assertIs(otherB, b) - self.assertIs(otherB.label, bLabel) - def test_simple_preview(self): a = Action("a") self.assertEqual(a.get_possible_execution_order(), [a]) diff --git a/ActionTree/tests/timing.py b/ActionTree/tests/timing.py index 88c5906..c911f58 100644 --- a/ActionTree/tests/timing.py +++ b/ActionTree/tests/timing.py @@ -85,7 +85,7 @@ def test_leaves_have_same_ready_time(self): def test_many_dependencies_with_unlimited_cpu_cores(self): MANY = 20 a = self._action("a") - deps = [self._action(i) for i in range(MANY)] + deps = [self._action(str(i)) for i in range(MANY)] for dep in deps: a.add_dependency(dep) @@ -96,7 +96,7 @@ def test_many_dependencies_with_unlimited_cpu_cores(self): def test_many_dependencies_with_one_cpu_cores(self): MANY = 20 a = self._action("a") - deps = [self._action(i) for i in range(MANY)] + deps = [self._action(str(i)) for i in range(MANY)] for dep in deps: a.add_dependency(dep) @@ -109,7 +109,7 @@ def test_many_dependencies_with_one_cpu_cores(self): def test_many_dependencies_with_limited_cpu_cores(self): MANY = 20 a = self._action("a") - deps = [self._action(i) for i in range(MANY)] + deps = [self._action(str(i)) for i in range(MANY)] for dep in deps: a.add_dependency(dep) diff --git a/doc/user_guide/drawings.rst b/doc/user_guide/drawings.rst index b577336..01ae453 100644 --- a/doc/user_guide/drawings.rst +++ b/doc/user_guide/drawings.rst @@ -35,11 +35,11 @@ Actions are linked to their dependencies using thin doted lines. Actions that failed are in red, and actions that were canceled due to a failure in their dependencies are in grey: ->>> compile_unexisting = CallSubprocess(["g++", "-c", "unexisting.cpp", "-o", "_build/unexisting.o"]) +>>> compile_unexisting = CallSubprocess(["g++", "-c", "unexisting.cpp", "-o", "_build/unexisting.o"], label="g++ -c unexisting.cpp") >>> compile_unexisting.add_dependency(make_build_dir) >>> link.add_dependency(compile_unexisting) ->>> failed_link_report = execute(link, keep_going=True, do_raise=False) +>>> failed_link_report = execute(link, cpu_cores=1, keep_going=True, do_raise=False) >>> failed_link_report.is_success False >>> chart = GanttChart(failed_link_report) diff --git a/doc/user_guide/introduction.rst b/doc/user_guide/introduction.rst index 17932cd..421c8a1 100644 --- a/doc/user_guide/introduction.rst +++ b/doc/user_guide/introduction.rst @@ -112,13 +112,13 @@ Say you want to compile :ref:`two C++ files ` and link them: >>> make_build_dir = CreateDirectory("_build") ->>> compile_a = CallSubprocess(["g++", "-c", "a.cpp", "-o", "_build/a.o"]) +>>> compile_a = CallSubprocess(["g++", "-c", "a.cpp", "-o", "_build/a.o"], label="g++ -c a.cpp") >>> compile_a.add_dependency(make_build_dir) ->>> compile_b = CallSubprocess(["g++", "-c", "b.cpp", "-o", "_build/b.o"]) +>>> compile_b = CallSubprocess(["g++", "-c", "b.cpp", "-o", "_build/b.o"], label="g++ -c b.cpp") >>> compile_b.add_dependency(make_build_dir) ->>> link = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o"]) +>>> link = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o"], label="g++ -o test") >>> link.add_dependency(compile_a) >>> link.add_dependency(compile_b) diff --git a/doc/user_guide/resources.rst b/doc/user_guide/resources.rst index c7f4b72..6f02320 100644 --- a/doc/user_guide/resources.rst +++ b/doc/user_guide/resources.rst @@ -3,8 +3,6 @@ Resources ========= -.. @todo Add labels to stock Actions (in ActionTree.stock, AND in the doc) - .. testsetup:: import shutil @@ -29,11 +27,11 @@ You can tell *ActionTree* that your :class:`.Action` uses more cores with :meth: >>> from ActionTree import CPU_CORE ->>> compile_others = CallSubprocess(["make", "-j", "4", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"]) +>>> compile_others = CallSubprocess(["make", "-j", "4", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"], label="make -j 4") >>> compile_others.add_dependency(make_build_dir) >>> compile_others.require_resource(CPU_CORE, 4) ->>> link_with_others = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"]) +>>> link_with_others = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"], label="g++ -o test") >>> link_with_others.add_dependency(compile_a) >>> link_with_others.add_dependency(compile_b) >>> link_with_others.add_dependency(compile_others) @@ -60,22 +58,20 @@ while allowing other actions to run, just create a resource: >>> semaphore = Resource(2) >>> dependencies = [] >>> for i in range(6): -... d = Sleep(0.3) +... d = Sleep(0.3, label="limited") ... d.require_resource(semaphore) ... dependencies.append(d) >>> for i in range(5): -... d = Sleep(0.4) +... d = Sleep(0.4, label="free") ... dependencies.append(d) ->>> arbitrary_resource = NullAction() ->>> for d in dependencies: -... arbitrary_resource.add_dependency(d) +>>> with_resource = NullAction(dependencies=dependencies) ->>> GanttChart(execute(arbitrary_resource, cpu_cores=5)).write_to_png("arbitrary_resource_gantt_chart.png") +>>> GanttChart(execute(with_resource, cpu_cores=5)).write_to_png("with_resource_gantt_chart.png") -.. figure:: artifacts/arbitrary_resource_gantt_chart.png +.. figure:: artifacts/with_resource_gantt_chart.png :align: center - ``arbitrary_resource_gantt_chart.png`` + ``with_resource_gantt_chart.png`` As expected again, there was never more than two ``sleep 0.3`` actions running at the same time, but ``sleep 0.4`` actions were free to execute. diff --git a/docs/_images/arbitrary_resource_gantt_chart.png b/docs/_images/arbitrary_resource_gantt_chart.png deleted file mode 100644 index bbc95c2cd5ce224b41b78aee51e537fe569966e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47175 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 literal 27157 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¥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 diff --git a/docs/_images/link_dependency_graph.png b/docs/_images/link_dependency_graph.png index 8f5a58da5b94bf577b747324bde7913fb26fe9fa..f4bbc668ee426e521bcf1b9f9d5a2bc854a750fc 100644 GIT binary patch literal 12972 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

N?CfmK*CK~e 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 literal 14007 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 M6z^x>ef;`=0iR=l(EtDd diff --git a/docs/_images/link_gantt_chart.png b/docs/_images/link_gantt_chart.png index 47c46c46574fad0dcb26eac3463076b10da7b972..fe8ff424ce3a57591e1c4fa7d383ad2265b8b341 100644 GIT binary patch literal 18062 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 literal 29671 zcmeFZcRbhq`#1bSR7O%r_Grqij1)?uZG3W~l7FOGC<>-V^>`*;0w|95+QzmLxH`Mk$#9LMn-$LqTKaaAUIPI?N3!gT1MvL=N> z?M0zbb*!Mnzev@7{f0l5*(x2G z;@j<0VmWvJ+9+lmzE2=w%T)$``UEd;F6tL6R!k0sctrR|Ke@PlN5o`*ZnnjbcV8!6 zuYGsRANp&Tuz)Xx1wZCYJP9-!XYL_I<4;L)QOe-~a47$i46CMY7pD146||C^baxzL&` zb-pGdXt(3wo(2y~;cT5`UGE?+8HI+zq;1bWTEcAX;s#&8oe~iheVDIC`B-1?S5Q!}!F?@DYZ=R4L5uCz zu3byZ%JP5tatEF**qdf~S4W8tXUp01=S}M3H7+zHuTM@%VOg{0>X9(9`lcTX^RudwR6?!8 z!GkLdTz+mGzoM+X%+1Zs=E@p|VItyH6{4e~`8Yyv z1_xg|99t@0G)HZ1ZOy^O745mWknJ$QDJUe=+1W|Oz`$^G{SLZ{ii*C8ZQHh`U+z?T zg{P>jtQ`LRyOddRZa83w!cwb1qMgb;g>FD@6n@-22P!{M;}Tvy?OISH_t&- z`qI|`S_XElhn7Fy{ly_=!Aj=p*RPAXSoFzM1F49R;o-~4`Z;Sn7p9-(t}rNc+m&h6 za?O2qqO;hWW@>JR;JbRAxB)9gSxKps#yK%_?V2@$OSAX8Im6P=$Hyl=K7O^* z3Q414%E(9+pXIA`=h5@EFV4O7=N+9tHB_^fjcp?(z|eDEyWoAP9|J8VG$P`;!DRKe z)PN^X_;Gc|!LKZvHf`#vQCzIM;9Bat(qyc+R_cdT>GSyJgqCzmw?rU5!m*Q0y zwr}6wXBS=3lx`|%)1{njP{4^b-jr*4N9(-Mb$=c<|)dLut&|lXC9q*F*X+XQ4<-`6X81O z?H+XVW?$V&`?2xy`bE#7<3AI%gzx2Mi;9RWqx@>gVh#=t=4@Hd$tf+%z#>1rwA{(6 z9n2dtsl2(KW5;>Mn?XUH-Q7L|Em>s^4ea;{x!8?$d+^w?3OwJ(ENeqbac7yoRA!E2 zknw>775iH-hNZSO^8P8Ovjjy&nRw*vyh1`kX6*U+_+sMX5*eDBB_t%A&K8Y#{`|Re z|Ni}F&z|My=YLY$via#|K5J?L!8bR#cdfxX)XlJ9^YV-{KK<%~_pMv2%gf6Qbh6O>7I)o`UNg*)6>&Z zKi2Pd5SbWg@yA+CvR=sUnV)R0l4*DInI7#C+PZb+)~#Eo@ZQ61u0!=r5lKngjz=m4 zVJCdewxPkUx8Ef%wOvN0>fK*EMt(fBHu)TP?4X)j)tft;N2YrsP4U;DPs>^4zmPFJ zJ2o~pJky`reMe1UpN0ktmdG%6{S)mZ9jC#Zo{r8=@0Dvebzl|N2e0Vs?d`}LD%|hp zwnxss&lgX$Hqv9}Cyo2uWYJ;;c1>qThu5uJw>U?~hT8cW8XCyZKae!tX}~~FU)omS zYSU3nWjEBuBkwvPW&E1#y3+nVH$q$8u~#`J=(*KgmP!1`B!F zYw74*o0@WB~z1^_%EP39H=*{+&jp34}bd@1|A(vWnOKNJE--d~+Vx|q;Mh+xIlk3Q@ zVJLQ4!NgR7!;S8SQ{xiIm|9w3FhvELuuP=Ii`lRXW z?;ri@l~&)DrH89rzE5WFzI{|k+M$t=%*b>J-K2P_r~hwry7U%XMMdkg+r(vL)=_T# z_1DTHM~)fuR|HHcc|9}0z-LC(` zunezU&BH^=vHbjey&>D5pEky832)f6sUa_@Dl|#X*w~mu!7bZmmxRRX&(G96dljBP zf392T=Ik@GQBcrD^XDNRuWwPPOkRKZa4j}AwoZdL&7^{Ug+NU3K4s;xawDpP6bcOu zO;bxtKTyc)w52XBtahU_c6!T>|*n)l~@E7YKrq( zshNY03v(ex%OnR-Q3+r#v2WzV`5@7nm1$FtVyTbjS@SP8^36H^5i-K5PCj5 zuJ8Z#>ldZNTjTjYAG(tF@0nV%to^;cyJ@&=3P6 z;WTWN|GRpdtivykuI}!U-*3gsnwq9;cvfM%b){3>s1bx2qg8^G78mAiFi{Ww`pdW` zLSEMP2V;Ig!HDPLq^EAalg*v)r(RuPi97a?&d|^hnbioN>9b^&-?JwT%OF`VgWkZv z0Er=~o~K&dsws_X)v8s%^u?qcJalJM{cP|#gmtSYYvuy{T;5h!Uj=mBzGFw{w{IKl zx$&Ds+CtCKJA2Q@vdjFikiGJ4Mytb@ot}oN8wCTI&ZeVqS@u?-{&6f zvQ;T%#O-2~xv7$AP`LsmC5E92(Vi7I)#M;|ir0v~b?1(c zMzqSIf8EKtJ;ITKC9F|!nO-;QX>>Gjuy=3og@0WSiTlxR$5l2qHkzs!FhM_!l>)wX z0(SxW7(RUXfB-}Cbe#>!)9h0V@4*4!C#8&9Jqqi6`I$3kFq+4g>W~--5ei#%b2I1p z^XJntGw;jMV<5IN^3g=A3#r^J1|s|S+tt)mmG~@2xg!4OHQ2rA$5B;xlhD}{=_&TF zw;S#(3w`wHCLqU=f8Nf%uWn^arqvxeI&z!U&%D@#rKQ;w6chr2g6{pfH^W}PneGrp zI>HeHA68;t2z=Jujp)Jy!1y)H$#4s~QyYHA23;$IWCo{OujxR?T> z;Li|sni{bR@7&266&0mfh1DZS+qL3}(!INP`8RH)-MDe%pO1mUQa^HE#QWK^&G$u4 z3I6jwS_u8Yyz(~?QvWp*&(GwU47C;f=ZdUpN?;J842wLlx9!rFF(7g2tL##t z7fNljOg&0iSXf{XR^WVb`KCQI0^q)mYRx)6YdK9~u z{)&5tD?+XceYs+9U-A3NoAxtBaRUkM`75VOTi@*jPe;r(^R1xOF3%k+P*uBm5@t zCibLdh81oV89KELDb1^(Kwe8&+ouKSr8v#F?4R$xG^;TIqLOu;NUqc9`wmdc0c?Bp z*f9_(M?eBFB11kzPlB5l3Q;&AqzHa zSVqE1T3Rte-R1GV`rJpW1O>ksVUOiG43uWIdjz6_JH!)f04~5AHQukb0O?3~)z{be znQ3}uz82Vi^}2QbY}<5Pt%9**rb=S&iUYU*Bc2@)rg|9VwdOer zVcx*EP$)b+JcJ84fUyDb>5G|S!U}kv9$8&|81x%I&|A^s!fxC#plD%+0ih_!K}1>k z*kSd8bLY>~Qv`SHc==}b!`ruOm#^YpjcGX6=D44Ym34)?yL-B6)vEE_{QNz}CMJSN z>^j{ZVq#)~!orC_L;3mXz#s`~7Bf#-(S8 zs^4>+MxIjm*Q{Anm)f3de}tm$85#Zb=`xBdl)sIVTg2@qv`7%clF#-p;p9O#dUt#<9uC#-=L#6?9X5=DM|OqiqZ_FSXtn8?(C` z7G|k`A~7|USy8cwvn3%Y_giAf-Mg&dH@lkWDFYA%2`|KkkB9;nXUS<}J6P-R!*etNcoPNfJrFqP|+~kl{>XQwr zSkC9>_16xw#4vy{fQ_!@ZNozeE}~zsD269mtS!Ipykb3*DhKj=2P%E4xzSy3wHHsH z20gWvND9F8NvYxw72M?zUoE~qd+xsT8p4bDqix__^z)t4-`Mu{&W#SKX?%C7bZz&k zWL>|0rJ9-LebGK~U=5zh}p=dLH!P{KH6k)AP zm&E897`W`*?`t)`GN-|k4dP<_JvvIN)S!WjR#u%qe#9+6NbmvmUzwYj_}tOX&KIv= zDR=sG3+IlU?CcA_7$|3Q?MkBd`&+o{gSlR@a%BmEaR+uRHq@TWM<a0)B2WsVPV}jm*st!1mGlB?PR7(gR(tuEmu3|xoP2X~auD2I zf@XJ)OL-+EB$PrlA(*oZw6NgDjR%1K^z@573YrH%_#f;1^-BZ~eBjEJ7f#dP!~F1r z*VnKfMNlI^qcJzc%Zp+R?xqc&wi*1oE8VI^+StNEm`DZoT!;oplu9B7`MO|lZ=imq z$Ka%UE-uLN481b{>gcHv?dU}?7dU~Qh z*{ha1vu!hoVEL)3DgG^6Rv@23=&C~P37*@gn-0sZzpjcwJm2f~?KM-=)14WO24xrw z3G+`If*jgi`b8hf+E9atnCguVNyF`z(bCrcbXo`Ch%%-FL+>9F!u;ver{TBaMa9+C ziN^=(Ha5Gbg)M}!#pIVYHm(a3H>^xbEll(PdF|={*I(-) zh}HFjrXe@M9C19BvoA$4&Nrp}`1kKCgl|t>sg4)iV@7zv6Hyf$Sj`M<$1F2fH&>t7|bS%LnN<2@0}%-C*P3 zh;OP=n;YVsuc5?HOHeu(_~}MQL}P9ouwRWZ>Y;z!o_9Qf^Vs)=1aOBl%R%FA5fwdP zZl2&Wjs14}+%EgRJ?tV=)X}PH-hqKF(T=xxtSKX!{^Wx7y#`Tv>)7R{U-RSXz@eYV5?cjU>hwvd-crD)rReH12wg^D?>v=dx7ykI~-M3 zeo_8#uPn9hW>n-7J9lb{uVZCBc)y|~YW*g)!EL7&nQC8}eV%aqc2MWD1MtZPTNImp zkfFAF`L5y%ok?c7Z3CJ0F~+xR0@K_ z_xW=%R5M%cSx@EJ_N>DCMd8M?gb3cy0bg0PWQxvA3!&$lxa&C;WiUOeI1rk8id>>WnjyT%7=TgYI)01latB@Gza${C-uH9 ziQXR){^JFB;V|B(?FPi*rVl1VgAD^?0WJ_@v-}$4der-;-U2y8M-07lM`#I8eCYrf zIfs1Xxj5UdS#?Vu!W-h%f8G-#v-$WVuc9Kw3FkxIGl%LmsK)(ZGKio$U(2LToMt(>R zUPvcE9x=g!mSFP0m;Sf_26X8~s!K|!kP$9lzI+RJe7wt+4rB@lnVU<{=B&?&V)}Xr zCftf1`h6TP8Z)g<|7y((i~I}gNsCsM!X}Ke5NOz~vQjUlq zMUu(Xa3^B-U0nZ6kq1wbPD&}%irD`=Gn)k%E+RnFF>>&ev8=8xg=~K7-o3x+hQG(s z+ByU^@*$r66JUx!zzEwj;*CyqqSo5DX_HAuu{W#={{o1hY4(Gs#Nr`ujjE^^BDGCt zDea$igmu!_zPKO*$QgsNba8P>OHcQX;PtEnPd3<@Cn#U5mvt$~x@cbKpP_8da}cJ*J-w{nVKNqEVYcP(YRaH72fWC@}vS;Qy7efU8CA751zNl48Jv zKO+uSOIS=yj{+sSu!gGrAV`~A@Mn0=49wLL)eho>Zeb}$dnGo()A>;Uo=F-eFSQWibh%X3HOc{}nhZsPXIF&c_WRb%wL+~|%+uzTr$$=FTi}D|pNpF8Y zS*RFJqYD?BHt^AA*>tPGIP)ugGMe>o{l&?rMI%A0DZ_FdrQ^RWLCH3=;Pjx@eEa^r zKKmFLVPxgDj*H65hbyqg=@}W7Q9+TY|K`m~xN`gmp{Efa@#5u6V>nnk96T219dB~U ztU_HHbn8aI!7n6P0JRbG466K?;7@1u&zxc5;W?9Jg@U`Yua6#uZ~jEHC3dNEerIob zIvhb!QN}(k*sjI!EpQ1SsVq?*n7QH)A6D&l_;pL}aKYC?cP;7y z=giHy5nloX`|)N)aCjs$NlJQS!(F|4m3KP*3J|^${!d&$Po6wc4VJ~j83Q7LWxR$< zK_t3{t5Q)QR+7>%`Ai-=01>WH0b^YBgz&%s z7z7AN^-#w8xh>bEtF9P04-vycebZSGa)NvI=ojeQ(`PT?q2?@WW>ZtsJ>zvJvQc_v zvmmzfppdNI#fv3ZA#+WDxMqo;hfwmCRT}sJq$k&M1FRF z`>7hwg%jNqq|OKPj(VM_UI=yc2plTs&c(VseD!Ll+v5CW69U%6P%!0ZR2LpuZ82r6w?0*~_&7@U4W#RYqtyT&3&YNrRF=@xlP;>~a~On{s$J?bxxl zMt+i;JQirZd=w>4J&zrEo5WzOK(gNtS)slkSZkTQynJ~@g>l6VHp1`}0=96@x^VaS z2OQjfwNG@%juVvCSbCbO8g~(D!M}<-{A!9a2n!3_jPPEL65HZy4T1=Yhx){j`1mbw z#Ry_umbZH@isH|{N48iCPaTKaGTJ;a9n@a3E@Sa7XRxm+{D22K0}9xQY|sx$V6HDz zux{HEh1&JSix+kMFo*fU5Q8kt4u_J*oRhJYl_*BJt|j@@OBF~W*YOv zPb+ibJh)*N;T+dsrKSB)A4tgrjw8-lOu}{N(H{w6Q~?;dLn{Qz5%b|>x^;`+ceTlf zN4rWte?DQl2%hRRWi@0<&D7IrM&47Pcv1`?m#hY<`SisLO;bf?<`B-1XX!P}EQkDu z+LbPYhz0T(0p-+SdG?5f=lu9OR2-c>Jo!1jEnS zGL8Vak55LoQQ!XF?b}y*aJsT*Lv2M^CB(n)&?5NlBn0(S}?TV^v#D4DoRS! z5$+RTRII`R4!$7)4;0$#ni|y$7vjOMCIc;fY;3H8G85}=$>;Ou|NE4krdFfR`t|4OSlcc26riMZ8 z9svO{r6{+t6pW0GspRFqGj)YOd}s<-|3J!;{pr)Ex9;8rTf2!E;Y<%dmn6YbHJIDk z$R$Ubs16XL2vaNTKC=_vCVwf*h7PDGQiIXZQGn&TP?raUgpe!`5+osFFgP&K2g~ib zehxK-@X8oCNw=xX;H{HPU`z&XKwI$&S{vkW#*;v1(N%O5NH#M{BS{kl+vYU9fgYnrr- zjEWsKdweifrbsuO2W~xl$OY%$u05mgb~q6&2GEZ%LecG1G;~h@xOy8?`IPqWm%P{{ z5u}<>R|!%h9qtS_FuMe_G(0~Oh)RuLLLzO6lz{5F8dWRwsXep5Uc&d`^jORsf+ZWF zwQ;!;I13EjMrailrcB5C!JtEzR?ndA_}`NwA#Y!%B%FkMdYd9G$-qZJoV zRk6%U02OVDM8iDa`w~bI)sOtxDd*-sxbDhbhYI|^eLIU{FZAZY=>^es)ejXnP!?|{ zF9A)C@vb3eR*co@^kSo!} zN4hFVm3*6r-K*}~f@9Ev8AX$dgECCJ+GlEtJ*YYC@nfFz@5Afktv)FZdNQhM6Q~d0 z!rHimHq^1A_R9c|x>zss+`WJQDU4eMZUC3a?T5Gf=6lRbAAKOf4xb)Pg!6gjI}@$y zg@wl&Pwp$Rf@6R%KuBH38q?Vi9yyXUB87eUhSz4l^4OL~)IU}jJr>c=PSa4VOcV&0 z8l_2FW!pn%G^n5O`Sr<21^3G{W9H-a>@pxP@cV))H#xjv+N)sm(vGm1(``lJryBgI zg6K5xztm495JcR3jrpohJk+8NBxb})=#pnG-`*D`%N5F)&FqBLl9BBV9m@5?YHCB? zHPRc8m6ViRKxIw0iu>;xdI@%($#-Jut_&(e)&;OQjq*=q0jM{z1hEbIGW6cP*oC8~ zTt0&OmT;Z8D7$M{CtRJHRnWX|GZEx7J28L?7YOWBU`R+6vf*&UY3ry1ftB;VEWoxK zO#zsavCMq^{0=P`!e z)z!U(RD+8VGJsVyt3qR8e0XZzUideJ<00g^o*pOhilg8I5^Q+9+mS2+qEKaD`F`V{ zI}-UERab9a0>Hr8et$j>uduLng^LTW*hq(X{0ZVCZwLqcECU7G27xwcGwBy5Hs@sx>rkl=VJv zq!H+J`0!zpt&lbUf#@#~EJ0vQ9pY!UnHn}`c6B9ehPY9-%?)%^o;NdP4{3{@!SApo$Po7YU z=6=JkLJ#KUG^nf+KxG1w6zHzO(m@aS`Tgh5>);IxXr@+UIg=XxBYyuNJp9kdPjPU# zm@uK=0oDdkmA;2#Z~r|kq&9_I$^gXlNZwTkAUQTEi2)Wu7-N^*sj`IiB0CT*A(Ai` z=$<}}Y03o651DW^>Arx1@XsE+>*GVCFw-lPVES6`+_{aIiZm#du*?5hCWPmJ`5tL+ zxuc^as!;IJ_d$j)c_D~F_01}RvB}tuk5}Z__7Jj(xX}QWZ9p3S1O2O8TX~>3Ty}H} z!xX^AwgMu7FQDYidHpPfn`-FL8kE zO4Nl)&yGJP^Mz)R2XgkpsCtZ{3H*rz$N0y}L0na#%=wsnY6mRMeixpK>(Fl(a1c}WUJ6p(}n0!wW5f{NK3cp+0eHi0i zyNpr$z+~r*MuUGg*LN7y5N`4B;A}6V@Gypg$UXg^U`QD0x`IZ`4bUUQM630yoS2w^3FX4gc+S4tvl@hQ1tV&VnltEAL>+OU;yLKDY{6kd)#=6nsnv}? z-=iqiU!Sy&&`IXzUpg{LBMSUMMo8qknHSgN-$NffXxd^Wa}N}r(C*!N8uYm+^*KSg zz+_`r=JRG*joLhM91#Ek1WA05nyTg!M~=MJn-2ta#~rO2qS9XIZdv~v+&MQ74^Un( zaQU@Lx4l-jiq*&h#5=HT*|MEV!p?*`hMfF28FfNUe!QGjW^#D0?j1~ActQA4m@aJ- z6r=`KKr>u(lbHUA{0rrnE~`}w#H+EjHM4xdwU98v7)bWKssUswtE{90q}53cgdPA{5K;bP+%YalPkaE< zDWB8p95~_KZ6i=gC5Tfy$stug=PLXaC`LO`2{Y&Oa&ZM>l@eDkxFsz$0ZP5vR#C%3 zZsg{S5AFlaQp73@8Jlzl!fl{8;DDIMvByb*^abVMCE)&`2Ad6;vJ(>{HSyB6=eXUk zCKf1C@IY6f^0xSznF(ybfRv7CYXp}e5c0_)omQ<$AP5$A_BaENIxQo8eQwAA#$e~b z)d~m*L^Tg2F6?_AA76~bOF|Tk8r;OaQokZO^ATT1WP&JSDY`~V5Qd5MrPl^!@t^uf zlne#fU1%J0QL}rh5g8<1#x5WomDbj>0Pky(`#TsI@S>~9r7l)F?85)xD?)nu^)+WL z>4d{qDkq;NLPCD`P=+)@k$i^X2Oq0jw02|>0zUz>uy6SW1u=n6tWRwPwTG?hIyqS1 zRE4_ibmm2>;SN?a`@)48%ki3SsPl>QuBdKqk_NWtJoV{w&gi6E@*J;M8H)2>kW!n=gt-{$0D)lRmdL_sKJa z`KzCpY_Tpfh7CqH&4`NdC;u;PhdXCR7Jx*7-Tf;czKOmIYa_x%AiLGXd+1}FgHU8hwXrhg1X5BsuBtw(zkP&RAD@F zuPRyI0U+Gul%ijpuJI&zoZz{^uQ>qUrUkaoVq-gzSF1pnrlF&2!-fq;n3?fQLmq_X zL=6gCCB}<|m)BsxelO@ZP^4)y%)ha0)4-d3L`0tVz~Qr^YAC5VLBFJUxjc2Ej1V zu?=|<{%j67aS2PRF#T=q#iq2Vwt?0mOm2D1p*s@pGj^l|MY&(Uz@*?b%#Q%gBqJk3 zDTcA-^8Aeb9J(v}ic(2co`))T_^hVNWS#A`@!7QaYODQe&1`=X~; z^YJmSTel8DzGS8~DEu&JKg=IOqY+50tx)e^uka#T%S;ADetO6#BOpSO z8qb-TF;ECUEtNUlY?*o;Mu+$?Kp=4?C8ctV%NB4L<&N#{&(h~%UMdGNPfovtc7dm0 z{_W-NyUy2rL$)jZ^5xVV22*K;fb_*Cevs(>b*kDLa0_@SyrWf#0Iv6g|5)Id)#SRhbJs3WrjSUY15ZkO}ne=dY`)HB$p&aFLUf6WqP~^ol6w zN0R_G0iXku!p`XH?+jk+H3g%x?`kE84LXQ#`q(4!hK4WC2mS4A>qp2HhA=&n(k8=4$#8!DeK8UpKNf}O(Y zPCR7Z?Tu)nxDG`iF>Gj&SF5U_L5J9SOdn@uWjS>R$?)bH9>ai$qKPXeeJ~}fZ4D43 zyVBg~4#vG`1yMES!eo}t>+1BlZHox-i;1abouX>Y10Ak+r z^udaChODHI4~Cr`W*_zpyJt^M{zOMi>WEWB%%~|eiIIgf<8vzne4!{IG@cO03*P_@ z5QvIH+f@W&kP>WT^Spw8xBnt>o4|URp|~~KXF~EnUVvi(z@PRLzfOTjO7bsAYO9S& zN+ODHv~3RzaWI=wo=8%|aW4#mO(_B`Jfu@-gaA7eRa*n`P6Cg9u`Pc+7!J-<;6i#n zw_z$Q+B!qhObOWL5|f??{xQhPGJH)zJCLd5`F9*+(E4;*PTqU?Fc3WyTDzZi4h^L) zcv@Oo5_S|WKl{OGIsAb}WS`X3RF}tjd9yT)j8F-=z;A1$7RgZShIwGvQ_`O!UVx}n zDoAy`2!ai@P5oQUARLy;78Vu-&3T4EsxEy67JQRQas_`yMuwmX95cIrJ~twQ7Yl6S zb>XYdIdncJ47sGv?4GDqw8jPW~h!B@{26ftn+xks+`yM?)WJv(nLiI7+zx0@umJ8ekP+MkXe> zUSr!Tk-Nc5Nlio_>*&(^;1UV9QBZ)@|F$ zV4532qp-9^-m!f*Ms0^e*CCgUB3iw0-}lJ&dR!sfg#XkfDf_G zpuoi#TbMLrK74pOLx`62ZNdC-4OKr9=Hc#;3=}O0ckn?@6gL(qj%lMw!Sdp0nx~bH zJ?L|!iNqp>sSX;L>|nNMS)6Gsf{2FR4C{h%xZShW2X>S~a!FiR#5i<{{BgA?bZ>xUo$35Wy1Xy)}0iF^$JEPupC%Lb{TmHE8$fx^;Lj?;Cgqp&SCT##=S` zN`R(22L@Vuoh*}h`mq%1gSSyErp^0aGUeI#>+~?!H@jbIesyRd+kz3~0VK1A+1aN* z-RuUM*^qijjfu`=Jq09H4IQ0^-U+UUA;8>83SkBL`ReFy2E0jZcvD@i1UkfLzW0Pj zc-iOAYf%(hOm7tzCw($QTNOpG(>@6%)G9fk-M>MFn810)uOBKI>02TIP8NweL)1PqGbFs4eVt|Z+v}K)tZvdiBl)f=@2~ce{ zPW}Mf_oum@n2+l|3}Xi~K{n9lda@ndD@0HGwnvMw0AgT8 zwb$`CZzfF`N%EV?vCG;xcLOzIH|hjBnz1Rh8uq*qA7 zl_=@`fY~~bxK5^wmakQdS8>*ZnY^zq;lVE3P2|K4cx=FO5wZZ*JWborK8Tbign_`< z!8@g2YLz4Xti>sc)U$A6l7k0?glIq0LW@>J+&1)}tTdkviDdTBy6`%xG9h_+o;#b4DPf-&xQ$e7%5pcn(Ep<> zbMHf+y$Deih}QU{zu;&7#IYZOeKO(gsOUBwf3yXv^ji2x{*tp#L}%%d0hPXHA8t?p zo3T{xfoV@jPG)5Z#o9RpCjqS3`d|?&(2-9hqD=#DTj{*(8k+X;H>Mhf0V!3ZTjm># z`iaw7*4uH5m$2~$fM9_M_$^RJU8Z57TTXUv?hP2?fXeqlyXsb9re?{J8a@x6)dZ;x z>FGCCUHp6z@z?)Gyl=R^8!-T+pg3BLAh-%adr0K!f~`J@-6!BRtlEO$P)sgf6d~Wm zzG{<_Vak!8I*01C3npxo8{1JYY!wmFN;zR*Aa>%}aW+H<8#}wZ=-7-oQK2iAMgftL zk-+8w5DxZCG?~5to0Z`~o-e%6ru!Q4=yY{-@Z;&X!%ULledO5p!9g*&J$}F2Q4;_p zMcNs z08Rd!{WKaift>zb%=nw^AGzeXE@X!laQr@4s{o{TVonSr=fLkEt@W5re1^_FVvEp5x z--&w!D=4$V6hHC%0hK2(4K-$hNPvnMm(=ab(^AG{n(JN=iEFi{o$znIwSGM?Gz7zUH=?)Wd$rT$`}pOa zN0fM{G#9$Vo&`D_JX*SSy8`S>r@GxSE&>Q6z$%>11NS$vv9ou1F7$W~zZMF)u=}pg zGc<0a_0ZVnGv!Cm2iW8Ld8ATO;WW^yxs>t~8=jEI2=;-**@L2A37m7^&EHo2U?(J? zzCa$# zbiP;6+Ioo2_9aSgEB|Nq@6^g*OKdf|1W=d3)8_8@``eq{Ke~Y|npcek6O2Um4@ytu zt>0*Gla7`pM~aUjKgLPV^x_*RhZ?Fkc8raEejwQ`Uta04;>m)B zM@sGdlvN(mBIpkd92J0roK|CeK_Uo|gQKjhQces})xQFrO~;pKGh44Wb936f39o;7 z;@20tu&lV#B7^>5>d@J|GkeZ^IqwDSkdB;oJy#DWhIPf%X)9rYz{v<_%nGGFyjSs1 zTkJ8_HS_gXBZz!82S-zvI{?!vU|m^)^MNXhOG=_DW;X~vZ3v;|AELT=o6IV-J@sSl z3N-Od%<{`(VtNf&oRA}249i>BJbL_CYQljIuER`UTBEgu=t99I1(cbbp(`TdWl-Sd zG5?BP>E+Jvr(D7>gI*$R7H&Aj6S*EP>lig%N?&$(w1s^I{Oq?vLu->AXQeBUXlj#A zilZDtSE?U5tgLpi`{CZ+!ddhf5J{cg^Vw5BKU$Dnp?B}bOlVqzXm_vL$3N*M6DnN; zKLqS{%iw3R@`s(-C7`{156wZnj&I+{ziDY}XIxNZV`D=zDFa$XATj=A9{`tmFbv1V zq>!2bZSc1qJ^E_m&dSbCJjcku*27;eAqLC@`0PEn4ZoLw&x@Vsfw7sHKRFixdj{04 zc{(g90d`Cbdq2^m-I`bwM4SD=pStun`>Y{$U>XDJO({37UoU}3s~0nX9SwG$8dwAj z(B;4}95)dYs7tx6Q&C>dziCt4fo3t(P)OAhINb>`CF>v`9wIj&%IQ zTYwG0A&GvHhL|VTy?*bf#FmP76f&n{=DWH~U|%yI&v3{0Qpkhlg192aJnU6YtE^YA zSi!(5!wOCeKDC*6M!WUoQ}B3ng&BHy!^x)7B83x@;BjEV@nI;qf-;ZcG2c2d^P4{g zr3_jkWyIk<3?InYL0L!eyM8CSTY9uCB?wl8FSJa4-`8hBW*#mnK{OLeH4yLrb3CdA z8!J66+A|>$#i!%YuKeqO{GC|I#h{e_d<^P!3hAnTUORzLrjs)#MD zy8(5aPAra~f>s!)(!71=PGx8rfr?m^db$+Nq!+O0=MR@M5bbLyCnYganA9|xnVH0C zNB0!tZ^1=Aw;eSnHWIc#XGBZl^XHXVrU5v{DS{R*=wS*p403T1kCNFNGML@Ty*+8l!4jll_g%Sd^+ZHtBRi7@AL3B9w&s?GoAJ z{eM9!2dqAyfx|>}pns3>?!^#ulA*gF7Pg#^FY^kt?eda2OhbrX(PbJ?Xwz=1h>1!z_*uB&@>ss*9|E9wby7}B+9JmIG^Zj6jS zeM1yxRsijTTQt9uxlLHuA`06qz;0a)<@Rw1{8s}5kKD=1^O%=IJ?)Ff&)Ta+w#juf z%Aw8pkDZozxI+i1NM+c!am-082$TN(kL z{N=aoj>FrISj&|$2+CehmXl0g*$%H5+X#;tbHeCo^aB{LM$_Ov^dB&&Vui%)MjSZ~ z;bt|sgN?X0VY<>i-MAw+-HocvdzQX+` zS+C>ResWv+`6;M3@-1z^bX~)#4v^5$bNWkxtkt^Qku?%OH~1-0`6+pWdipxD-V>;> zazC?txhpv+$^uJXE(s^lf$juLa>%D2K0`qm&QL5Dge*PCCGsF-FTud(6B454(~rYB z`V`11SutE>7WB{sho(O|mIOyRi$(8y;uD6h_L(advMMG$31f z;i!-IdySda+l;XLxCdSVu-j-`EklyB`T~SQ%w{->?97o`G8ziV5_00`Vg}2bbYhMw zONDB7dfHq-cp&h`jZd!&U7egdA{XbLS?EQn8^N%{^xPB7{}xty;FPI|*}`@pg8zCEBeGV3gf7Zd(+hYW3ZpmOo>q%%!izI4KQX0IAZRIOYdp-ab&>_XR(@ zLo+9Bl0!L=O1Z(95buJipU$zApGVT*pMZi`C!h7wvQZ51!Giy3136f7%a$#B0pbR8 zQsBKOaDg)*aoos*Q`)qW5$N?oObQT8(5uhkJEat{{f~jrD~F*h4OhvS#@L|YbtPz@ z@UL;OYQhk~m2nBp*hq@uU;V`{KdG`;I3V#Xjn4Dj=hH;$6_rG(Suua`IFdr$Wui0gfRk7mIhhb_0lL{pEumogtG$r zhJ2TJzdpf02 zZgFvD^feH@7WOUkwc+FSr_@J0B?#%{cL@uCD^3psQKW(jf#Aa0{&h3S9sCMQ=E zs~`B&KO;jb?&x1vfh2bSD8sRA5Dv&=1ka(7ammT@@L@NEk&`V|;V^z`8FpZQl%e`3 zO$@*yrcG(aC|JJnOp?hQ0D zKSQ@aHIOt;rzj=z9vZl|+#{zNkb`Ie5XnJWKpX)GfF{@pWN${PZ$Y)Fn?L>IAr_=Y z20Y+R=Lb$GDN)1nPF&RR9UINhjAM-yHfkln!qy2iPJFJ!^p!vM=?L7+I*-RuLR`ie zFmmo(QJlg&B-7?ZLk@|+b-;c}Sk!Gnke6v{Bux((0yeT-kq?(4s{w3A!(s7d#1nEN z4kTC(QbQ7sVNwXeO7#9xYG$P8!g?$|5;jTqA~;6U8(`lMc>Vf5ge1@x+M|TbK^qY# zEYu~?2S-3tgU5<4DID9V2tZ66u4FtAx#@A9(*s3M1rYB21JSv;oX{w?h=`Pfq$l$R zDnV-YL9P{8bEnbwGNIw&H_+3~$fv-Ke&NDr(w12`zf6pr#|0azDki%iaum4838yen zQBd<(){W?%IQ@p%H(XR)T#a(jz#t-Xf7IgSrz7Imi;9XYTz)mBQ}2Zse-?*#B~D|# z6O0a{opqWhsNpX->??YvHOKZD(wL0QMHUukoN`H^yu~P}sI7o??=7sM=9<8`1YDiy z3`W2NMI~wwLBZ{?Y{~7yNs0HsDb&Bp%gY0Ev@X${^1`?bb~?dfdBVx%-NGusRUs(zy%y^oo8kFl4k7lMCC8dS&r1{U79!=2gUbqFq=vD zL5-cl$ki)!ql0nl;aE*5-OIdi8gYt7mFY37jfzO>R_Lo-#xA1!#AVZy&`=g)H;1-@ zj#$GC10+J6s}P$xfYUmj;P@Iv5Cmi;*Zrv1vR!}$#}BkkhVzNIqvjIFaU^Vp6%`KF zprN5-R6lJEX8??!vWba_;rE!KW<%|akE5ZcR>yG+c+>M4Cr`tJkJD~fA)jO@SXjO* zI7oKS^|hOgAR|@>A$O3*OHh)fA3m%ix*g6}B8O9ho?C1#zri##Gb!@Iod;_5_xd!0_b zy8Ftv733)5ul6nApY{&?K8Ij}nNaU3>&y(F96_nuiBzYlU_6K8M!eVf1~)W`|(J@os$&0Aficf0?;l&cgw(!LF{!R zy<6>u-yK*x(F38VqpRzwbZT7qD99186EV_gs!uQBXl-q+&!qK&`N$X*u0=nw)S@i5 z8a8;G_Xcz(cDL5&*~uYth+to87v44L@qwho#8Oo1oUI<{#=1P#tC8{WPIZK7t8v;B9u_Uv4Jv4;k^FzEJNLMp)AWyjb4Zv_Xpmye zD048*!xGUxrU^BbLM7wWpcJ8#M#3;T6O$cDspvo`J*DX66w_ozCn=N^L;I*OVw2hT zWtx5M{;~V|{rmgR>y_&1`@Qe`x~|XZhRJx1;RvazWAEnQ)VKP}q6Aked10C0keEHg zS@1R z{b**8#6!P+{d#<4fZyZyIpH-Y{ID0&d5jJV2exF8imy8s8{0t+#H8Z=wqO%q3+#Ih2STI#KpxSa<~Kxyp!zHZldRlRR=MD0C8T?Egd`$SPCzLMSOKG}|=|4OOv$ zw~cJ%bN^FZ2*LkB9p1%#y>)fS_ zKA_euGT6jlAJn25yLIQz-g{w^E*X^ zYylCKruZm|j{LRLEA&i4E@`%BrM0*!+d{Cj4y(~fEvQBeI~kaj3GSbEwBo>5Q>JVXRtLS$CB|wp&^}?7UWH`+FYDi&CmG$I1lA#x>l(-#VOZQ( zUSZI1lYPdEQ4Ttet9p|wD!bIpT5GIA&gSFSYcf?#alor*kUGXW?>9`r3ue$I|fPiy3(rB2XtUSSYQlz%#O*G`~MI|6Pw{A6i~L06*fbzN=U($zq%gBZxg& zaB<5uI=sr*c5$(>s>AEw1SA80nwpwAon3jPVsbimkgGh4sjAkN7MuJD(je8)Ky05Br|JmLGODUG_BclmNhgpwDa2U2@P1W96R8zCfxt@7Tl z--606!VnA~e$#hIl0C2#&|>|%=bcBG`xRlwm1@9P{Q8Y{rwz7-1}F?Mv@Bj?c;T{J zHy8f%70}8U&4Xv{DaDX@-JU#66OOJL(?YGkTEuFAq zR>94i%_n0<|JL`}%pCH8m_D4}KecrE$Nt)l#*M>5$~3$JNylosudPgKKm6Uv21-vQ zOY56%)%PZ(M*U@|_x@KTBAJ@T-E|XgJ|aE3$CH=+GWlydXlviiU+R2-8S-{hL2_#9 z^GTl<|6{nhF4Asej>XvxDVz~lJMTUWdGaJEXnlIwYxdyAl$4QpI1`RhM!WKI41$x& zQ32emp5HEa+HvpHOLq8JimMkXUO6V)N+Pgb=efb;jc+=;BW%_EE4qg!2BziJsV(#B z4IjiU06Espo+!ki#wj-Ga_c9GiwAS>XHy&;9I{S*yHKk^FH?f zrrZ2|KOLTE$o6n-Z8Y%|jC5-M4n-Z<5SY0ft(o&ZM)Y$((eg4>hc8Ctw%b!-w$5k+ zuzX1mP%!z1QGdkYKW|IRpV*d`|8rYf{{O=-_gOYUah>Jrs;hu){j%x<&XAHh={e~u z*6*%=-ypboAWL4UM(9@e1#n<|0!6a=!GmL(;i(qy4T{zbT;s@mh*QP;@8u&>J#N}m z-s`bfn^4qT8em3QhJAL6Ds~EweKSe}cD9IRJim+SZPwl&0le4IpMkk4S`trGFyO?FKfAeaI_<}L%V2XPQD{5H!qP2vN z$?+l=EeM96RZ!)BUsrl{B=HsuNC2Kbk_d<9VcF?I1`{(15e6qq;QC3e&u5A@8*Q9p z(rSdlGUy=jvjjTqXVkzshwMb|SP*Fl0^chnl$~%6!Z!%{F3E{7Ys2~EjWEZO&+D~j zfXcJu?iJB#$CHezX!6CWEf^f&pM^705+7A0af=*~ z@D|;)GZfQgnoACZ((^KKGs{1At-5o^RdSxsT{%E4Q9b~^95ak$?p|Fsv-M}GRA>rK zQAgQ3Iv#a4H8J^|FMvo_sk=v~ZOb2PS6OPXtHJyJm22FXQIh6DC?Q$}tHk5S8!GZ! zi@v_D+_k2Q*6Z1G6ZE%*>NLIwxuXZ&k3-TZNJ7NW3CAEAzRNcbe21!=7ywv>Cint< zYri|qlIm>!j?fe4+V}N)B-vv4o%Mu@EhS~<4 zPr?rmP9kZXHnXH6W8yjjJ3eo|1C{`%m!PgEGcRoy!zK-hgJx1=ZhKGNrem0!I8u}wCB-Gg6=V4ZC91>jwDjK@JVF+(0fhR zCBBbpnv!gXoTf__M+m@)C9VxpI}}Bd+Rn6;rIyXymKKFTfO1lja9&qe*Ur`TPPH#B zPI*?KBvv^*qoYF;+Y#m5*ZDm$&PPWNlKJX^raZYlpdLnW82*{maBE993j+#WA;$_ZK*vDXp`}qT4&jCTDA|# z)0?YOfeJ4M_h?f~)zsAuX64x%h8h_ge~Ky7!J`?u-%~UT+kgPUhOQ!3Ee&JeW!??) zNIL^zmEh_j02ZgVDbN)tYaQbA{X9Ok4@21dG$*|X{#sU*oh2El3>Z%)I;qCLU52G) zyBd%kSiu}$;&_$^wAJ+Rp4OIT4-=<;u|4h?<+G4g|4ko7ucS}JNJ6g zvhOx~s>434<_aP5;1j}Hp^zk^888i?zmr+>?bTg$}_Bf!{2J0wUFBdzok&hzZ-Hi&FT02JP$us}SN%+d_<0E zk>DWdX+Un)KN;xVFw)Vp`&ggl#b^KR(@KU`GX19^JaV7s?0it!!>XfQ!0;mZAU9eE zo0@i2n0--Op!DgYfR9YuRH^LYREjSQpWt^=hCEMm#-pQ&iPOgXTu?9_bDd)`M1~9| z9%U!^&VR$H)izE}KXB$xM{5<+yfx%kFSyx|HPkb08VbU-5)VG)Vm!zx(t8v|66j11 z`$y+}24p*2V7H76A)EM=9ah#Cr5vL<&&{pQ8F0qN#>StpZpUI|_av9jcHKA$1u!D;ItoHcM!F8S=$??;bjO>JLE)bw35b?ML#IUjP0(7_npMOs*CdPGw-* zK6l|5DsT9#A-#UPe*EM~ZAAhsQ1{QtTI&;$Mk3a!w?7N=cu>R*WcV;I?}0Y?7z{@? z!D0uv(pKcAs?MD|`-Ab>M3^x(C|li1Zy{sBmzM ztyd~d2W9R&5WF?MG=oygvpDfW$Tbwv_i>tCp>y&6^_TZRz7=?|TuEBNI;iAwbSHBk zoaAtc;2DFgobU=DgP|k_QePz;i`nocIRoMSBZY(2*I!B9nwzm|>Y|p3kfDek2eOXw zPvtS;VPOpc94(zp7=$%kyedg>LW#6_(UW^~VC~^w^Ken`p7^4VyuImx{f7eE4)+nGBuSx6%1g(?xAXA)5>Ci&@LKa$u%E6l-FQXb?oXU=^5 z45Wx(#D=z0K+d9AD|wMW>*(+O{6m#0)u;n#f!-ZK>HniW{y&^eD7*gG(e-a%er0Z1 X6qPnJrk5=@bt+aM=5PEbLKbUe diff --git a/docs/_images/with_resource_gantt_chart.png b/docs/_images/with_resource_gantt_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..73a74f1aae59f2e920130e2dd9613212cc7c8a61 GIT binary patch literal 40718 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 literal 0 HcmV?d00001 diff --git a/docs/_sources/user_guide/drawings.rst.txt b/docs/_sources/user_guide/drawings.rst.txt index b577336..01ae453 100644 --- a/docs/_sources/user_guide/drawings.rst.txt +++ b/docs/_sources/user_guide/drawings.rst.txt @@ -35,11 +35,11 @@ Actions are linked to their dependencies using thin doted lines. Actions that failed are in red, and actions that were canceled due to a failure in their dependencies are in grey: ->>> compile_unexisting = CallSubprocess(["g++", "-c", "unexisting.cpp", "-o", "_build/unexisting.o"]) +>>> compile_unexisting = CallSubprocess(["g++", "-c", "unexisting.cpp", "-o", "_build/unexisting.o"], label="g++ -c unexisting.cpp") >>> compile_unexisting.add_dependency(make_build_dir) >>> link.add_dependency(compile_unexisting) ->>> failed_link_report = execute(link, keep_going=True, do_raise=False) +>>> failed_link_report = execute(link, cpu_cores=1, keep_going=True, do_raise=False) >>> failed_link_report.is_success False >>> chart = GanttChart(failed_link_report) diff --git a/docs/_sources/user_guide/introduction.rst.txt b/docs/_sources/user_guide/introduction.rst.txt index 17932cd..421c8a1 100644 --- a/docs/_sources/user_guide/introduction.rst.txt +++ b/docs/_sources/user_guide/introduction.rst.txt @@ -112,13 +112,13 @@ Say you want to compile :ref:`two C++ files ` and link them: >>> make_build_dir = CreateDirectory("_build") ->>> compile_a = CallSubprocess(["g++", "-c", "a.cpp", "-o", "_build/a.o"]) +>>> compile_a = CallSubprocess(["g++", "-c", "a.cpp", "-o", "_build/a.o"], label="g++ -c a.cpp") >>> compile_a.add_dependency(make_build_dir) ->>> compile_b = CallSubprocess(["g++", "-c", "b.cpp", "-o", "_build/b.o"]) +>>> compile_b = CallSubprocess(["g++", "-c", "b.cpp", "-o", "_build/b.o"], label="g++ -c b.cpp") >>> compile_b.add_dependency(make_build_dir) ->>> link = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o"]) +>>> link = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o"], label="g++ -o test") >>> link.add_dependency(compile_a) >>> link.add_dependency(compile_b) diff --git a/docs/_sources/user_guide/resources.rst.txt b/docs/_sources/user_guide/resources.rst.txt index c7f4b72..6f02320 100644 --- a/docs/_sources/user_guide/resources.rst.txt +++ b/docs/_sources/user_guide/resources.rst.txt @@ -3,8 +3,6 @@ Resources ========= -.. @todo Add labels to stock Actions (in ActionTree.stock, AND in the doc) - .. testsetup:: import shutil @@ -29,11 +27,11 @@ You can tell *ActionTree* that your :class:`.Action` uses more cores with :meth: >>> from ActionTree import CPU_CORE ->>> compile_others = CallSubprocess(["make", "-j", "4", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"]) +>>> compile_others = CallSubprocess(["make", "-j", "4", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"], label="make -j 4") >>> compile_others.add_dependency(make_build_dir) >>> compile_others.require_resource(CPU_CORE, 4) ->>> link_with_others = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"]) +>>> link_with_others = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"], label="g++ -o test") >>> link_with_others.add_dependency(compile_a) >>> link_with_others.add_dependency(compile_b) >>> link_with_others.add_dependency(compile_others) @@ -60,22 +58,20 @@ while allowing other actions to run, just create a resource: >>> semaphore = Resource(2) >>> dependencies = [] >>> for i in range(6): -... d = Sleep(0.3) +... d = Sleep(0.3, label="limited") ... d.require_resource(semaphore) ... dependencies.append(d) >>> for i in range(5): -... d = Sleep(0.4) +... d = Sleep(0.4, label="free") ... dependencies.append(d) ->>> arbitrary_resource = NullAction() ->>> for d in dependencies: -... arbitrary_resource.add_dependency(d) +>>> with_resource = NullAction(dependencies=dependencies) ->>> GanttChart(execute(arbitrary_resource, cpu_cores=5)).write_to_png("arbitrary_resource_gantt_chart.png") +>>> GanttChart(execute(with_resource, cpu_cores=5)).write_to_png("with_resource_gantt_chart.png") -.. figure:: artifacts/arbitrary_resource_gantt_chart.png +.. figure:: artifacts/with_resource_gantt_chart.png :align: center - ``arbitrary_resource_gantt_chart.png`` + ``with_resource_gantt_chart.png`` As expected again, there was never more than two ``sleep 0.3`` actions running at the same time, but ``sleep 0.4`` actions were free to execute. diff --git a/docs/reference.html b/docs/reference.html index d708c60..4538b57 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -103,14 +103,11 @@

Reference Parameters: diff --git a/docs/searchindex.js b/docs/searchindex.js index 29030c1..2431d59 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","reference","user_guide","user_guide/drawings","user_guide/hooks","user_guide/introduction","user_guide/outputs","user_guide/resources","user_guide/source_files","user_guide/timing"],envversion:52,filenames:["index.rst","reference.rst","user_guide.rst","user_guide/drawings.rst","user_guide/hooks.rst","user_guide/introduction.rst","user_guide/outputs.rst","user_guide/resources.rst","user_guide/source_files.rst","user_guide/timing.rst"],objects:{"":{ActionTree:[1,0,0,"-"]},"ActionTree.Action":{accept_failed_dependencies:[1,2,1,""],add_dependency:[1,3,1,""],dependencies:[1,2,1,""],get_possible_execution_order:[1,3,1,""],label:[1,2,1,""],require_resource:[1,3,1,""],resources_required:[1,2,1,""]},"ActionTree.CompoundException":{exceptions:[1,2,1,""],execution_report:[1,2,1,""]},"ActionTree.DependencyGraph":{get_graphviz_graph:[1,3,1,""],write_to_png:[1,3,1,""]},"ActionTree.ExecutionReport":{ActionStatus:[1,1,1,""],get_action_status:[1,3,1,""],get_actions_and_statuses:[1,3,1,""],is_success:[1,2,1,""]},"ActionTree.ExecutionReport.ActionStatus":{cancel_time:[1,2,1,""],exception:[1,2,1,""],failure_time:[1,2,1,""],output:[1,2,1,""],pending_time:[1,2,1,""],ready_time:[1,2,1,""],return_value:[1,2,1,""],start_time:[1,2,1,""],status:[1,2,1,""],success_time:[1,2,1,""]},"ActionTree.GanttChart":{get_mpl_figure:[1,3,1,""],plot_on_mpl_axes:[1,3,1,""],write_to_png:[1,3,1,""]},"ActionTree.Hooks":{action_canceled:[1,3,1,""],action_failed:[1,3,1,""],action_pending:[1,3,1,""],action_printed:[1,3,1,""],action_ready:[1,3,1,""],action_started:[1,3,1,""],action_successful:[1,3,1,""]},"ActionTree.stock":{CallSubprocess:[1,1,1,""],CalledProcessError:[1,5,1,""],CopyFile:[1,1,1,""],CreateDirectory:[1,1,1,""],DeleteDirectory:[1,1,1,""],DeleteFile:[1,1,1,""],NullAction:[1,1,1,""],Sleep:[1,1,1,""],TouchFile:[1,1,1,""]},ActionTree:{Action:[1,1,1,""],CANCELED:[1,4,1,""],CPU_CORE:[1,4,1,""],CompoundException:[1,5,1,""],DependencyCycleException:[1,5,1,""],DependencyGraph:[1,1,1,""],ExecutionReport:[1,1,1,""],FAILED:[1,4,1,""],GanttChart:[1,1,1,""],Hooks:[1,1,1,""],Resource:[1,1,1,""],SUCCESSFUL:[1,4,1,""],UNLIMITED:[1,4,1,""],execute:[1,6,1,""],stock:[1,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","data","Python data"],"5":["py","exception","Python exception"],"6":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:data","5":"py:exception","6":"py:function"},terms:{"case":1,"catch":1,"class":[1,5,7],"default":[1,7],"float":1,"function":[0,5],"import":[0,1,3,5,7],"int":[1,8],"long":0,"new":1,"return":[0,1,2,5],"super":5,"true":[0,1,3,5],"void":8,"while":7,And:[0,5],Axes:1,For:5,The:[1,3,5,7],Then:5,Useful:1,__file:5,__init__:5,__name:5,_build:[3,5,7,8],about:5,accept_failed_depend:1,action:[0,2,3,6,7],action_cancel:1,action_fail:1,action_pend:1,action_print:1,action_readi:1,action_start:1,action_success:1,actionstatu:1,actiontre:[1,3,5,6,7],actual:3,add:1,add_depend:[0,1,3,5,7],adding:1,after:1,again:7,all:[1,3,5,7],allow:7,alreadi:1,also:1,ani:[1,6,7],anyth:1,anywai:1,append:7,arbitrari:[0,2],arbitrary_resourc:7,arbitrary_resource_gantt_chart:7,arg:1,argument:1,attach:1,attempt:6,avail:[0,1,7],axes:1,base:1,basic:5,becaus:1,becom:1,been:5,befor:[1,5],begin:1,being:1,below:7,between:0,blanklin:5,bool:1,bug:0,call:[0,1,5,7],calledprocesserror:1,callsubprocess:[0,1,3,5,7],can:[1,3,5,7],cancel:[1,3],cancel_tim:1,cannot:1,captur:6,cat:5,certain:1,chart:[0,1,2],check_cal:1,choos:1,chosen:1,code:0,command:1,common:[1,5],compil:5,compile_a:[5,7],compile_b:[5,7],compile_oth:7,compile_unexist:3,complet:1,compoundexcept:1,concat:5,concaten:5,concatfil:5,concurr:5,consid:[1,7],constructor:1,contain:1,contribut:0,control:7,copi:1,coping_depend:[],copyfil:1,core:[0,2,3],cpp:[0,3,5,8],cpu:[0,1,2,3,5],cpu_cor:[1,7],cpucoreresourc:1,creat:[0,1,5,7],createdirectori:[1,5],createfil:5,current:6,custom:1,cycl:1,data:6,datetim:1,def:5,defin:1,delet:1,deletedirectori:1,deletefil:1,depend:[0,1,2,7],dependency_status:[1,5],dependencycycleexcept:1,dependencygraph:[1,3],deriv:1,describ:1,destin:1,detail:3,devlpr:5,dict:1,dictionari:1,didn:1,digraph:1,direct:1,directori:[1,5,6],do_execut:[1,5],do_rais:[1,3],document:0,doe:1,doesn:1,done:[3,5],dote:3,draw:[0,1,2],dst:1,due:3,durat:1,each:[3,6],earlier:5,effect:[0,1,2],els:1,empti:1,end:1,ensur:1,environ:6,error:1,etc:1,even:1,everyth:[0,1],exampl:5,except:[0,1,2],execut:[0,1,3,5,6,7],execution_report:1,executionreport:[1,6],exist:1,expect:7,explain:3,extern:1,fail:[1,3],failed_link_gantt_chart:3,failed_link_report:3,failur:[1,3],failure_tim:1,fals:[1,3],figur:1,file:[1,5,7],filenam:1,filesystem:1,finish:[1,5],first:[1,5],flexibl:7,flush:1,format:5,fourth:5,free:7,from:[0,1,3,5,7],gantt:[0,1,2],ganttchart:[1,3,7],gener:5,get:1,get_action_statu:1,get_actions_and_status:1,get_graphviz_graph:1,get_mpl_figur:1,get_possible_execution_ord:[1,5],github:0,graph:[0,1,2,5],graphviz:1,grei:3,guaranti:5,guid:[0,3],handl:[1,6],has:[1,5],have:[1,5],here:7,hook:[0,1,2],horizont:3,how:[1,7],imag:1,includ:[1,5],index:0,individu:7,infinit:1,inform:[0,2],input:5,insert:1,insist:1,instal:0,instanc:[1,7],intermedi:1,introduct:[0,2],is_success:[0,1,3,5],isfil:0,issu:0,its:[0,1,5,6],just:[1,5,7],keep_go:[1,3],kei:1,kind:7,know:5,kwarg:1,kwd:1,label:[1,5],later:3,left:3,let:[1,5],librari:0,licens:0,like:[1,6],line:3,linear:1,link:[0,3,5],link_dependency_graph:3,link_gantt_chart:3,link_report:[3,5],link_with_oth:7,link_with_others_gantt_chart:7,list:1,look:5,mai:[1,5],main:[1,8],make:[1,6,7],make_build_dir:[3,5,7],makedir:1,makefil:8,manag:1,mani:[1,7],manipul:1,matplotlib:1,mechan:7,method:1,might:1,mit:0,modif:1,modifi:[1,6],modul:0,more:[0,1,2],must:1,mutex:1,name:[1,5],necessari:1,nest:1,never:[1,7],none:1,note:1,noth:1,nullact:[1,7],number:1,object:1,observ:7,one:[1,5],onli:1,open:[0,1,5],oper:5,option:3,order:[1,5],origin:1,other:[0,1,2,7],output:[0,1,2,5],own:[1,6],packag:0,page:0,parallel:[0,1,7],paramet:[1,7],part:3,pass:1,path:0,pending_tim:1,perform:1,pickl:1,picklabl:1,pip:0,place:5,placehold:1,plot:1,plot_on_mpl_ax:1,png:[1,3,7],possibl:[1,5],predefin:1,preview:[0,2],print:[0,1,2,5],process:[1,6],program:1,progress:1,protect:1,provid:1,pypi:0,python:[0,1],quantiti:[1,7],question:0,rais:1,rang:7,read:5,readi:[1,3],ready_tim:1,realli:5,reason:5,recurs:1,red:3,refer:0,remark:0,report:[0,1],repres:[1,3],represent:1,requir:1,require_resourc:[1,7],resourc:[0,1,2,3],resources_requir:1,respect:0,retriev:1,return_valu:1,right:3,rmtree:1,root:[0,5],run:[1,5,7],safe:6,sai:[1,5],said:5,same:[1,7],search:0,sec:1,second:[1,5],see:1,seen_act:1,self:[1,5],semaphor:[1,7],semaphore:1,set:1,sever:[1,5],ship:5,should:[6,7],shutil:1,side:[0,1,2],simpler:1,simplest:1,singl:[1,7],sleep:[1,7],some:[0,1,5,7],someth:1,somewher:1,sourc:[0,7],special:[1,5],specif:7,specifi:1,src:1,start:[1,5],start_tim:1,statu:1,status:1,stock:[0,2,7],stop:1,str:1,string:1,stuff:[1,5],subprocess:[1,5],succe:1,succeed:1,success:1,success_tim:1,successfulli:5,suitabl:1,sure:[1,5],system:[1,5],task:[1,5],tell:7,test:[0,5,7],text:1,than:[1,7],thei:[1,5],them:5,thi:[1,3,5],thicker:3,thin:3,third:5,those:0,three:5,thrown:1,thu:7,time:[0,1,2,3,7],todo:1,todoc:1,touch:1,touchfil:1,tupl:1,two:[5,7],type:1,typic:3,under:0,unexist:3,uniqu:1,unit:1,unlimit:1,unlink:1,use:[1,5],used:[1,7],user:[0,3],uses:7,using:[1,3,5],utim:1,valu:[0,1,2],variabl:6,verifi:0,visual:1,wait:3,want:[0,1,5,7],well:[0,1],went:0,were:[3,7],what:[1,5],whatev:1,when:1,where:1,which:[1,7],whose:1,why:5,wide:6,without:1,work:6,would:[1,5],write:[1,5],write_to_png:[1,3,7],wrote:5,you:[0,1,3,5,7],your:[1,5,7]},titles:["ActionTree","Reference","User guide","Drawings","Hooks","Introduction","Outputs and side-effects","Resources","Source files of examples","Timing information"],titleterms:{"return":6,action:[1,5],actiontre:0,arbitrari:7,chart:3,content:0,core:[1,7],cpu:7,depend:[3,5],draw:3,effect:6,exampl:8,except:6,file:8,gantt:3,graph:3,guid:2,hook:4,indic:0,inform:9,introduct:5,more:7,other:6,output:6,preview:5,print:6,quick:0,refer:1,resourc:7,side:6,sourc:8,start:0,stock:[1,5],tabl:0,time:9,user:2,valu:6}}) \ No newline at end of file +Search.setIndex({docnames:["index","reference","user_guide","user_guide/drawings","user_guide/hooks","user_guide/introduction","user_guide/outputs","user_guide/resources","user_guide/source_files","user_guide/timing"],envversion:52,filenames:["index.rst","reference.rst","user_guide.rst","user_guide/drawings.rst","user_guide/hooks.rst","user_guide/introduction.rst","user_guide/outputs.rst","user_guide/resources.rst","user_guide/source_files.rst","user_guide/timing.rst"],objects:{"":{ActionTree:[1,0,0,"-"]},"ActionTree.Action":{accept_failed_dependencies:[1,2,1,""],add_dependency:[1,3,1,""],dependencies:[1,2,1,""],get_possible_execution_order:[1,3,1,""],label:[1,2,1,""],require_resource:[1,3,1,""],resources_required:[1,2,1,""]},"ActionTree.CompoundException":{exceptions:[1,2,1,""],execution_report:[1,2,1,""]},"ActionTree.DependencyGraph":{get_graphviz_graph:[1,3,1,""],write_to_png:[1,3,1,""]},"ActionTree.ExecutionReport":{ActionStatus:[1,1,1,""],get_action_status:[1,3,1,""],get_actions_and_statuses:[1,3,1,""],is_success:[1,2,1,""]},"ActionTree.ExecutionReport.ActionStatus":{cancel_time:[1,2,1,""],exception:[1,2,1,""],failure_time:[1,2,1,""],output:[1,2,1,""],pending_time:[1,2,1,""],ready_time:[1,2,1,""],return_value:[1,2,1,""],start_time:[1,2,1,""],status:[1,2,1,""],success_time:[1,2,1,""]},"ActionTree.GanttChart":{get_mpl_figure:[1,3,1,""],plot_on_mpl_axes:[1,3,1,""],write_to_png:[1,3,1,""]},"ActionTree.Hooks":{action_canceled:[1,3,1,""],action_failed:[1,3,1,""],action_pending:[1,3,1,""],action_printed:[1,3,1,""],action_ready:[1,3,1,""],action_started:[1,3,1,""],action_successful:[1,3,1,""]},"ActionTree.stock":{CallSubprocess:[1,1,1,""],CalledProcessError:[1,5,1,""],CopyFile:[1,1,1,""],CreateDirectory:[1,1,1,""],DeleteDirectory:[1,1,1,""],DeleteFile:[1,1,1,""],NullAction:[1,1,1,""],Sleep:[1,1,1,""],TouchFile:[1,1,1,""]},ActionTree:{Action:[1,1,1,""],CANCELED:[1,4,1,""],CPU_CORE:[1,4,1,""],CompoundException:[1,5,1,""],DependencyCycleException:[1,5,1,""],DependencyGraph:[1,1,1,""],ExecutionReport:[1,1,1,""],FAILED:[1,4,1,""],GanttChart:[1,1,1,""],Hooks:[1,1,1,""],Resource:[1,1,1,""],SUCCESSFUL:[1,4,1,""],UNLIMITED:[1,4,1,""],execute:[1,6,1,""],stock:[1,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","data","Python data"],"5":["py","exception","Python exception"],"6":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:data","5":"py:exception","6":"py:function"},terms:{"case":1,"catch":1,"class":[1,5,7],"default":[1,7],"float":1,"function":[0,5],"import":[0,1,3,5,7],"int":[1,8],"long":0,"new":1,"return":[0,1,2,5],"super":5,"true":[0,1,3,5],"void":8,"while":7,And:[0,5],Axes:1,For:5,The:[1,3,5,7],Then:5,Useful:1,__file:5,__init__:5,__name:5,_build:[3,5,7,8],about:5,accept_failed_depend:1,action:[0,2,3,6,7],action_cancel:1,action_fail:1,action_pend:1,action_print:1,action_readi:1,action_start:1,action_success:1,actionstatu:1,actiontre:[1,3,5,6,7],actual:3,add:1,add_depend:[0,1,3,5,7],adding:1,after:1,again:7,all:[1,3,5,7],allow:7,alreadi:1,also:1,ani:[1,6,7],anyth:1,anywai:1,append:7,arbitrari:[0,2],arg:1,argument:1,attempt:6,avail:[0,1,7],axes:1,base:1,basic:5,becaus:1,becom:1,been:5,befor:[1,5],begin:1,being:1,below:7,between:0,blanklin:5,bool:1,bug:0,call:[0,1,5,7],calledprocesserror:1,callsubprocess:[0,1,3,5,7],can:[1,3,5,7],cancel:[1,3],cancel_tim:1,cannot:1,captur:6,cat:5,certain:1,chart:[0,1,2],check_cal:1,choos:1,chosen:1,code:0,command:1,common:[1,5],compil:5,compile_a:[5,7],compile_b:[5,7],compile_oth:7,compile_unexist:3,complet:1,compoundexcept:1,concat:5,concaten:5,concatfil:5,concurr:5,consid:[1,7],constructor:1,contain:1,contribut:0,control:7,copi:1,copyfil:1,core:[0,2,3],cpp:[0,3,5,8],cpu:[0,1,2,3,5],cpu_cor:[1,3,7],cpucoreresourc:1,creat:[0,1,5,7],createdirectori:[1,5],createfil:5,current:6,custom:1,cycl:1,data:6,datetim:1,def:5,defin:1,delet:1,deletedirectori:1,deletefil:1,depend:[0,1,2,7],dependency_status:[1,5],dependencycycleexcept:1,dependencygraph:[1,3],deriv:1,describ:1,destin:1,detail:3,devlpr:5,dict:1,dictionari:1,didn:1,digraph:1,direct:1,directori:[1,5,6],do_execut:[1,5],do_rais:[1,3],document:0,doe:1,doesn:1,done:[3,5],dote:3,draw:[0,1,2],dst:1,due:3,durat:1,each:[3,6],earlier:5,effect:[0,1,2],els:1,empti:1,end:1,ensur:1,environ:6,error:1,etc:1,even:1,everyth:[0,1],exampl:5,except:[0,1,2],execut:[0,1,3,5,6,7],execution_report:1,executionreport:[1,6],exist:1,expect:7,explain:3,extern:1,fail:[1,3],failed_link_gantt_chart:3,failed_link_report:3,failur:[1,3],failure_tim:1,fals:[1,3],figur:1,file:[1,5,7],filenam:1,filesystem:1,finish:[1,5],first:[1,5],flexibl:7,flush:1,format:5,fourth:5,free:7,from:[0,1,3,5,7],gantt:[0,1,2],ganttchart:[1,3,7],gener:5,get:1,get_action_statu:1,get_actions_and_status:1,get_graphviz_graph:1,get_mpl_figur:1,get_possible_execution_ord:[1,5],github:0,graph:[0,1,2,5],graphviz:1,grei:3,guaranti:5,guid:[0,3],handl:[1,6],has:[1,5],have:[1,5],here:7,hook:[0,1,2],horizont:3,how:[1,7],imag:1,includ:[1,5],index:0,individu:7,infinit:1,inform:[0,2],input:5,insert:1,instal:0,instanc:[1,7],intermedi:1,introduct:[0,2],is_success:[0,1,3,5],isfil:0,issu:0,its:[0,1,5,6],just:[1,5,7],keep_go:[1,3],kei:1,kind:7,know:5,kwarg:1,kwd:1,label:[1,3,5,7],later:3,left:3,let:[1,5],librari:0,licens:0,like:[1,6],limit:7,line:3,linear:1,link:[0,3,5],link_dependency_graph:3,link_gantt_chart:3,link_report:[3,5],link_with_oth:7,link_with_others_gantt_chart:7,list:1,look:5,mai:[1,5],main:[1,8],make:[1,6,7],make_build_dir:[3,5,7],makedir:1,makefil:8,manag:1,mani:[1,7],manipul:1,matplotlib:1,mechan:7,method:1,might:1,mit:0,modif:1,modifi:[1,6],modul:0,more:[0,1,2],must:1,mutex:1,name:[1,5],necessari:1,nest:1,never:[1,7],none:1,note:1,noth:1,nullact:[1,7],number:1,object:1,observ:7,one:[1,5],onli:1,open:[0,1,5],oper:5,option:3,order:[1,5],origin:1,other:[0,1,2,7],output:[0,1,2,5],own:[1,6],packag:0,page:0,parallel:[0,1,7],paramet:[1,7],part:3,pass:1,path:0,pending_tim:1,perform:1,pickl:1,picklabl:1,pip:0,place:5,placehold:1,plot:1,plot_on_mpl_ax:1,png:[1,3,7],possibl:[1,5],predefin:1,preview:[0,2],print:[0,1,2,5],process:[1,6],program:1,progress:1,protect:1,provid:1,pypi:0,python:[0,1],quantiti:[1,7],question:0,rais:1,rang:7,read:5,readi:[1,3],ready_tim:1,realli:5,reason:5,recurs:1,red:3,refer:0,remark:0,report:[0,1],repres:[1,3],represent:1,requir:1,require_resourc:[1,7],resourc:[0,1,2,3],resources_requir:1,respect:0,retriev:1,return_valu:1,right:3,rmtree:1,root:[0,5],run:[1,5,7],safe:6,sai:5,said:5,same:[1,7],search:0,sec:1,second:[1,5],see:1,seen_act:1,self:[1,5],semaphor:[1,7],semaphore:1,set:1,sever:[1,5],ship:5,should:[6,7],shutil:1,side:[0,1,2],simpler:1,simplest:1,singl:[1,7],sleep:[1,7],some:[0,1,5,7],someth:1,somewher:1,sourc:[0,7],special:[1,5],specif:7,specifi:1,src:1,start:[1,5],start_tim:1,statu:1,status:1,stock:[0,2,7],stop:1,str:1,string:1,stuff:[1,5],subprocess:[1,5],succeed:1,success:1,success_tim:1,successfulli:5,suitabl:1,sure:[1,5],system:[1,5],task:[1,5],tell:7,test:[0,5,7],text:1,than:[1,7],thei:[1,5],them:5,thi:[1,3,5],thicker:3,thin:3,third:5,those:0,three:5,thrown:1,thu:7,time:[0,1,2,3,7],todoc:1,touch:1,touchfil:1,tupl:1,two:[5,7],type:1,typic:3,under:0,unexist:3,uniqu:1,unit:1,unlimit:1,unlink:1,use:[1,5],used:[1,7],user:[0,3],uses:7,using:[1,3,5],utim:1,valu:[0,1,2],variabl:6,verifi:0,visual:1,wait:3,want:[0,1,5,7],well:[0,1],went:0,were:[3,7],what:[1,5],when:1,where:1,which:[1,7],whose:1,why:5,wide:6,with_resourc:7,with_resource_gantt_chart:7,without:1,work:6,would:[1,5],write:[1,5],write_to_png:[1,3,7],wrote:5,you:[0,1,3,5,7],your:[1,5,7]},titles:["ActionTree","Reference","User guide","Drawings","Hooks","Introduction","Outputs and side-effects","Resources","Source files of examples","Timing information"],titleterms:{"return":6,action:[1,5],actiontre:0,arbitrari:7,chart:3,content:0,core:[1,7],cpu:7,depend:[3,5],draw:3,effect:6,exampl:8,except:6,file:8,gantt:3,graph:3,guid:2,hook:4,indic:0,inform:9,introduct:5,more:7,other:6,output:6,preview:5,print:6,quick:0,refer:1,resourc:7,side:6,sourc:8,start:0,stock:[1,5],tabl:0,time:9,user:2,valu:6}}) \ No newline at end of file diff --git a/docs/user_guide/drawings.html b/docs/user_guide/drawings.html index acab23c..37a303e 100644 --- a/docs/user_guide/drawings.html +++ b/docs/user_guide/drawings.html @@ -66,12 +66,12 @@

Gantt chartResources and timing are explained in detail later in this user guide.

Actions are linked to their dependencies using thin doted lines.

Actions that failed are in red, and actions that were canceled due to a failure in their dependencies are in grey:

-
>>> compile_unexisting = CallSubprocess(["g++", "-c", "unexisting.cpp", "-o", "_build/unexisting.o"])
+
>>> compile_unexisting = CallSubprocess(["g++", "-c", "unexisting.cpp", "-o", "_build/unexisting.o"], label="g++ -c unexisting.cpp")
 >>> compile_unexisting.add_dependency(make_build_dir)
 >>> link.add_dependency(compile_unexisting)
 
-
>>> failed_link_report = execute(link, keep_going=True, do_raise=False)
+
>>> failed_link_report = execute(link, cpu_cores=1, keep_going=True, do_raise=False)
 >>> failed_link_report.is_success
 False
 >>> chart = GanttChart(failed_link_report)
diff --git a/docs/user_guide/introduction.html b/docs/user_guide/introduction.html
index f7f6c3e..3498a99 100644
--- a/docs/user_guide/introduction.html
+++ b/docs/user_guide/introduction.html
@@ -139,15 +139,15 @@ 

Stock actions
>>> make_build_dir = CreateDirectory("_build")
 

-
>>> compile_a = CallSubprocess(["g++", "-c", "a.cpp", "-o", "_build/a.o"])
+
>>> compile_a = CallSubprocess(["g++", "-c", "a.cpp", "-o", "_build/a.o"], label="g++ -c a.cpp")
 >>> compile_a.add_dependency(make_build_dir)
 
-
>>> compile_b = CallSubprocess(["g++", "-c", "b.cpp", "-o", "_build/b.o"])
+
>>> compile_b = CallSubprocess(["g++", "-c", "b.cpp", "-o", "_build/b.o"], label="g++ -c b.cpp")
 >>> compile_b.add_dependency(make_build_dir)
 
-
>>> link = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o"])
+
>>> link = CallSubprocess(["g++", "-o", "_build/test", "_build/a.o", "_build/b.o"], label="g++ -o test")
 >>> link.add_dependency(compile_a)
 >>> link.add_dependency(compile_b)
 
diff --git a/docs/user_guide/resources.html b/docs/user_guide/resources.html index 1a97469..b83318e 100644 --- a/docs/user_guide/resources.html +++ b/docs/user_guide/resources.html @@ -54,12 +54,12 @@

More CPU cores
>>> from ActionTree import CPU_CORE
 

-
>>> compile_others = CallSubprocess(["make", "-j", "4", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"])
+
>>> compile_others = CallSubprocess(["make", "-j", "4", "_build/c.o", "_build/d.o", "_build/e.o", "_build/f.o", "_build/g.o", "_build/h.o"], label="make -j 4")
 >>> compile_others.add_dependency(make_build_dir)
 >>> compile_others.require_resource(CPU_CORE, 4)
 
-