@staticmethod<EOL><INDENT>def acquire(graftm_package_path):<DEDENT>
contents_hash = json.load(<EOL>open(<EOL>os.path.join(<EOL>graftm_package_path,<EOL>GraftMPackage._CONTENTS_FILE_NAME<EOL>),<EOL>)<EOL>)<EOL>v=contents_hash[GraftMPackage.VERSION_KEY]<EOL>logging.debug("<STR_LIT>" % (v, graftm_package_path))<EOL>if v == <NUM_LIT:2>:<EOL><INDENT>pkg = GraftMPackageVersion2()<EOL><DEDENT>elif v == <NUM_LIT:3>:<EOL><INDENT>pkg = GraftMPackageVersion3()<EOL><DEDENT>else:<EOL><INDENT>raise InsufficientGraftMPackageException("<STR_LIT>" % v)<EOL><DEDENT>pkg._contents_hash = contents_hash<EOL>pkg._base_directory = graftm_package_path<EOL>pkg.check_universal_keys(v)<EOL>pkg.check_required_keys(GraftMPackage._REQUIRED_KEYS[str(v)])<EOL>return pkg<EOL>
Acquire a new graftm Package

        Parameters
        ----------
        graftm_output_path: str
            path to base directory of graftm