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)
Metadata
Release files for priorart 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| priorart-0.1.1.tar.gz | 36.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| priorart-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.7 kB
Release files / priorart-0.1.1.tar.gz
| Download URL | priorart-0.1.1.tar.gz |
|---|---|
| Size | 36.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6527a55f578dd5005637851875f25e92ba90d1d8273931e87825ff599412add7
|
|
BLAKE2b-256 checksum How to use checksums |
0e36520aa9c8f897dc32c43281cbe9fda24bc380745e6f7e342a45b370bba958
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.
Transparency logRelease files / priorart-0.1.1-py3-none-any.whl
| Download URL | priorart-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8956721f3a15f67016ba8db3fa44649281a1a424f8df41fa95748526290121ec
|
|
BLAKE2b-256 checksum How to use checksums |
8220af00e5fd07874fd1a02775a295744a3e7e2491961b6682c80f79215d9c79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.
Transparency logSecurity for priorart 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for priorart-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.