Otter is a package for Python which is designed to make outputting and managing the results of programs which may take a long time to run, orwhich may produce a very large quantity of results. It was designed for handling the output requirements of data analysis pipelines used in astrophysics, but it’s capable of handling a wide range of data outputs.
Otter is also highly customisable, and you can use the liquid
templating language to produce new output templates.
Otter can be used to produce reports containing a mixture of prose, data, and figures with minimal code.
This report was generated with just a small number of lines of Python:
import otter
import otter.bootstrap as bt
report = otter.Otter("index.html", author="Daniel Williams", title="Test Page", author_email= "daniel.williams@ligo.org")
with report:
report + "#Section Title"
report + "Lorem ipsum dolor sit amet..."
with report:
row = bt.Row(3)
import numpy as np
import matplotlib.pyplot as plt
with report:
f, ax = plt.subplots(1,1)
x = np.linspace(0,10, 100)
ax.plot(x, np.sin(x))
row[1] + f
row[0] + {"mass": "1kg", "price": "$1000", "area": 400}
report + row
with report:
report + "##Subsection Header"
report + "Fusce vel lectus ultricies,... "