Skip to content

dependabit / plugins/plugin-arxiv/src / ArxivChecker

Class: ArxivChecker

Defined in: packages/plugins/plugin-arxiv/src/checker.ts:111

Monitors arXiv preprints for new versions via the arXiv Atom API.

Remarks

The checker uses the public arXiv export API (https://export.arxiv.org/api/query). No API key is required, but arXiv enforces a rate limit of approximately 3 requests per second. Running many concurrent checkers against arXiv may trigger HTTP 429 responses.

State hashing uses the paper version number, last updated date, and the first 500 characters of the abstract to produce a stable fingerprint.

Use When

Tracking research papers that your project cites or implements, to be notified when authors publish revisions.

Avoid When

Monitoring large arXiv search result pages — this checker is designed for individual paper IDs only.

Pitfalls

  • No rate limit handling: burst usage (checking many papers at once) will hit arXiv's rate limit. Add a delay between concurrent checks.
  • Abstract hash instability: arXiv occasionally re-formats abstracts (whitespace normalisation) without bumping the paper version. This produces a false positive change detection for abstract.
  • Withdrawn papers: if a paper is withdrawn, the arXiv API returns an empty entry; fetch will throw 'Could not parse arXiv response'.

Constructors

Constructor

ts
new ArxivChecker(): ArxivChecker;

Returns

ArxivChecker

Methods

compare()

ts
compare(prev, curr): Promise<ArxivChangeDetection>;

Defined in: packages/plugins/plugin-arxiv/src/checker.ts:271

Compare two arXiv snapshots to detect changes

Parameters

ParameterType
prevArxivSnapshot
currArxivSnapshot

Returns

Promise<ArxivChangeDetection>


fetch()

ts
fetch(config): Promise<ArxivSnapshot>;

Defined in: packages/plugins/plugin-arxiv/src/checker.ts:211

Fetch paper information from arXiv API

Parameters

ParameterType
configArxivConfig

Returns

Promise<ArxivSnapshot>

Released under the MIT License.