Skip to main content

A generator of pipestat-based APIs

Project description

pipestat_reader - web API generator for pipeline results

Code style: black

Pipestat reader is a Python package that is an extension of pipestat.

Pipestat can be used to collect pipeline results and store them in either a YAML-formatted file or in a database. If the results are stored in the database, then pipestat reader can be used to automatically generate a web API to query these results.

Usage

  1. Create a pipestat.PipestatManager object
import pipestat

psm = pipestat.PipestatManager(config="/path/to/config.yaml")
  1. Pass the objects to the pipestat_reader.PipestatReader constructor
import pipestat_reader

psr = pipestat_reader.PipestatReader(pipestat_managers=[psm])
  1. Generate a GraphQL schema
graphql_schema = psr.generate_graphql_schema()
  1. Use the schema in your web application, for example in FastAPI:
from fastapi import FastAPI
from starlette.graphql import GraphQLApp

app = FastAPI(title="test app")
app.mount("/graphql", GraphQLApp(schema=graphql_schema, graphiql=True))
  1. Retrieve the results reported with pipestat

By POST queries

curl -X POST \
-H "Content-Type: application/json" \
-d '{"query": "{table_name{edges{node{column_name}}}}"}' \
http://0.0.0.0:8000/graphql/

Using the interactive GraphiQL interface at http://0.0.0.0:8000/graphql/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipestat_reader-0.0.3.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

pipestat_reader-0.0.3-py3-none-any.whl (4.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page