Actor-based Toolkit for Interactive Language Education in Python
Python Shell
Pull request Compare This branch is 1 commit ahead, 1189 commits behind ASPP:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Autonomous agent environment for Python summerschool.

Coding conventions

  • Docstrings should follow the Numpy convention
  • Use old-style print statement (not the function)
  • For internal messages, use the logging module with an appropriate logging level, which makes their appearance completely configurable.
  • Use old-style format-string, i.e. "%s" % (val)) instead of "{0}".format(val)


Layout and Branch Model

We use the gitflow model with the following settings:

  • Branch name for production releases: [master]
  • Branch name for "next release" development: [develop]
  • How to name your supporting branch prefixes?
  • Feature branches? [feature/]
  • Release branches? [release/]
  • Hotfix branches? [hotfix/]
  • Support branches? [support/]
  • Version tag prefix? [v]

Only feature/ branches are subject to rebase/rewind. All others should remain stable

Commit Markers

Commits should be marked. Declare both functionality and area.

Functionality Markers

  • BF : bug fix
  • RF : refactoring
  • NF : new feature
  • ENH : enhancement of an existing feature/facility
  • BW : addresses backward-compatibility
  • OPT : optimization
  • BK : breaks something and/or tests fail
  • FO : code formatting (adding spaces etc.)
  • PL : making pylint happier

Code Area Markers

  • DOC : documentation
  • UT : unit tests
  • BLD : build-system,
  • GIT : repository mods, e.g. .gitconfig .gitattributes


  • DOC/ENH: add initial


We use a combination of Sphinx and github-pages to host the project website:

This means the sphinx generated content is keept in a separate branch in the source code repository gh-pages. This branch has its own root commit and is hence disconnected from the commits that track the project code and also the documentation source code.

To regenerate the project website (automatic):

Use the script. This will automatically make the commit of the latest version of the documentation on the gh-pages branch. After checking that everything is in order you still need to push that branch. Although the script tries very hard to not delete untracked files, you should be aware that any untracked files in the doc subdirectory will be automatically deleted without warning!

To regenerate the project website (manual):

Move to the doc directory:

$ cd doc

Edit the documentation:

$ vim source/<file>.rst

Generate html

$ make html

Switch to the documentation branch:

$ git checkout gh-pages

Move back up to the root directory:

$ cd ..

Copy the generate documentation here:

$ cp -r doc/build/html/* .

Add all tracked files that have been changed:

$ git add -u

Add possibly new files:

$ git add <new pages>.html

Make a commit message where XXXXXXX is the SHA-1 prefix of the commit the documentation was # generated from:

$ git commit -m "sphinx generated doc from XXXXXXX"