Skip to main content

Prior art scanner — search GitHub and HN for existing solutions to an idea.

Project description

priorart

Prior art scanner for ideas. Searches GitHub repositories and Hacker News discussions to assess how crowded a space is, then produces a Reality Signal score (0–100).

Installation

pip install priorart

Or with uv:

uv add priorart

Usage

# Basic scan (table output)
priorart scan 'AI personal finance tracker'

# JSON output
priorart scan 'AI personal finance tracker' --format json

# Markdown output (same format as GitHub Action comment)
priorart scan 'AI personal finance tracker' --format markdown

# Limit to specific sources
priorart scan 'AI personal finance tracker' --sources hn
priorart scan 'AI personal finance tracker' --sources github,hn

# With explicit GitHub token
priorart scan 'AI personal finance tracker' --github-token ghp_...

The GITHUB_TOKEN environment variable is used automatically if set:

export GITHUB_TOKEN=ghp_...
priorart scan 'AI personal finance tracker' --format json

Output formats

JSON (--format json)

{
  "query": "AI personal finance tracker",
  "queries": ["AI personal finance tracker", "AI personal finance"],
  "sources": [
    {
      "type": "github",
      "results": [
        {
          "name": "org/repo",
          "stars": 1234,
          "description": "...",
          "url": "https://github.com/org/repo",
          "updated": "2024-01-01",
          "language": "Python"
        }
      ]
    },
    {
      "type": "hn",
      "results": [
        {
          "title": "...",
          "points": 42,
          "comments": 17,
          "url": "https://news.ycombinator.com/item?id=...",
          "date": "2024-03-01"
        }
      ]
    }
  ],
  "signal": {
    "score": 45,
    "verdict": "MODERATE",
    "breakdown": {
      "github": 30,
      "hn": 15
    }
  },
  "meta": {
    "timestamp": "2026-03-07T00:00:00+00:00",
    "version": "0.1.0"
  }
}

Markdown (--format markdown)

Produces the same Markdown comment format used by the prior-art-scan GitHub Action.

Table (--format table)

Plain-text table for terminal output (default).

Reality Signal

The Reality Signal (0–100) reflects how crowded the solution space is:

Score Verdict Meaning
0–29 🟢 LOW Greenfield opportunity or underserved niche
30–60 🟡 MODERATE Some existing solutions, differentiation needed
61–100 🔴 HIGH Crowded space, needs strong differentiator

The score is composed of:

  • GitHub component (0–60): number of repos found + max star count
  • HN component (0–40): number of discussions found + max point count

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check src tests

Package structure

src/priorart/
├── __init__.py       # version
├── scanner.py        # orchestrator + query builder
├── scoring.py        # reality signal computation
├── formatters.py     # JSON, markdown, table output
├── cli.py            # typer CLI entry point
└── sources/
    ├── __init__.py
    ├── github.py     # GitHub repository search
    └── hn.py         # Hacker News search (Algolia API)

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

priorart-0.1.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

priorart-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file priorart-0.1.0.tar.gz.

File metadata

  • Download URL: priorart-0.1.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for priorart-0.1.0.tar.gz
Algorithm Hash digest
SHA256 94827b1b3ce66c56908d9204cd945416938bc6afe4d04c9c7070353f8df1dbd8
MD5 4dcd4c270c7d1673471b84d09c6de696
BLAKE2b-256 5cd740db6884b40694a0ed5e8ad13456a022fff236bd468372b13ec50ccb183e

See more details on using hashes here.

Provenance

The following attestation bundles were made for priorart-0.1.0.tar.gz:

Publisher: publish.yml on chillkimtest-oss/priorart

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

File details

Details for the file priorart-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: priorart-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for priorart-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ef894b9c1307f837b6fb4ea2ab0470016dbf55bc825f35348bfc593aca4be4a3
MD5 c0a02dad9007b0af91b56969b5ceb86a
BLAKE2b-256 474d1e5e6f413e39f7c9030b9366daf341e81420ba37ba8d94a3ab4643831817

See more details on using hashes here.

Provenance

The following attestation bundles were made for priorart-0.1.0-py3-none-any.whl:

Publisher: publish.yml on chillkimtest-oss/priorart

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