Skip to main content

sourcelens sourcelens logo

sourcelens collects the latest research on any topic into one chronological catalogue. It searches PubMed, Europe PMC, arXiv and OpenAlex, downloads the open-access full texts with their figures and supplementary files, finds the code and packages the papers link to, and exports references for Zotero or LaTeX. Run it again later and it adds only what is new; notes you write in the catalogue are never overwritten.

Website: https://bhagesh-h.github.io/sourcelens/

Install

Python (3.10 or newer, any system):

pip install sourcelens

Go binary (one file, no dependencies). Linux and macOS:

curl -fsSL https://raw.githubusercontent.com/bhagesh-h/sourcelens/main/install.sh | sh

Windows (PowerShell):

irm https://raw.githubusercontent.com/bhagesh-h/sourcelens/main/install.ps1 | iex

Or download sourcelens_linux_amd64, sourcelens_linux_arm64, sourcelens_macos (Apple silicon and Intel) or sourcelens_windows_amd64.exe from the latest release. Both implementations have the same commands. To convert PDFs to text, the Go binary needs poppler (apt install poppler-utils, brew install poppler).

Use

sourcelens config set contact_email you@example.org    # once; Crossref, OpenAlex, NCBI and Unpaywall ask for it
sourcelens "CRISPR base editing"                        # start a catalogue; run again later to add what is new
sourcelens query --topic "CRISPR base editing" --range 1m
sourcelens export --topic "CRISPR base editing" --format BIB --out crispr.bib

Look first, then download only what you pick:

sourcelens "CRISPR base editing" --dry-run              # metadata and a table, no downloads
sourcelens query --topic "CRISPR base editing" --in reports/dryrun_<stamp>.csv --summary "off-target" --out picked.csv
sourcelens download --topic "CRISPR base editing" exports/picked.csv
sourcelens files --topic "CRISPR base editing" --ext xlsx,csv --copy-to ~/tables

Commas, semicolons and OR separate alternatives, every word of an alternative is required, and double quotes keep a phrase together: sourcelens '"base editing", "prime editing"'.

option meaning
--range 1m, --from 2024 how far back to search (a new topic starts 12 months back)
--types papers metadata only, no downloads
--sources pubmed,arxiv only these sources
--ext xlsx,pptx attachment file types to download
--dry-run metadata and a table of what could be downloaded, no downloads
--dir DIR keep the catalogue in DIR

Each topic gets a folder such as ~/sourcelens/crispr-base-editing/, with progress.csv as the main table, and every run writes reports/runreport_<stamp>.html, a searchable page of the whole catalogue. sourcelens config set output DIR changes the folder, and sourcelens help lists every command.

Documentation

License

GPL-3.0. See LICENSE.

Metadata

Release files for sourcelens 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sourcelens 1.0.1
File Size Uploaded
sourcelens-1.0.1.tar.gz 182.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sourcelens 1.0.1
File Interpreter ABI Platform
sourcelens-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 363.3 kB

Release files / sourcelens-1.0.1.tar.gz

Download URL sourcelens-1.0.1.tar.gz
Size 182.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fcdcfefea4e532f8efaef5c47445efb61feef33e3e085edbb2ae59b3e6244e36
BLAKE2b-256 checksum
How to use checksums
eb7234b15df278689169f1b57cc9b52773e88e5e3519d4d15de3797a3a5bb4fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release files / sourcelens-1.0.1-py3-none-any.whl

Download URL sourcelens-1.0.1-py3-none-any.whl
Size 181.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a71ed15c0bb5f9a1a2bb45804429e848db5c31cba27c518745ca34145ed23c51
BLAKE2b-256 checksum
How to use checksums
328c76ce96a0ee9fa75314cf4c72ae6ec940fd5f1ede73972ff6f3513c600656
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page