While looking over the documentation (and doing some test runs myself) for openjournals/joss-reviews#348, I high-level API/interface item struck me. Why does p.run() (or p() need to happen at all? All of the subsequent accessor methods or functions (e.g. p.plot(...) or p. pcorrelogram or the like) could "lazily" execute p.run() inside them...? That is, something like:
if not self._has_run:
self.run()
self._has_run = True
This would free the user from the seemingly unnecessary task of running run before doing anything they might actually want to get as an output.
While looking over the documentation (and doing some test runs myself) for openjournals/joss-reviews#348, I high-level API/interface item struck me. Why does
p.run()
(orp()
need to happen at all? All of the subsequent accessor methods or functions (e.g.p.plot(...)
orp. pcorrelogram
or the like) could "lazily" executep.run()
inside them...? That is, something like:This would free the user from the seemingly unnecessary task of running
run
before doing anything they might actually want to get as an output.