Repository navigation
flograph 0.1.16
Install with pip install flograph==0.1.16.
A speed release. A busy flow — long formatted tables, charts, a report card,
a couple of dashboard pages — used to freeze the window for seconds after
every run, doing work for things nobody could see. That work now waits until
it is looked at, formatted tables are worked out only for the rows being
drawn, report charts draw in the background, and Stop stops at once.
Highlights
What nobody can see costs nothing
A card scrolled out of view, zoomed out to a flat box, or on a dashboard page
behind the one you are looking at now waits, and refreshes when it comes into
view. A report card re-renders only when something it shows has changed,
rather than after every run of anything. On a benchmark flow with 13
formatted 50,000-row tables, 8 charts, two dashboard pages and a report, a run
went from 26.7 s to 2.6 s, the longest freeze from 13.4 s to under half a
second, and opening the saved project from 5.6 s to 0.16 s. Set
FLOGRAPH_PERF=1 to have anything slow on the GUI thread named in the
terminal as it happens.
Long formatted tables are quick
Conditional formatting is worked out a thousand rows at a time, for the rows
being drawn, rather than for every row the moment a table arrives and again
after every sort. Anything a rule measures across a whole column is still
measured over the whole table, so row 40,000 is coloured exactly as before.
Building a formatted 50,000-row card went from about a second to a tenth of
one; with wrap, a sort from 370 ms to 40 ms.
Report charts draw in the background
A Plotly chart in a report used to be pictured while the whole app waited —
5 to 20 seconds for a big one. It now shows Drawing chart… and fills in
when it is ready. PDF and HTML export still wait for every picture. Long
report tables render much faster too.
Stop stops at once
The run ends the moment you press Stop, even when a node is inside one long
call such as a database read. A node that cannot be interrupted is left to
finish on its own, named on the status line, and what it returns is thrown
away.
The app says when it is busy
Opening a project, opening an example and exporting a report now show the
wait cursor and say what they are doing, and after any pause of more than a
second the status line says how long it was and why.
Go to reaches other canvas tabs
A Goto or From's right-click Go to… now switches to the canvas tab the
other end is on, reopening a box's tab if it had been closed, instead of
landing on empty canvas.
Everything else is in the
CHANGELOG.