code: def build_package(team, username, package, subpath, yaml_path,
                    checks_path=None, dry_run=False, env='default'):
      
      def find(key, value):
          """
          find matching nodes recursively;
          only descend iterables that aren't strings
          """
          if isinstance(value, Iterable) and not isinstance(value, string_types):
              for k, v in iteritems(value):
                  if k == key:
                      yield v
                  elif isinstance(v, dict):
                      for result in find(key, v):
                          yield result
                  elif isinstance(v, list):
                      for item in v:
                          for result in find(key, item):
                              yield result
  
      build_data = load_yaml(yaml_path)
      # default to 'checks.yml' if build.yml contents: contains checks, but
      # there's no inlined checks: defined by build.yml
      if (checks_path is None and list(find('checks', build_data['contents'])) and
          'checks' not in build_data):
          checks_path = 'checks.yml'
          checks_contents = load_yaml(checks_path, optional=True)
      elif checks_path is not None:
          checks_contents = load_yaml(checks_path)
      else:
          checks_contents = None
      build_package_from_contents(team, username, package, subpath, os.path.dirname(yaml_path), build_data,
                                  checks_contents=checks_contents, dry_run=dry_run, env=env)
docs: Builds a package from a given Yaml file and installs it locally.
  
      Returns the name of the package.