Why Optional? Assuming this is to take into account packages initialized without a URI, what if we just generated a data URI for those? Data URIs could always be valid since they contain their content.
Originally posted by @pipermerriam in https://github.com/ethpm/py-ethpm/pull/153/files