def __init__(self, package, version):
        """Construct a new requirement.

        :param package: the package name.
        :param version: a semver compatible version specification.
        """
        self.package = package
        self.version = version
        if self.version and not re.match(r"[<=>~]", version[:2]):
            self.version = "=={}".format(self.version)
def _getProvenanceAfterMetadata(self, item, meta, user):
        resp = self.request(path='/item/%s/metadata' % item['_id'],
                            method='PUT', user=user, body=json.dumps(meta),
                            type='application/json')
        self.assertStatusOk(resp)
        return self._getProvenance(item, user)