{
  "_id": "6a1ad8531d7bb097a09e69b1",
  "Package": "projmgr",
  "Title": "Task Tracking and Project Management with GitHub",
  "Version": "0.1.2",
  "Authors@R": "person(given = \"Emily\",\nfamily = \"Riederer\",\nrole = c(\"cre\", \"aut\"),\nemail = \"emilyriederer@gmail.com\")",
  "Description": "Provides programmatic access to 'GitHub' API with a focus\non project management.  Key functionality includes setting up\nissues and milestones from R objects or 'YAML' configurations,\nquerying outstanding or completed tasks, and generating\nprogress updates in tables, charts, and RMarkdown reports.\nUseful for those using 'GitHub' in personal, professional, or\nacademic settings with an emphasis on streamlining the workflow\nof data analysis projects.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/emilyriederer/projmgr,\nhttps://emilyriederer.github.io/projmgr/",
  "BugReports": "https://github.com/emilyriederer/projmgr/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "RoxygenNote": "7.1.2",
  "Roxygen": "list(markdown = TRUE)",
  "Config/pak/sysreqs": "git libssl-dev",
  "Repository": "https://emilyriederer.r-universe.dev",
  "Date/Publication": "2025-11-29 21:47:45 UTC",
  "RemoteUrl": "https://github.com/emilyriederer/projmgr",
  "RemoteRef": "HEAD",
  "RemoteSha": "049fa34f2546ee452ef4006188d6eb8c464c6151",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-30 09:10:22 UTC",
    "User": "root"
  },
  "Author": "Emily Riederer [cre, aut]",
  "Maintainer": "Emily Riederer <emilyriederer@gmail.com>",
  "MD5sum": "46aa531b81f46e8d1025ff359dbeb05f",
  "_user": "emilyriederer",
  "_type": "src",
  "_file": "projmgr_0.1.2.tar.gz",
  "_fileid": "ab899df303c678027d2727a32e233e46eaa3b6afc4c1d00e26fdc6022e6d22e9",
  "_filesize": 270336,
  "_sha256": "ab899df303c678027d2727a32e233e46eaa3b6afc4c1d00e26fdc6022e6d22e9",
  "_created": "2026-05-30T09:10:22.000Z",
  "_published": "2026-05-30T12:30:11.617Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78638772318,
      "time": 133,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7307090955"
    },
    {
      "job": 78638772323,
      "time": 160,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7307099647"
    },
    {
      "job": 78638772326,
      "time": 168,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7308162355"
    },
    {
      "job": 78638772332,
      "time": 143,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7308172613"
    },
    {
      "job": 78638599358,
      "time": 206,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7307077360"
    },
    {
      "job": 78638772322,
      "time": 120,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7307090821"
    },
    {
      "job": 78638772339,
      "time": 85,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7307091575"
    },
    {
      "job": 78638772338,
      "time": 92,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7307092339"
    },
    {
      "job": 78638772325,
      "time": 80,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7307091129"
    }
  ],
  "_buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/emilyriederer/projmgr",
  "_commit": {
    "id": "049fa34f2546ee452ef4006188d6eb8c464c6151",
    "author": "Emily Riederer <emilyriederer@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #55 from emilyriederer/testthat-patch\n\nUpdate test suite per upstream `testthat` changes. Closes #53",
    "time": 1764452865
  },
  "_maintainer": {
    "name": "Emily Riederer",
    "email": "emilyriederer@gmail.com",
    "login": "emilyriederer",
    "bluesky": "@emilyriederer.bsky.social",
    "linkedin": "in/emilyriederer",
    "twitter": "@emilyriederer",
    "description": "",
    "uuid": 19798371
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.1.2",
      "role": "Depends"
    },
    {
      "package": "gh",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "clipr",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "purrr",
      "role": "Suggests"
    },
    {
      "package": "reprex",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "yaml",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    }
  ],
  "_owner": "emilyriederer",
  "_selfowned": true,
  "_usedby": 6,
  "_updates": [
    {
      "week": "2025-48",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "github-api",
    "project-management"
  ],
  "_stars": 126,
  "_contributors": [
    {
      "user": "emilyriederer",
      "count": 396,
      "uuid": 19798371
    },
    {
      "user": "andrie",
      "count": 9,
      "uuid": 479998
    },
    {
      "user": "olivroy",
      "count": 1,
      "uuid": 52606734
    }
  ],
  "_userbio": {
    "uuid": 19798371,
    "type": "user",
    "name": "Emily Riederer"
  },
  "_downloads": {
    "count": 1641,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/projmgr"
  },
  "_devurl": "https://github.com/emilyriederer/projmgr",
  "_pkgdown": "https://emilyriederer.github.io/projmgr/",
  "_searchresults": 33,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/projmgr.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/emilyriederer/projmgr",
  "_realowner": "emilyriederer",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2019-08-05"
    },
    {
      "version": "0.1.1",
      "date": "2024-01-24"
    },
    {
      "version": "0.1.2",
      "date": "2025-11-30"
    }
  ],
  "_exports": [
    "%>%",
    "browse_docs",
    "browse_issues",
    "browse_milestones",
    "browse_repo",
    "check_credentials",
    "check_internet",
    "check_rate_limit",
    "create_repo_ref",
    "get_issue_comments",
    "get_issue_events",
    "get_issues",
    "get_milestones",
    "get_repo_labels",
    "has_n_commits",
    "help_get_issue_comments",
    "help_get_issue_events",
    "help_get_issues",
    "help_get_milestones",
    "help_get_repo_label",
    "help_post_issue",
    "help_post_issue_update",
    "help_post_milestone",
    "is_assigned",
    "is_assigned_to",
    "is_created_before",
    "is_due",
    "is_due_before",
    "is_in_a_milestone",
    "is_in_milestone",
    "is_labeled",
    "is_labeled_with",
    "is_part_closed",
    "listcol_extract",
    "listcol_filter",
    "listcol_pivot",
    "parse_issue_comments",
    "parse_issue_events",
    "parse_issues",
    "parse_milestones",
    "parse_repo_labels",
    "post_issue",
    "post_issue_update",
    "post_milestone",
    "post_plan",
    "post_todo",
    "read_plan",
    "read_todo",
    "report_discussion",
    "report_plan",
    "report_progress",
    "report_taskboard",
    "report_todo",
    "template_yaml",
    "viz_gantt",
    "viz_taskboard",
    "viz_waterfall"
  ],
  "_help": [
    {
      "page": "browse_docs",
      "title": "View GitHub API documentation",
      "topics": [
        "browse_docs"
      ]
    },
    {
      "page": "browse_issues",
      "title": "Browse issues for given GitHub repo",
      "topics": [
        "browse_issues"
      ]
    },
    {
      "page": "browse_milestones",
      "title": "Browse milestones for given GitHub repo",
      "topics": [
        "browse_milestones"
      ]
    },
    {
      "page": "browse_repo",
      "title": "Browse a given GitHub repo",
      "topics": [
        "browse_repo"
      ]
    },
    {
      "page": "check_credentials",
      "title": "Check for valid credentials and repo permissions",
      "topics": [
        "check_credentials"
      ]
    },
    {
      "page": "check_internet",
      "title": "Check internet connection (re-export of curl::has_internet())",
      "concept": [
        "check"
      ],
      "topics": [
        "check_internet"
      ]
    },
    {
      "page": "check_rate_limit",
      "title": "Find requests remaining and reset time",
      "concept": [
        "check"
      ],
      "topics": [
        "check_rate_limit"
      ]
    },
    {
      "page": "create_repo_ref",
      "title": "Create reference to a GitHub repository",
      "topics": [
        "create_repo_ref"
      ]
    },
    {
      "page": "get_issue_comments",
      "title": "Get comments for a specific issue from GitHub repository",
      "concept": [
        "comments",
        "issues"
      ],
      "topics": [
        "get_issue_comments"
      ]
    },
    {
      "page": "get_issue_events",
      "title": "Get events for a specific issue from GitHub repository",
      "concept": [
        "events",
        "issues"
      ],
      "topics": [
        "get_issue_events"
      ]
    },
    {
      "page": "get_issues",
      "title": "Get issues from GitHub repository",
      "concept": [
        "issues"
      ],
      "topics": [
        "get_issues"
      ]
    },
    {
      "page": "get_milestones",
      "title": "Get milestones from GitHub repository",
      "concept": [
        "milestones"
      ],
      "topics": [
        "get_milestones"
      ]
    },
    {
      "page": "get_repo_labels",
      "title": "Get all labels for a repository",
      "concept": [
        "labels"
      ],
      "topics": [
        "get_repo_labels"
      ]
    },
    {
      "page": "help",
      "title": "Learn about optional fields for related get_ functions",
      "topics": [
        "help",
        "help_get_issues",
        "help_get_issue_comments",
        "help_get_issue_events",
        "help_get_milestones",
        "help_get_repo_label",
        "help_post_issue",
        "help_post_issue_update",
        "help_post_milestone"
      ]
    },
    {
      "page": "listcol_extract",
      "title": "Extract new dataframe column from list-column matching pattern",
      "topics": [
        "listcol_extract"
      ]
    },
    {
      "page": "listcol_filter",
      "title": "Filter dataframe by list-column elements",
      "topics": [
        "listcol_filter"
      ]
    },
    {
      "page": "listcol_pivot",
      "title": "Pivot list-column elements to indicator variables",
      "topics": [
        "listcol_pivot"
      ]
    },
    {
      "page": "parse_issue_comments",
      "title": "Parse issue comments from 'get_issues_comments'",
      "concept": [
        "comments",
        "issues"
      ],
      "topics": [
        "parse_issue_comments"
      ]
    },
    {
      "page": "parse_issue_events",
      "title": "Parse issue events from 'get_issues_events'",
      "concept": [
        "events",
        "issues"
      ],
      "topics": [
        "parse_issue_events"
      ]
    },
    {
      "page": "parse_issues",
      "title": "Parse issues overview from 'get_issues'",
      "concept": [
        "issues"
      ],
      "topics": [
        "parse_issues"
      ]
    },
    {
      "page": "parse_milestones",
      "title": "Parse milestones from 'get_milestones'",
      "concept": [
        "milestones"
      ],
      "topics": [
        "parse_milestones"
      ]
    },
    {
      "page": "parse_repo_labels",
      "title": "Parse labels from 'get_repo_labels'",
      "concept": [
        "labels"
      ],
      "topics": [
        "parse_repo_labels"
      ]
    },
    {
      "page": "post_issue",
      "title": "Post issue to GitHub repository",
      "concept": [
        "issues"
      ],
      "topics": [
        "post_issue"
      ]
    },
    {
      "page": "post_issue_update",
      "title": "Post updates to existing issue in GitHub repository",
      "concept": [
        "issues"
      ],
      "topics": [
        "post_issue_update"
      ]
    },
    {
      "page": "post_milestone",
      "title": "Post milestone to GitHub repository",
      "concept": [
        "milestones"
      ],
      "topics": [
        "post_milestone"
      ]
    },
    {
      "page": "post_plan",
      "title": "Post plan (milestones + issues) to GitHub repository",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "post_plan"
      ]
    },
    {
      "page": "post_todo",
      "title": "Post to-do list (issues) to GitHub repository",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "post_todo"
      ]
    },
    {
      "page": "read_plan",
      "title": "Read plan from YAML",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "read_plan"
      ]
    },
    {
      "page": "read_todo",
      "title": "Read to-do list from YAML",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "read_todo"
      ]
    },
    {
      "page": "report_discussion",
      "title": "Print issue comments in RMarkdown friendly way",
      "concept": [
        "comments",
        "issues"
      ],
      "topics": [
        "report_discussion"
      ]
    },
    {
      "page": "report_plan",
      "title": "Print plan in RMarkdown friendly way",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "report_plan"
      ]
    },
    {
      "page": "report_progress",
      "title": "Print issue-milestone progress in RMarkdown friendly way",
      "concept": [
        "issues"
      ],
      "topics": [
        "report_progress"
      ]
    },
    {
      "page": "report_taskboard",
      "title": "Report HTML-based task board of item status",
      "topics": [
        "report_taskboard"
      ]
    },
    {
      "page": "report_todo",
      "title": "Print to-do lists in RMarkdown friendly way",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "report_todo"
      ]
    },
    {
      "page": "taskboard_helpers",
      "title": "Tag \"in-progress\" items for taskboard visualization",
      "topics": [
        "has_n_commits",
        "is_assigned",
        "is_assigned_to",
        "is_created_before",
        "is_due",
        "is_due_before",
        "is_in_a_milestone",
        "is_in_milestone",
        "is_labeled",
        "is_labeled_with",
        "is_part_closed",
        "taskboard_helpers"
      ]
    },
    {
      "page": "template_yaml",
      "title": "Print YAML template to console",
      "concept": [
        "plans and todos"
      ],
      "topics": [
        "template_yaml"
      ]
    },
    {
      "page": "viz_gantt",
      "title": "Visualize Gantt-style chart of planned or actual time to completion",
      "topics": [
        "viz_gantt"
      ]
    },
    {
      "page": "viz_taskboard",
      "title": "Visualize Agile-style task board of item status",
      "topics": [
        "viz_taskboard"
      ]
    },
    {
      "page": "viz_waterfall",
      "title": "Visualize waterfall of opened, closed, and pending items over timeframe",
      "concept": [
        "issues"
      ],
      "topics": [
        "viz_waterfall"
      ]
    }
  ],
  "_pkglogo": "https://github.com/emilyriederer/projmgr/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/emilyriederer/projmgr/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "cli",
    "curl",
    "gitcreds",
    "glue",
    "httr2",
    "ini",
    "jsonlite",
    "lifecycle",
    "magrittr",
    "openssl",
    "R6",
    "rappdirs",
    "rlang",
    "sys",
    "vctrs",
    "withr"
  ],
  "_score": 7.0892655711518495,
  "_indexed": true,
  "_nocasepkg": "projmgr",
  "_universes": [
    "emilyriederer"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-30T09:12:50.000Z",
      "distro": "noble",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "83d97d0eaa5b85f83e61ff00b20ab227f7f5508db561cac4133a583617a9363b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-30T09:14:24.000Z",
      "distro": "noble",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "4426d9ba38878785f29d79dcfdcbd296418ac512d82046dc2dcb55ed19dd2ab1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-30T12:27:36.000Z",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "b45c1785e646c5682beefa942b11d5e0aea894392848d29cbd740b5c6265016b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-30T12:29:22.000Z",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "02b634a8f78086708d560a86c49d4633660dbbb887af5e0793badda4c0c91732",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-30T09:13:02.000Z",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "56e3de344c1ba4fd6361a3f854be8073bcacfb9418f2046a5b8c790c62696d37",
      "status": "success",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-30T09:12:51.000Z",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "ed48e2fce89a498463508e6394ae369cc0fcf490113d247ced226432d47b93e0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-30T09:12:58.000Z",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "d1ccb1cb2fcc1d2fe60d64a0a087b098766c566070fadd46800f0b30cc0a86ea",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-30T09:12:45.000Z",
      "commit": "049fa34f2546ee452ef4006188d6eb8c464c6151",
      "fileid": "fd74547b960992a91368944a6d2bd89a7a7ed2079de8383abbef068b167063b4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emilyriederer/actions/runs/26562310342"
    }
  ]
}