lesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipelinelesson 5 of 5 · mission: api-to-dataset pipelinemission: api-to-dataset pipeline
Write summarize(kept, rejected, pages) — the run report every pipeline should end with. Return a dict with kept, rejected, pages, and reject_rate (rejected over total rows, rounded to 2 places). Print it.