Git Product home page Git Product logo

github-graphql-client's Introduction

github-graphql-client

Simple GitHub GraphQL Client setup as an ETL pipeline to extract data from GitHub and load it into CSV files. This project resulted in a generic GraphQL library for Node with zero dependencies. You can find more about this library here

Getting started

This project is built completely on native Node modules therefore, doesn't require any installation step. It does depend on Node 8 or greater.

Project setup

This project uses Node streams as an ETL pipeline and as such is setup with a library of readable, transforms and writable streams.

  • /readables - contains the GitHub client library to make GraphQL requests
  • /transform - library of filters and transforms
  • /writables - library to write to std out and any other output not supported by node

The entry point for the application is client.js that process the command line parameters.

Using the project

The following is a couple of examples of how to use the project. The project requires a personal access token from GitHub which can be created at github.com/settings/tokens

Loading stargazers

The following command will load all the stargazers from a given owner and repo into a csv file named stargazers.csv

USER=... TOKEN=... node client.js stargazers hapijs hapi

Searching repos

Find all repos for a specific language and output to standard out

USER=... TOKEN=... node client.js searchReposByLang

github-graphql-client's People

Contributors

nnance avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.