Nextstrain-cli

Latest version: v8.3.0

Safety actively analyzes 630052 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 13

3.0.5

_This release should have bumped the minor version, not the patch version,
since it added a new feature. —trs, 1 March 2022_

Features

* `view` now supports a `--host` option to specify the IP address or hostname
on which to listen, complementing the existing `--port` option.
`--allow-remote-access` is now an alias for `--host=0.0.0.0`.

Paper cut remedies

* [netifaces](https://pypi.org/project/netifaces/) is no longer a dependency
since its lack of wheels for recent Python versions means it often requires a
C toolchain for installation. This impacted multiple platforms, including
Windows and Linux. For more context, see discussion starting with [this
issue comment](https://github.com/nextstrain/cli/issues/31#issuecomment-966609539).

Unfortunately the package no longer has a maintainer, so we can't count on
any timeline for updates and do not have the resources to maintain it
ourselves. Dropping the dep makes the UX of `nextstrain view
--allow-remote-access` a bit poorer, but makes installation a lot easier.

3.0.4

_This release should have bumped the minor version, not the patch version,
since it added new features/commands. —trs, 1 March 2022_

Features

* Three new commands—`login`, `logout`, and `whoami`—for authenticating with
nextstrain.org. These commands manage tokens stored in
_~/.nextstrain/secrets_. No other commands currently use the tokens, but
future features will start using them, e.g. for managing datasets and
narratives on nextstrain.org with the `remote` family of commands.

Bug fixes

* Adjusted dependencies on s3fs and aiobotocore to avoid incompatible versions
being selected by pip.

aiobotocore released a new version, 2.0.0, with breaking changes and pip's
resolution algorithm chose an older s3fs version which was "compatible" by
dep declaration by not actually in practice, leading to `nextstrain build
--aws-batch` throwing errors at runtime.

* update: Explicitly handle errors from the Docker Hub registry.

Documentation

* AWS Batch: Documented the unintuitive interaction of compute envs and launch
template versions and updated the disk space section for Amazon Linux 2
compute environments.

* Updated various links that had moved.

Development

* Ditched Pipenv for a plain venv setup.

* Dependencies for Read The Docs and CI docs builds are no longer pinned but
will use the latest versions that otherwise meet standard dep declarations.

* Added pyright tests for additional type checking. This covers some kinds of
checks that mypy does not, and in particular lets us use protocol types to
check the Runner and Remote module interfaces.

* Enabled more mypy checks and resolve findings.

* Tests now treat warnings as errors so we can address them, and CI is now
warnings clean.

Python warnings are important to see earlier than later so we can avoid
spewing warnings to users.

Sphinx warnings are often authoring mistakes that need to be addressed.

3.0.3

Documentation

* The help output for `build` now correctly describes the default behaviour of
the `--download` and `--no-download` options.

* The help output for `build` now warns about the need to escape wildcards or
quote the whole pattern when using `--download` so as to avoid expansion by
the shell.

3.0.2

Bug fixes

* `update` more gracefully handles Docker not being installed. Although the
command still exits with error (as it currently serves only to pull the
latest Docker image), an uncaught exception isn't thrown. More improvements
to come later with [87](https://github.com/nextstrain/cli/issues/87).

* `version` now gracefully handles Docker not being installed when `--verbose`
is given instead of throwing an uncaught exception.

* `version` now includes Python information when `--verbose` is given, which is
helpful for debugging Python issues, e.g. which Python install is being used.

* The Docker (`--docker`) runner for `build`, `shell`, and `view` no longer
requests a TTY connected to the container when stdin is not itself a TTY
(e.g. run from a non-interactive shell). This avoids a fatal error from
Docker ("the input device is not a TTY").

* Distribution metadata was fixed so that the LICENSE file is no longer
attempted to be installed under the Python installation prefix (e.g.
`/usr/local`). It is instead included inside the "egg-info" directory
alongside the code in the Python site libraries.

Development

* Revamp CI by switching from Travis CI to GitHub Actions, expanding the test
matrix to macOS and Python 3.9, and adding an integration test for the
"native" build runner.

3.0.1

Hotfix for a missing transitive dependency on s3fs via fsspec, which caused
`nextstrain build --aws-batch` invocations to fail when s3fs was not installed.

3.0.0

The minimum Python version for installing the Nextstrain CLI itself is now 3.6.

Features

* build: Uploads and downloads for remote AWS Batch builds are now streamed
without the use of temporary local files. This halves the local storage
overhead needed and also speeds up the transfer of large builds since:

1. Uploading can start immediately without first writing the whole archive locally
2. Unmodified files do not need to be downloaded, just their metadata

* build: The results of remote builds may now be selectively downloaded (or not
downloaded at all). Two new `nextstrain build` options are available:

--download <pattern>
--no-download

The former may be given multiple times and specifies patterns to match
against build dir files which were modified by the remote build. The
latter skips downloading results entirely, which is useful if all you
care about are the logs (such as when re-attaching to a build or when a
build uploads results itself elsewhere). The default is still to
download every modified file.

Currently this functionality is limited to AWS Batch (`--aws-batch`) builds,
as it is the only remote environment supported.

Bug fixes

* build: Python bytecode files (`__pycache__` and `*.pyc`) are no longer
uploaded or downloaded from remote builds on AWS Batch.

* build: Log messages about individual file uploads/downloads to AWS Batch are
now printed _before_ each operation, instead _after_, so you can see what
files are taking a while instead of being in the dark until it completes.

* remote download: A better error message is now produced when a prefix-less
`s3://` URL is provided without the `--recursively` option.

Documentation

* Clarify how remote builds on AWS Batch acquire AWS credentials.

* Fix broken links into AWS documentation for boto3.

* Switch to our [Nextstrain theme for
Sphinx](https://github.com/nextstrain/sphinx-theme)

* Some documentation has been shuffled around to better fit within the larger
[docs.nextstrain.org](https://docs.nextstrain.org) effort. Redirects were
put into place for any moved RTD URLs.

Development

* Various improvements to the Read The Docs and Sphinx setup.

* Upgrade locked Pipenv development environment.

* Fix type checking failures under newer versions of mypy.

Page 7 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.