Repository navigation
docs: say in --help where the data is and that public data needs no sign-in - #101
Merged
Merged
Conversation
…ign-in Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Claude finished @alukach's task in 9s —— View job ✅ No blocking issues — safe to merge. I reviewed the diff in
Simplify (ponytail)
💰 Estimated review cost: $0.12 · 0m09s · 4 turns |
Contributor
|
Docs preview: https://cli.source.coop/pr-preview/pr-101/ Built from 92f0984. It goes live a minute or two after this run, once GitHub Pages deploys it, and is removed when the PR closes. |
How to read data through the proxy (anonymously, and from DuckDB, GDAL and Python) is a fact about source.coop, documented on docs.source.coop/data-proxy. --help keeps a two-line summary and the link; creds --help keeps the CLI's own part, the AWS profile. The README's Public data subsection becomes a link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er command Signed-out creds said public data needs no credentials, but an expired or revoked session didn't, though public reads need none then either. The hint now follows every failure to get credentials, built in one tested function rather than by matching mint's error text. On API commands (product, member, ...) --proxy-url only picks the login session, so its help says that instead of calling it the S3 endpoint. Re-record the README's auth-logout demo, which showed the old message. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alukach
added a commit
that referenced
this pull request
Nov 9, 2026
Keep exec's current_creds for creds, with #101's public-data hint on both of its failures: signed out ("Not signed in: …", exit 4) and a session that can't be renewed (mint_failed). The README's Read data subsection mentions exec, and the auth-logout demo is re-recorded with the hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alukach
added a commit
that referenced
this pull request
Nov 9, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alukach
added a commit
that referenced
this pull request
Nov 9, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An agent (or person) that learns the CLI from
--helpcan now find out how to read data: products are ats3://ACCOUNT/PRODUCT/on the data proxy, public data needs no sign-in, and each tool's settings (AWS CLI, DuckDB, GDAL, Python) are on docs.source.coop/data-proxy.--helpkeeps a two-line summary and links there rather than repeating it; the CLI documents only its own part, the credentials. Before, nothing in--helpsaid where the data was,--proxy-urlread as if it only picked a login session, and signed-outcredssent people to a browser login they didn't need for public data.How it behaves
source-coop --help: the "For scripts and agents" summary has a two-lineDataentry:s3://ACCOUNT/PRODUCT/on the proxy, public data needs no sign-in,creds --helpfor credentials, and https://docs.source.coop/data-proxy for each tool's settings.source-coop creds --helpends with examples (source-coop creds,--format env), the~/.aws/configprofile (credential_process = source-coop creds,endpoint_url) withaws s3 ls … --profile source-coop, and a line linking https://docs.source.coop/data-proxy for public data and other tools.https://data.source.coop, orhttps://data.staging.source.coopin staging builds (substituted like{api}already is).--proxy-url's help oncredsandauthnow says it's the S3 endpoint of the data for AWS tools, as well as what selects the environment. On the API commands (product,member, …), where it only picks the login session, it says just that.credsadds to its error:Public data needs no credentials: read it with \aws s3 ... --endpoint-url URL --no-sign-request`.` It follows every failure to get credentials (signed out, a session that expired or was revoked, STS refusing), since public reads need none in any of those cases. Exit code is unchanged (1).Demos
The demos run against
docs/recorder/stub.py, not a real environment. The recorder draws the stub's URLs as production's (data.source.coop), so the records in them (demo-org) are made up, not real ones.source-coop creds --help: the AWS profile, and a link to reading data
source-coop --help: the Data entry for scripts and agents
Reading public data without signing in, and creds signed out
Docs changes
credential_processprofile, formats and roles.Dataentry in--help's summary, with the same link.--proxy-url/SOURCE_PROXY_URLdescribed as the S3 endpoint for AWS tools as well as the environment.Couldn't get new credentialsentry mentions the public-data note and links Access Data.Not in this PR
Per-tool recipes (anonymous reads, DuckDB, GDAL, Python) live on docs.source.coop, not here: docs: read data through the proxy with DuckDB, GDAL and Python docs.source.coop#49 adds DuckDB, GDAL and Python to the Access Data page. Until it merges, that page covers the AWS CLI only.
eval $(source-coop creds --format env)still sets no endpoint, so a bareaws s3 lsafter it goes to AWS. New--formatvalues and anexeccommand are in separate PRs, socreds --helpdoesn't document them here.The signed-out exit code stays 1; changing it to 4 (not signed in) would be a separate, behavioural change.
Testing
cargo fmt,cargo clippy --all-targets -- -D warnings,cargo test(179 passed),cargo test --features staging(179 passed). Docs site built (--with pygmentsis now needed too). One test added (mint_failed_mentions_public_data), and the README'sauth-logoutdemo re-recorded for the new message. Otherwise the new help goes through the existing checks (help_examples_parseparses the twosource-coop credsexamples,help_headings_are_styled_like_clap_s,every_command_and_argument_has_help).aws s3 ls --no-sign-requestwas confirmed against the live production proxy while researching this; the demo runs it against the stub. The staging help text wasn't checked by eye beyond the staging test run.🤖 Generated with Claude Code