Skip to content

Depend on boto3[crt] to support AWS console login credentials - #553

Open
trvrb wants to merge 2 commits into
masterfrom
trvrb/boto3-crt
Open

trvrb wants to merge 2 commits into
masterfrom
trvrb/boto3-crt

Conversation

@trvrb

@trvrb trvrb commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Via Claude

Description of proposed changes

Depends on boto3[crt] instead of boto3. The extra adds awscrt, which botocore's credential provider needs for console login credentials (a profile with login_session, from aws login). Without it, commands that use AWS fail with a MissingDependencyException for users of such profiles. That includes nextstrain remote with s3:// addresses and nextstrain build --aws-batch.

@joverlee521 suggested this in #533, as a separate change from the fix for nextstrain login in #552.

The extra doesn't constrain boto3's version, so the resolution concern in the existing setup.py comment (#496) still holds. Locally, pip resolved the same boto3, botocore and aiobotocore versions as on master, plus awscrt 0.36.0.

The standalone build should bundle awscrt's compiled module in lib/, like our other compiled modules. If it doesn't load there, the fallback is to add awscrt to pkgs_requiring_file in pyoxidizer.bzl.

Conda doesn't support pip extras, so after release the Bioconda recipe will need awscrt added as a run dependency.

Related issues

Related to #533

Checklist

  • Checks pass (./devel/pytest locally; CI pending)
  • Update changelog
  • Manual testing: nextstrain remote ls s3://… with AWS_PROFILE set to an aws login profile fails on master and succeeds on this branch
  • Test this PR's standalone build

🤖 Generated with Claude Code

botocore's credential provider for console login credentials (a profile
with `login_session`, from `aws login`) requires the optional awscrt
dependency, which boto3's [crt] extra provides.  Without it, commands
that use AWS, such as `nextstrain remote` with s3:// addresses and
`nextstrain build --aws-batch`, failed with a MissingDependencyException
for users of such profiles.

The extra doesn't constrain boto3's version, so it keeps the dependency
resolution behaviour described in the existing comment.

Related-to: <#533>

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trvrb
trvrb marked this pull request as ready for review October 23, 2026 22:12

@victorlin victorlin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for the feature; small note that docs could be updated.

Comment thread doc/changes.md
Comment on lines +22 to +26
* AWS console login credentials (from `aws login`) are now supported by
commands that use AWS, such as `nextstrain remote` with `s3://` addresses and
`nextstrain build --aws-batch`. Previously, these commands failed with an
error about a missing `botocore[crt]` dependency.
([#533](https://github.com/nextstrain/cli/issues/533), [#553](https://github.com/nextstrain/cli/pull/553))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: update docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants