gitwtfhub

wtf is scinet-queue?

tivris/scinet-queue — explained in plain English

Analysis updated 2026-05-18

15RustAudience · researcherComplexity · 3/5Setup · moderate

TL;DR

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

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

Why would anyone build with this?

REASON 1

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

REASON 2

Watch and fetch incoming PDFs into a local research folder

REASON 3

Mark reviewed papers as locally approved without notifying the network

REASON 4

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

What's in the stack?

RustCargo

How it stacks up

tivris/scinet-queuecodeaashu/agents-are-thinkingforgeailab/forge
Stars151515
LanguageRustRustRust
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audienceresearcherdeveloperdeveloper

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

How do you spin it up?

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.

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.