EXPERIMENT MANAGER Version 0.1 Written by Susan Howlett, 2011. http://suzy.galineer.com/ This code is released under a Creative Commons Attribution-Noncommercial-Share Alike licence. Comments and suggestions welcome. -------------------------------------------------------------------------------- CONTENTS 1. Requirements 2. Installation 3. Configuration File 4. Resource Manager 5. Version Information -------------------------------------------------------------------------------- 1. REQUIREMENTS The experiment manager requires Python 3.2 or later. 2. INSTALLATION Create a directory to contain the experiment manager. Place all of the Python files in this directory. By default, the code looks for a configuration file called manager.cfg in the same directory, but this can be overridden by providing the path to the configuration file with the --config flag at run-time. Each executable Python file begins with #!/usr/bin/env python3 Change this line as necessary if it fails to pick out the correct interpreter. 3. CONFIGURATION FILE The format of the configuration file is that recognised by the Python configparser module using extended interpolation. (See http://docs.python.org/py3k/library/configparser.html.) Variables may be referred to by ${varname} if they appear in the same section, or ${sectionname:varname} if they appear in a different section. Path initial ~ or ~username is allowed. Required variables are described in the sections below with the programs to which they relate. 4. RESOURCE MANAGER The resource manager maintains a list of files along with their SHA-1 hashes, and allows retrieval of the file by its hash. Suitable files include large corpus text files and binary archives of corpus files or code. For each resource, the resource manager stores its bare filename, a short name which must be unique in the register, and the hash of the resource, which must also be unique in the register. To retrieve the resource, the manager looks in each directory of its search path in turn for a file with the same filename and hash. The resource manager stores its information in a binary register file. When saving the register file, the resource manager creates a backup copy, which is deleted once save is complete. However, it is recommended to keep the register file in version control to provide a backup in the event of the file becoming corrupted. Config file section: [resources] Required variables: register: Path to the register file search_path: Colon-separated list of directories to search for resources For further information and usage instructions, run ./resource_mgr.py -h or ./resource_mgr.py -h where is one of the allowed subcommands listed by the former command. 5. VERSION INFORMATION v0.1 Released February 2012 Contains the resource manager only.