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.1.tar.gz (36.2 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.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: priorart-0.1.1.tar.gz
  • Upload date:
  • Size: 36.2 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.1.tar.gz
Algorithm Hash digest
SHA256 6527a55f578dd5005637851875f25e92ba90d1d8273931e87825ff599412add7
MD5 f6442b8fb67f415a5f584f68802ebf07
BLAKE2b-256 0e36520aa9c8f897dc32c43281cbe9fda24bc380745e6f7e342a45b370bba958

See more details on using hashes here.

Provenance

The following attestation bundles were made for priorart-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: priorart-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8956721f3a15f67016ba8db3fa44649281a1a424f8df41fa95748526290121ec
MD5 5ac7417e57dbe5eebe44bcfe67f2924f
BLAKE2b-256 8220af00e5fd07874fd1a02775a295744a3e7e2491961b6682c80f79215d9c79

See more details on using hashes here.

Provenance

The following attestation bundles were made for priorart-0.1.1-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