async def METHOD_NAME(request: web.Request) -> web.Response:
    """
    Args:
        request: '{ "package"   :   "numpy",
                    "version"   :   "1.2"   #optional
                  }'
    Returns:
        Json response with message key  
    :Example:
           curl -X POST http://localhost:8081/fledge/python/package -d '{"package":"numpy", "version":"1.23"}'
    """
    data = await request.json()
    input_package_name = data.get('package', "").strip()
    input_package_version = data.get('version', "").strip()
    if len(input_package_name) == 0:
        return web.HTTPBadRequest(reason="Package name empty.")
    def get_installed_package_info(input_package):
        packages = pkg_resources.WorkingSet()
        for package in packages:
            if package.project_name.lower() == input_package.lower():
                return package.project_name, package.version
        return None, None
    install_args = input_package_name
    if input_package_version:
        install_args = input_package_name + "==" + input_package_version
    installed_package, installed_version = get_installed_package_info(input_package_name)
    if installed_package:
        # Package already exists
        _LOGGER.warning("Package: {} Version: {} already installed.".format(installed_package, installed_version))
        return web.HTTPConflict(reason="Package already installed.", 
                                body=json.dumps({"message": "Package {} version {} already installed."
                                                .format(installed_package, installed_version)}))
    # Package not found, install package via pip
    pip_process = await asyncio.create_subprocess_shell('python3 -m pip install ' + install_args,
                                                        stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE)
    stdout, stderr = await pip_process.communicate()
    if pip_process.returncode == 0:
        _LOGGER.info("Package: {} successfully installed.", format(input_package_name))
        try:
            # Audit log entry: PIPIN
            storage_client = connect.get_storage_async()
            pip_audit_log = AuditLogger(storage_client)
            audit_message = {"package": input_package_name, "status": "Success"}
            if input_package_version:
                audit_message["version"] = input_package_version
            await pip_audit_log.information('PIPIN', audit_message)
        except:
            _LOGGER.error("Failed to log the audit entry for PIPIN, for package {} install", format(
                input_package_name))
        response = "Package {} version {} installed successfully.".format(input_package_name, input_package_version)
        if not input_package_version:
            response = "Package {} installed successfully.".format(input_package_name)        
        return web.json_response({"message": response})
    else:
        response = "Error while installing package {} version {}.".format(input_package_name, input_package_version)
        if not input_package_version:
            response = "Error while installing package {}.".format(input_package_name)        
        _LOGGER.error(response)
        return web.HTTPNotFound(reason=response, body=json.dumps({"message": stderr.decode(encoding='utf-8')}))