ads-bib
ads-bib takes a NASA ADS search query and produces a normalized, curated dataset, with disambiguated author names (AND via ads-and), topic models (via BERTopic or Toponymy), and citation networks ready for e.g. Gephi, CiteSpace, or VOSviewer, locally or via API.
Installation
Use uv and Python 3.12.
uv pip install ads-bib
# or: pip install ads-bib
Quick Start
Create a .env file in your project root with the relevant API keys.
ADS_TOKEN=your-ads-token # required
OPENROUTER_API_KEY=your-key # only for the openrouter road
HF_TOKEN=your-key # for hf_api and local_gpu model access
MODAL_TOKEN_ID=your-modal-id # only for AND with backend=modal
MODAL_TOKEN_SECRET=your-modal-secret
ADS user token settings | OpenRouter Keys | Hugging Face Access Tokens | Modal.
Then run in your terminal:
ads-bib run --preset openrouter --set search.query='author:"Hawking, S*"'
Author name disambiguation is off by default. Enable the local CPU/GPU path
with --set author_disambiguation.enabled=true; use
--set author_disambiguation.backend=modal only when your Modal credentials are
configured.
Full setup details: Get Started | Runtime Roads
Iterate From a Previous Run
Every run writes config_used.yaml and reusable stage artifacts. To try one
change without repeating the whole pipeline, start a variant from that run:
ads-bib run --from-run run_20260407_120000_ads_bib_openrouter \
--set topic_model.embedding_model=google/gemini-embedding-001
ads-bib loads the previous config, applies the override, chooses the earliest
stage that needs recomputation, and writes a new run folder with a variant
block in run_summary.yaml. Preview the reuse plan first with --dry-run.
Python API
import ads_bib
ads_bib.run(
preset="openrouter",
query='author:"Hawking, S*"',
)
More examples and the NotebookSession interface: Python API docs
Pick a Runtime Road
| Road | Hardware | Network | Cost |
|---|---|---|---|
openrouter |
any | API calls | pay-per-token |
hf_api |
any | API calls | HF-plan-dependent |
local_cpu |
CPU only | model downloads only | free after setup |
local_gpu |
NVIDIA + CUDA | model downloads only | free after setup |
Full provider matrix and first-run behavior: Runtime Roads
Output
Each project folder keeps shared caches under data/cache/ and writes every
run under runs/<run_id>/:
runs/<run_id>/
├── config_used.yaml
├── run_summary.yaml
├── data/
│ ├── search/ # run-local ADS search result used for export variants
│ ├── export/ # pre-translation publications and references
│ ├── translated/ # translated publications and references
│ ├── tokenized/ # tokenized publications and references
│ ├── and/ # disambiguated frames plus optional ads-and diagnostics
│ ├── dataset/ # final publications, references, topic_info, manifest
│ └── citations/ # GEXF/CSV/JSON networks and WOS export
├── plots/topic_map.html
└── logs/runtime.log
data/search|export|translated|tokenized|and/— run-local stage boundaries used by--from-runvariantsdata/dataset/publications.parquet— cleaned, translated, topic-labeled publications, with disambiguated authors when AND is enableddata/dataset/references.parquet— normalized cited-reference metadata, with disambiguated authors when AND is enableddata/dataset/topic_info.parquet— one row per topic with labels, counts, and representation fieldsplots/topic_map.html— interactive topic visualization (open in any browser), using datamapplotdata/citations/*.gexf— direct citation, co-citation, bibliographic coupling, author co-citationdata/citations/download_wos_export.txt— Web of Science format for e.g. CiteSpace / VOSviewerrun_summary.yaml— full run metadata, stage status, and optional variant provenancedata/dataset/dataset_manifest.json— artifact hashes plus bundle-cleaning provenance
Topic map output from
author:"Hawking, S*" in datamapplot.
Author co-citation output from
author:"Hawking, S*" in Gephi Lite.
Metadata
Release files for ads-bib 0.3.3
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 | Actions |
|---|---|---|---|---|
| ads_bib-0.3.3.tar.gz | 434.0 kB | With provenance | Details for ads_bib-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ads_bib-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for ads_bib-0.3.3-py3-none-any.whl |
Total release size: 619.1 kB
Release files / ads_bib-0.3.3.tar.gz
| Download URL | ads_bib-0.3.3.tar.gz |
|---|---|
| Size | 434.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4d2c85855b815bfa633101ca7dba0de0808688a92046b2b5d901a9189e7eb5f
|
|
BLAKE2b-256 checksum How to use checksums |
4213ce72ec20f769abc88d1a42f70e18beb1a2704384e97071f3087654345613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 22, 2026.
Transparency logRelease files / ads_bib-0.3.3-py3-none-any.whl
| Download URL | ads_bib-0.3.3-py3-none-any.whl |
|---|---|
| Size | 185.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a459476bdf9c86918e7fe53f3deeb35618cbddb9de6e8964759ba9cafeec4d7
|
|
BLAKE2b-256 checksum How to use checksums |
7e5b6195910df45b39e20dc9d47fcfb1eeb1f9e5973e871083e1f2c29a87fe39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 22, 2026.
Transparency logSecurity for ads-bib 0.3.3
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 ads_bib-0.3.3.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 May 22, 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.