# You may import any python packages that will be available in the environment you will run this database in
# Environments can change based on the experiment's settings
from beat.backend.python.database import View
{% for view in views %}
class {{ view }}(View):
    # build the data for your view
    # split the raw data into (homogenous) bits and return a keyed iterable
    # (something with `.keys()` available to it, like a dict)
    # the key names must be the same as the output names for sets that use this view
    #    root_folder: the path to the root folder of the database's files (not always applicable)
    #    parameters: parameters passed to the view, defined in the metadata
    def index(self, root_folder, parameters):
        pass

    # returns a value at a specific index in the iterable for this view
    #   output: the specific output value requested
    #   index: the current index of the iterable
    def get(self, output, index):
        # to get the current object referenced by the given index:
        #       obj = self.objs[index]
        # note that this object is a named tuple, with fields equivalent to your keys from
        # the objects returned from the index function
        pass
{% endfor %}
