Architecture¶
As-Is¶
These are how we think everything works in the current master
branch.
Front End¶
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/tmp/ipykernel_2711/4163281625.py in <module>
----> 1 get_ipython().run_line_magic('dot', 'dot/as-is/frontend.dot')
~/checkouts/readthedocs.org/user_builds/jupyterlab-lsp/conda/v3.10.0/lib/python3.10/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2362 kwargs['local_ns'] = self.get_local_scope(stack_depth)
2363 with self.builtin_trap:
-> 2364 result = fn(*args, **kwargs)
2365 return result
2366
/tmp/ipykernel_2711/4007786604.py in dot(line, cell)
8 @IPython.core.magic.register_line_cell_magic
9 def dot(line, cell=None):
---> 10 src = graphviz.Source(pathlib.Path(line).read_text() if line else cell)._repr_svg_()
11 src = re.sub(r"<svg (.*)viewBox", "<svg viewBox", src, flags=re.M | re.DOTALL)
12 return IPython.display.SVG(data=src)
AttributeError: 'Source' object has no attribute '_repr_svg_'
Positioning system¶
Back End¶
Proposals¶
Some fragments of how the architecture could change in the future, and why (or why not) they might be a good idea.