Skip to main content

No project description provided

Project description

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

Authors

  • Jon Bristow
  • Zach Probst

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

nodestream_plugin_github-0.13.1b1.tar.gz (12.4 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.13.1b1-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file nodestream_plugin_github-0.13.1b1.tar.gz.

File metadata

File hashes

Hashes for nodestream_plugin_github-0.13.1b1.tar.gz
Algorithm Hash digest
SHA256 e8cfdbf9d67e9e9612f2bae5e67ed4f96b657f35f3f8025975880c2f6f4118b7
MD5 9d34e5bc60cb14f32575ee7c7e209fdb
BLAKE2b-256 c348d785e853873365e8e876edd3b8bab815be283e5eab4edbfd472e6912482e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nodestream_plugin_github-0.13.1b1.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.13.1b1-py3-none-any.whl.

File metadata

File hashes

Hashes for nodestream_plugin_github-0.13.1b1-py3-none-any.whl
Algorithm Hash digest
SHA256 230b59ca32ecb3eeace0dc94dbebf2718f5719d13499c96b93a6c939ddfb9446
MD5 d31a3b9b61630a6e7d457ccaa46a3d16
BLAKE2b-256 a1f4f532750d83b998930e3cbb15d6e76420c06f9fae43212e49186636d0f885

See more details on using hashes here.

Provenance

The following attestation bundles were made for nodestream_plugin_github-0.13.1b1-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.

Supported by

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