explaingit

tivris/scinet-queue

Analysis updated 2026-06-24

15RustAudience · researcherComplexity · 3/5Setup · moderate

TLDR

Rust CLI named snq that manages Sci-Net paper requests, imports DOIs, drives a real browser for login, and stores a queue as a local JSONL file.

Mindmap

mindmap
  root((scinet-queue))
    Inputs
      DOI lists
      Sci-Net login
      Managed browser profile
    Outputs
      Local queue.jsonl
      Downloaded PDFs
      JSON command output
    Use Cases
      Track paper requests
      Bulk import DOIs
      Script with --json
    Tech Stack
      Rust
      Cargo
      Chrome DevTools Protocol
      WebDriver BiDi
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Bulk request academic PDFs from Sci-Net by importing a DOI list

USE CASE 2

Watch and fetch incoming PDFs into a local research folder

USE CASE 3

Mark reviewed papers as locally approved without notifying the network

USE CASE 4

Drive snq from a script or agent via the --json flag on every command

What is it built with?

RustCargo

How does it compare?

tivris/scinet-queuedollspace-gay/thermitedxasm/shape-ios
Stars151614
LanguageRustRustRust
Setup difficultymoderatehardmoderate
Complexity3/55/53/5
Audienceresearcherresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Login flows need a Chromium or Firefox browser installed locally for snq to drive under a managed profile.

In plain English

scinet-queue is a small command line tool written in Rust for managing paper requests on Sci-Net, a peer-to-peer service where researchers ask each other to fetch academic PDFs. The binary is called snq. The author describes the project as early stage but says builds for macOS, Linux, and Windows are tested in CI. You can grab a precompiled binary from the GitHub releases page or install from source with Rust 1.85 or newer using cargo. The typical flow is short. Log in once, import a list of DOIs (the unique IDs that identify academic papers) from a Markdown or text file, send a request for each, wait until peers upload a PDF, fetch those PDFs to a local folder, and then mark the papers you have reviewed as approved in the local queue. The README is clear that approval only records a local note. It does not release tokens or send any approval action to Sci-Net, so nothing happens on the network until you confirm. For things that need to be logged in, snq drives a real browser under its own profile. Chromium-style browsers are controlled through the Chrome DevTools Protocol and Firefox-style browsers through WebDriver BiDi. The tool does not bundle a browser and does not try to read cookies from your existing browser profile or the system keychain. You log in once through the managed profile and snq reuses that session headlessly afterward. Most commands accept a --json flag so an agent or script can consume the output. Subcommands include add, import, list, remove, check, request, watch, view, fetch, approve, session, browsers, and doctor. The queue itself lives in a plain .snq/queue.jsonl file in the current working directory, which makes it easy to inspect or version control alongside a research project.

Copy-paste prompts

Prompt 1
Install snq from a precompiled GitHub release on macOS and log in once with the managed browser profile
Prompt 2
Import a Markdown file of DOIs into scinet-queue and send a request for each one
Prompt 3
Watch the queue with snq and auto-fetch PDFs as peers upload them on Sci-Net
Prompt 4
Pipe snq list --json into jq to filter pending requests older than seven days
Prompt 5
Explain how snq uses Chrome DevTools Protocol and WebDriver BiDi to reuse a logged-in browser session

Frequently asked questions

What is scinet-queue?

Rust CLI named snq that manages Sci-Net paper requests, imports DOIs, drives a real browser for login, and stores a queue as a local JSONL file.

What language is scinet-queue written in?

Mainly Rust. The stack also includes Rust, Cargo.

How hard is scinet-queue to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is scinet-queue for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.