Skip to main content

nodestream-plugin-github

Overview

This plugin provides a way to scrape GitHub data from the REST api and ingest them as extractors in nodestream pipelines.

Setup Neo4j

  1. Download and install Neo4j: https://neo4j.com/docs/desktop-manual/current/installation/download-installation/
  2. Create and start database (version 5.7.0: https://neo4j.com/docs/desktop-manual/current/operations/create-dbms/
  3. Install APOC: https://neo4j.com/docs/apoc/5/installation/

Create GitHub credentials

  1. Create and GitHub access codes: https://docs.github.com/en/enterprise-server@3.12/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app NOTE: These values will be used in your .env

Install and run the app

  1. Install python3: https://www.python.org/downloads/
  2. Install poetry: https://python-poetry.org/docs/#installation
  3. Install nodestream: https://nodestream-proj.github.io/nodestream/0.5/docs/tutorial/
  4. Generate a new nodestream project
  5. Add nodestream-github to your project dependencies in your nodestream projects pyproject.toml file.
  6. Install necessary dependencies: poetry install
  7. In nodestream.yaml add the following:
plugins:
  - name: github
    config:
      github_hostname: github.example.com
      auth_token: !env GITHUB_ACCESS_TOKEN
      user_agent: skip-jbristow-test
      per_page: 100
      collecting:
        all_public: True
      rate_limit_per_minute: 225
    targets:
      - my-db:
    pipelines:
      - name: github_repos
      - name: github_teams
targets:
  database: neo4j
  uri: bolt://localhost:7687
  username: neo4j
  password: neo4j123
  1. Set environment variables in your terminal session for: GITHUB_ACCESS_TOKEN.
  2. Verify nodestream has loaded the pipelines: poetry run nodestream show
  3. Use nodestream to run the pipelines: poetry run nodestream run <pipeline-name> --target my-db

Using make

  1. Install make (ie. brew install make)
  2. Run make run

Contributing

When contributing, make sure to sign your commits. To find out more about how to do this, refer to this GitHub documentation.

Authors

  • Jon Bristow
  • Zach Probst
  • Rohith Reddy

Download files

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

Source Distribution

nodestream_plugin_github-0.16.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nodestream_plugin_github-0.16.1-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file nodestream_plugin_github-0.16.1.tar.gz.

File metadata

File hashes

Hashes for nodestream_plugin_github-0.16.1.tar.gz
Algorithm Hash digest
SHA256 2422372093d09a204095fbf1d89a69bcb0bd9e152e7e203de6be53daf37c59f8
MD5 8249c9c31fe073cc1c0492cd51bc15bf
BLAKE2b-256 2dc7a3b2203f0ac721db3eee11e96f31a93422d7f7d9eb9c6524f0bd147d85d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for nodestream_plugin_github-0.16.1.tar.gz:

Publisher: release.yaml on nodestream-proj/nodestream-plugin-github

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nodestream_plugin_github-0.16.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nodestream_plugin_github-0.16.1-py3-none-any.whl
Algorithm Hash digest
SHA256 53938834feefda6f0804951a6ebe52b24d534b53c9997574e09d7d8f0757d8f3
MD5 43f6a127b243df0f1230dc394252c22e
BLAKE2b-256 28f8df9b6a48b4a0f9ac1f93587d3633eba827e3735f324d6503f22c59588899

See more details on using hashes here.

Provenance

The following attestation bundles were made for nodestream_plugin_github-0.16.1-py3-none-any.whl:

Publisher: release.yaml on nodestream-proj/nodestream-plugin-github

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page