Skip to content

[Meta] Ways to Contribute #39

Description

@TimidRobot

Overview

⚠️ This meta-issue should not be worked on itself. Instead it is a place for me (@TimidRobot) to document ways to engage with this project.

First

Ways to Contribute

  • Pull Requests (PRs)
  • Issues
    • Create a new issue recommending a data source that should be included. Include information like:
      • quantity of records
      • types of metadata available
      • API documentation link
      • API requirements and limitations
      • Also see
    • Create a new issue related to a single script or data source:
      • Scripts should be using .env (theskumar/python-dotenv) and not query_secrets.py or similar
      • Scripts mustn't be monolithic--they should be limited to a single phase (ex. query, process, report. See [Feature] Automate Data Gathering and Analysis/Rendering #22)
      • Scripts must be designed to be run from the repository root via pipenv (ex. pipenv run PATH/SCRIPT.PY)
        • Script should determine its own path and set appropriate global variables (ex. DIR_ROOT, DIR_SCRIPT)
      • Scripts have a lot of duplication between them. Begin a shared library (remember to keep issues as small and descrete as possible--limit each issue/PR to a single script or data source).
      • Scripts should be using retries with exponential backoff (ex. [Feature] Use requests included exponential backoff #2)

Tips

Conventions and best practices

Plot process data

Any plots in phase 3-report should graph data without significantly modifying it. This means that development of phase 2-process and phase 3-report usually needs to be done at the same time.

Put another way, there should be a 1:1 relationship between phase 3-report plots and phase 2-process CSV files.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions