Skip to main content

sci-etl-cli

sci-etl runs sci-etl-core extraction pipelines from a single YAML file, with no wiring code. It searches arXiv, PubMed, Semantic Scholar, or OpenAlex, asks an LLM which papers are relevant, extracts structured entities from their full text, and writes them to a CSV, one row per entity tagged with the paper it came from. Runs resume where the last one stopped, and forget hands chosen papers back for another pass.

Documentation: https://xueromll.github.io/sci-etl-core/latest/cli/

$ sci-etl init hot-jupiters
$ sci-etl validate hot-jupiters/config.yaml
$ sci-etl search hot-jupiters/config.yaml --limit 5
$ sci-etl run hot-jupiters/config.yaml --limit 20
$ sci-etl status hot-jupiters/config.yaml

Installation

Python 3.11 or newer is required.

pip install sci-etl-cli

This installs the sci-etl command along with sci-etl-core[config,async,arxiv,html,llm,pdf,xml], click, and rich, so every source works out of the box. pipx install sci-etl-cli keeps it in an environment of its own.

Quick start

  1. sci-etl init hot-jupiters writes a working example project.
  2. Copy .env.example to .env beside the config and set LLM_API_KEY.
  3. sci-etl validate hot-jupiters/config.yaml checks the config, prompts, key, and packages.
  4. sci-etl search hot-jupiters/config.yaml previews matching papers without calling the LLM.
  5. sci-etl run hot-jupiters/config.yaml exports entities to out/planets.csv. Run it again to continue where it stopped.

Documentation

Topic Where
A first project, step by step Quick start
Every command and option, stopping, resuming, token usage Commands
Every config key and its default Config file
Domain rules written in Python Plug-ins
What each exit code means Exit codes

Development

git clone https://github.com/xueromll/sci-etl-cli.git
cd sci-etl-cli
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -e ".[dev,lint]"
pytest --cov=sci_etl_cli --cov-report=term-missing
ruff check .
mypy

To work against a local sci-etl-core checkout, install it first with pip install -e "../sci-etl-core[config,async,arxiv,html,llm,pdf,xml]".

The suite runs offline: every source is served by an httpx.MockTransport and the LLM by a scripted client, so run is exercised end to end against real CSV and state files. Coverage must stay at 100%.

Documentation

The pages under docs/ are published as the CLI section of the sci-etl-core site, which reads this repository's docs/ folder and the nav in mkdocs.yml. Preview them on their own with:

pip install -e ".[docs]"
mkdocs serve

Link to sci-etl-core pages with absolute URLs, since the pages are also built on their own. mkdocs build --strict runs in CI. Publishing a release asks sci-etl-core to rebuild the site when the DOCS_DISPATCH_TOKEN secret is set; otherwise run sci-etl-core's Docs workflow by hand.

License

Released under the MIT License. See LICENSE.

Metadata

Release files for sci-etl-cli 0.4.0

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

Source distribution (sdist)

Source distribution for sci-etl-cli 0.4.0
File Size Uploaded Provenance
sci_etl_cli-0.4.0.tar.gz 42.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sci-etl-cli 0.4.0
File Interpreter ABI Platform
sci_etl_cli-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 78.2 kB

Release files / sci_etl_cli-0.4.0.tar.gz

Download URL sci_etl_cli-0.4.0.tar.gz
Size 42.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2d5f84f08154e98703a8a2ff8b9508fd7eab9f9793a038a83c0c2a89b1d1fc31
BLAKE2b-256 checksum
How to use checksums
098ffca1d555ac6ed7e1ca971e700aa4d845e421eb624f4b11b8f6522ed34417
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 21, 2026.

Transparency log

Release files / sci_etl_cli-0.4.0-py3-none-any.whl

Download URL sci_etl_cli-0.4.0-py3-none-any.whl
Size 35.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74b82971a2bb0782d9edd8bf6896088e2652a2411122fece8561e357bf4c8bc0
BLAKE2b-256 checksum
How to use checksums
5cd8259a9ec9e782df3557daadaffe410fbe0f8e63ea5a360d09afca492bd740
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 21, 2026.

Transparency log

Security for sci-etl-cli 0.4.0

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.

Select from 2 files

Attestation for sci_etl_cli-0.4.0.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 Oct 21, 2026.

Transparency log

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

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