diff --git a/settings.py b/settings.py
new file mode 100755
index 0000000..adee094
--- /dev/null
+++ b/settings.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python
+
+import os
+import yaml
+from mako.template import Template
+import argparse
+
+def main():
+    parser = argparse.ArgumentParser(
+        description="Settings YAML parser and code generator")
+
+    parser.add_argument(
+        '-i', '--settings_yaml', dest='settings_yaml',
+        default='settings_example.yaml', help='settings yaml file to parse')
+    args = parser.parse_args()
+
+    with open(os.path.join(script_dir, args.settings_yaml), 'r') as fd:
+        yamlDict = yaml.safe_load(fd)
+
+        # Render the mako template
+        template = os.path.join(script_dir, 'settings_manager.mako.hpp')
+        t = Template(filename=template)
+        with open('settings_manager.hpp', 'w') as fd:
+            fd.write(
+                t.render(
+                    settingsDict=yamlDict))
+
+
+if __name__ == '__main__':
+    script_dir = os.path.dirname(os.path.realpath(__file__))
+    main()
