code: def build_definitions(dpath="sqlalchemy_models/_definitions.json"):
      
      command.run(AlsoChildrenWalker, module=todo, outdir="sqlalchemy_models", definition_name="_definitions.json",
                  relation_decision=RelationDesicion())
      pass  # skip due to unpatched issue in alchemyjsonschema run()
      definitions = ""
      for line in open(dpath, 'r'):
          definitions += line
      definitions = json.loads(definitions)
      newdef = open(dpath.replace("_def", "def"), 'w+')
      for name in definitions['definitions']:
          for mod in [um, em, wm, bm]:
              if hasattr(mod, name):
                  model = getattr(mod, name)
                  for attr in definitions['definitions'][name]['properties']:
                      if hasattr(getattr(model, attr).property, 'columns') and \
                              isinstance(getattr(model, attr).property.columns[0].type, LedgerAmount):
                          definitions['definitions'][name]['properties'][attr]['type'] = "number"
      newdef.write(json.dumps(definitions, indent=2))
      newdef.close()
docs: Nasty hacky method of ensuring LedgerAmounts are rendered as floats in json schemas, instead of integers.
  
      :param str dpath: The path of the definitions file to create as part of the build process.