def set_artifact_metadata(self, remote_artifact, metadata):
        """
        check args
        """
        if not isinstance(metadata, dict):
            raise RepositoryClientError('Metadata has to be a dictionary')

        artifact_id = 'urn:maven/artifact#{coordinates}'.format(coordinates=remote_artifact.get_coordinates_string())
        logger.debug('artifact_id: %s', artifact_id)
        artifact_id_encoded = base64.b64encode(artifact_id)

        metadata_raw = []

        for key, value in metadata.iteritems():
            metadata_raw.append({"key": key, "value": value})

        return self._send_json('service/local/index/custom_metadata/{repo_id}/{artifact_id_encoded}'.format(
                               repo_id=remote_artifact.repo_id, artifact_id_encoded=artifact_id_encoded), method='POST',
                               json_data={"data": metadata_raw})
Sets artifact metadata.
dataset/ETHPy150Open stardust85/repositorytools/repositorytools/lib/repository.py/NexusProRepositoryClient.set_artifact_metadata