def publish(self, brl_block, resource_info, version_tag=STABLE, dep_versions=None):
        try:
            block = self.store.read_block(brl_block)
            version = BlockVersion(brl_block, len(block.deltas) - 1)
        except NotInStoreException:
            version = BlockVersion(brl_block, -1)

        publish_request = PublishRequest(version)
        publish_request.tag = version_tag

        block_name = brl_block.block_name
        for cell_name, (blob, dependencies) in resource_info.iteritems():
            if dependencies is not None:
                cell = SimpleCell(block_name + cell_name)
                if isinstance(dependencies, DependencySet):
                    cell.dependencies = dependencies
                else:
                    cell.dependencies.explicit.update([BlockCellName(d) for d in dependencies])
                publish_request.cells.append(cell)
            if blob is not None:
                blob = Blob(blob) if isinstance(blob, str) else blob
                publish_request.contents[cell_name] = Content(id_=None, load=blob)

        if isinstance(dep_versions, BlockVersion):
            dep_versions = [dep_versions]
        publish_request.deptable = BlockVersionTable(dep_versions)
        self.service.publish(publish_request)
Initialize the service.
dataset/ETHPy150Open biicode/bii-server/test/publisher.py/TestPublisher.publish--crossover with--dataset/ETHPy150Open home-assistant/home-assistant/homeassistant/components/notify/smtp.py/MailNotificationService.__init__