Skip to main content

honest-scholar — a CLI for honest, defensible AI-assisted research (tooling for the honest-scholar plugin)

Project description

Honest Scholar

Research you can defend.

Honest Scholar helps you keep research honest — especially now that AI is in the loop. You (not the AI) make and sign off every material decision, and you must be able to explain and defend the work; the tool keeps the accounts, advises, and probes. It supports honest, disclosable AI-assisted research — it does not certify that any work is honest.

This package is the CLI / tooling behind the honest-scholar Claude Code plugin. The plugin (skills + methodology) stays pure-markdown; this package provides the honest-scholar command it calls — literature, dataset, defend, backlog, and doctor — installed isolated, so it never touches your project's ML environment.

Install

uv tool install honest-scholar     # recommended (isolated tool env)
# or: pipx install honest-scholar
# or: pip install honest-scholar

honest-scholar --version
honest-scholar doctor              # reports python / uv / rclone

Documentation: https://honest-scholar.science/

CLI

honest-scholar --version
honest-scholar doctor                                           # environment report
honest-scholar literature resolve|cites|refs|enrich|neighbors   # citation graph (OpenAlex + S2)
honest-scholar dataset    validate|ingest|emit                  # manifest + Croissant
honest-scholar dataset    fetch|verify|mirror|audit             # SHA-256 retrieval + rclone mirror
honest-scholar defend     record                                # understanding-status record
honest-scholar backlog    park|add|list|rank|promote|drop       # exploration backlog
honest-scholar keys       set|list|check|unset|path             # API-key & credential store

Every command is implemented and emits JSON (the skills parse it). Network- and rclone-backed commands degrade gracefully when a key or the binary is absent.

API keys & credentials

Some services throttle hard without a key. Providing one is optional (the tooling degrades gracefully) but lifts the ceiling:

Key Service What it buys How to obtain
S2_API_KEY Semantic Scholar Rate limit well above the shared keyless pool. https://www.semanticscholar.org/product/api#api-key
OPENALEX_MAILTO OpenAlex The "polite pool" (a contact email) — faster, more reliable. https://docs.openalex.org/how-to-use-the-api/rate-limits-and-authentication
RCLONE_CONFIG_<REMOTE>_* Private dataset mirror rclone remote credentials passed as scoped env vars (no config file). Per your rclone remote.

Keys live in a CLI-managed JSON store at .honest-scholar/keys.json (gitignored, created 0600), read with os.environ > store > unset precedence, so an environment variable always wins. Manage it with keys:

honest-scholar keys set S2_API_KEY        # hidden prompt, or reads piped stdin
echo "$MY_KEY" | honest-scholar keys set S2_API_KEY
honest-scholar keys set < keys.json       # a JSON object sets many at once
honest-scholar keys list                  # presence + source (never the value)
honest-scholar keys check | unset | path

The value is read only from stdin or a hidden prompt — never argv — so it never hits your shell history or the process list, and list/check/doctor report presence only.

Plaintext at rest. The store is not encrypted; gitignore + 0600 limit exposure but are not a vault. OS-keychain backing is a planned follow-up (#49).

Learn more

Changelog

https://github.com/davorrunje/honest-scholar/blob/main/CHANGELOG.md

License

Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

honest_scholar-0.1.0.tar.gz (46.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

honest_scholar-0.1.0-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file honest_scholar-0.1.0.tar.gz.

File metadata

  • Download URL: honest_scholar-0.1.0.tar.gz
  • Upload date:
  • Size: 46.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for honest_scholar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6eb9a71ec99fc11320cd3ad59116072af353cace9ba439a0a86c52fbbb512bbb
MD5 707e002eaca8744783c91a33c9209505
BLAKE2b-256 f807de588ce2c8d0fa87d48affea2079e86130049175f09f6ad46d7da3dcff42

See more details on using hashes here.

Provenance

The following attestation bundles were made for honest_scholar-0.1.0.tar.gz:

Publisher: publish.yml on davorrunje/honest-scholar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file honest_scholar-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: honest_scholar-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 52.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for honest_scholar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d9669003c2ca548f719451c60cabb6de1381115eb6f921a1206b392040a4658
MD5 dfa467f649e8e85bbd5986059f18c8b8
BLAKE2b-256 68dd27dd7edcb53094f06acdad39d243ea4bf5c3a9955dfc116e5f45aa59d33b

See more details on using hashes here.

Provenance

The following attestation bundles were made for honest_scholar-0.1.0-py3-none-any.whl:

Publisher: publish.yml on davorrunje/honest-scholar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page