Additional GoalsΒΆ

  • Python 3.x: Since the Blink api uses Python3.x, this will be an opportunity to use newer versions of Python.

  • Generators: The Blink patterns can easily be produced using generators e.g. the pulse pattern generator:

    def pulse_rgb(rgb, loop_time, frequency=1, decay_time=None):
        """ Pulse the RGB channels.
    
        :param rgb: The target RGB e.g. (255, 0, 0)
        :param loop_time: The time between each loop call e.g. 0.1s
        :param frequency: The frequency of the pulse (default 1Hz)
        :param decay_time: The amplitude decay time (s)
    
        :return: A generator.
        """
    
        for count in itertools.count():
            time = count * loop_time
            current = [_cosine(channel, frequency, time, decay_time)
                       for channel in rgb]
            yield tuple(current)
    
  • Sphinx: Document the project using this popular tool (http://sphinx-doc.org/).

  • Github Pages: Host custom project documentation on github (https://pages.github.com/).

  • Travis CI: Build and test using cloud-based CI server (https://travis-ci.org/).

  • Coveralls: Generate test coverage using this cloud-based service (https://coveralls.io/).