Skip to main content

Find worthwhile open-source issues.

Project description

oss-issue-scout

PyPI

Find worthwhile open-source issues

The current version calls the GitHub API, searches open issues, and applies a simple score based on repository activity, issue activity, comments, labels, and related signals. It is currently aimed at junior to intermediate developers who want a faster way to find approachable issues.

Features

  • Search GitHub open issues with selectable scoring presets
  • Filter by language, label, stars, and update recency
  • Skip issues that already have linked PRs
  • Recommend only unassigned issues by default
  • Skip repositories with fewer than 100 stars by default
  • Render results as table, markdown, or json
  • No third-party dependencies

Usage

pip install oss-issue-scout
oss-issue-scout search --language python --label "good first issue" --limit 5

Using a GitHub token is recommended. It can be about 3x faster than anonymous search and is less likely to hit rate limits. Set it as an environment variable first:

$env:GITHUB_TOKEN="your_github_token"
oss-issue-scout search --language python --limit 5

This example usually returns results in about 15 seconds.

Options

--language            Repository primary language, such as python or c++; default: no language filter
--stars-min           Minimum repository stars; defaults to at least 100
--label               Issue label, such as "good first issue" or "bug"; default: no label filter
--updated-days        Issue updated within the last N days; default: no limit
--repo-updated-days   Repository had issue activity within the last N days; default: no limit
--limit               Number of results, default 6
--preset              Scoring preset: default, junior, intermediate, senior; default: default
--format              Output format: table, markdown, json; default: table

Examples:

oss-issue-scout search
oss-issue-scout search --language python
oss-issue-scout search --language python --label "help wanted" --stars-min 500 --limit 5
oss-issue-scout search --language rust --format json
oss-issue-scout search --language "C++" --label "good first issue" --repo-updated-days 7
oss-issue-scout search --language c --preset intermediate --limit 10

Scoring

The current score is intentionally simple. It considers:

  • Repository stars: moderately active repos get a boost; very large repos may be penalized
  • Issue update recency: recently updated issues get a boost; stale issues are penalized
  • Repository issue activity: recent issue activity gets a boost
  • Beginner-friendly labels: good first issue / help wanted only add points when the repo has at least 3 open issues with those labels
  • Comment count: low discussion volume gets a boost; long discussions are penalized

The search step filters out:

  • Closed issues
  • Archived repositories
  • Issues with linked PRs
  • Assigned issues
  • Repositories with fewer than 100 stars

Search uses the selected scoring preset. If not specified, it uses the default preset.

Tests

python -m unittest discover

Tests use mocked GitHub responses and do not call the real GitHub API.

Next

This project is still small. If it helps you, please consider giving it a ⭐. Discussions will be opened after the project reaches 16+ ⭐.

If you have suggestions or run into problems, please open an issue.

Future versions will continue to improve recommendation quality and usability.

Contributors

Contributors

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

oss_issue_scout-0.3.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

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

oss_issue_scout-0.3.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file oss_issue_scout-0.3.0.tar.gz.

File metadata

  • Download URL: oss_issue_scout-0.3.0.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for oss_issue_scout-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cbcc9a29adc66cda7229531267036c1f373496788c9ea38ce3bd6a303eac29dd
MD5 3aa36ba4df61bade0833c69b58243e6e
BLAKE2b-256 2adba1d8b2eaf14afd18ddc809cfc53314a80b690e6a1c2e6e707e656cecfdcb

See more details on using hashes here.

File details

Details for the file oss_issue_scout-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oss_issue_scout-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 abd42aa1dc14da09eac21fb427fda0efe0fdefcb45ec2f196a7caf008e1ee221
MD5 f3f6c50645c8205828dc0a5f1dd0bb41
BLAKE2b-256 fcddfec503f323218d99af3eba4401adb4919cd7f1af56e6c1f53873d070c31d

See more details on using hashes here.

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