Skip to main content

HFOSS course materials via flask

Project description


.. image::

This repository is an experiment to use Flask, Mako, and Bootstrap to make a
website for the Humanitarian Free/Open Source Software Course at RIT. This
repository is a work in progress (as any FOSS project is), and will be open for

The content shown here is a compilation of course materials from 4 previous
professors, who've run the course 5 separate times. Those profs are:
- Stephen Jacobs
- Dave Shein (x2)
- Ralph Bean
- Justin Sherrill


Copyright 2013 Remy DeCausemaker

Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.

Setting up your environment

Before you can do anything with this (run the webserver locally, or any of the
scripts) you'll need to setup and activate a python `virtualenv
<>`_. Run the following at the command

On Linux/Mac OS X

If you don't have virtualenv installed yet, try::

$ sudo easy_install virtualenv virtualenvwrapper

If you're using a distro like Fedora or Ubuntu, you should try this instead::

$ sudo yum install python-virtualenv

$ sudo apt-get install python-virtualenv

Once you have virtualenv installed, you should be able to run::

$ cd code
$ git clone
$ virtualenv --no-site-packages -p python2 hflosskenv
$ . hflosskenv/bin/activate
$ cd hflossk
$ python develop

On Windows

At the windows command prompt::

$ virtualenv --no-site-packages -p python2 hflosskenv
$ hflosskenv/Scripts/activate.bat

In msysGit or git-bash::

$ git clone

Back in the windows command prompt::

$ cd hflossk
$ python develop

Running the Tests

All tests are run on python2.7 and python3.3 using tox. To run the tests::

$ virtualenv --no-site-packages -p python2 hflosskenv
$ pip install tox
$ tox

Tests check validity of all yaml, and the keys in any student yaml files. Tests
also checks that code conforms to PEP8.

Building the "Documentation"

The "documentation" for the course (the syllabus, all the homework assignments,
notes on the lectures) are all kept in this repository.

Files that end with the extension ``.rst`` are written in the `reStructuredText
<>`_ markup language.

Files that end with the extension ``.mak`` are written in the `Mako Templating
<>`_ language. The nice thing about .mak files is that
you can also just write plain html into the template, or you can mix python
with your html! It has been pointed out that though this is powerful, it can be
dangerous if you are not careful (or don't know what you are doing) ;)

You might notice that the syllabus, et. al. is hosted on Openshift is similar to other
Platform-as-a-service websites, such as heroku, or Google App Engine, that
allow you to host webapps. There is a free-tier that allows you to have 3
"gears," and we are using just 1 gear to host the course website. You can
quickstart many common webapps and frameworks on openshift, or just hack
together your own with the DIY cartridge. This is not something you will be
required to do, but is possible to pick up during the course.

To be careful, you should run the server locally (on your machine) to check
that whatever modifications you made to the files actually renders the way you want.

In order to do that, first make sure you have your virtualenv activated.

Being certain of that, in the root directory, simply run::

$ python

You should see a success message such as::

* Running on
* Restarting with reloader

Open that URL in your browser to view the site

Project details

Release history Release notifications

History Node


History Node

History Node


History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hflossk-0.5.6.tar.gz (2.0 MB) Copy SHA256 hash SHA256 Source None Aug 20, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page