Skip to main content

Nextstrain command-line tool

Project description

nextstrain-cli

This is the Nextstrain command-line tool. It aims to provide access to Nextstrain components in a local environment with a minimum of fuss.

You can use it to run a pathogen build which makes use of components like sacra, fauna, and augur or view the results of such a build in our standard viewer, auspice.

Usage

This package provides a nextstrain program which provides access to a few commands. If you've installed this package (nextstrain-cli), you can just run nextstrain. Otherwise, you can run ./bin/nextstrain from a copy of the source code.

usage: nextstrain [-h] {build,view,deploy,shell,update,check-setup,version} ...

Nextstrain command-line tool

optional arguments:
  -h, --help            show this help message and exit

commands:
  {build,view,deploy,shell,update,check-setup,version}
    build               Run pathogen build
    view                View pathogen build
    deploy              Deploy pathogen build
    shell               Start a new shell in the build environment
    update              Updates your local image copy
    check-setup         Tests your local setup
    version             Show version information

For more information on a specific command, you can run it with the --help option, for example, nextstrain build --help.

Installation

This tool is written in Python 3 and requires at least Python 3.5. You may install it with pip (or pip3) like so:

pip install nextstrain-cli

or from a git clone or copy of the source code:

pip install .

If your system has both Python 2 and Python 3 installed side-by-side, you may need to use pip3 instead of pip (which often defaults to pip2).

This tool also currently requires Docker. You can download and install the Docker Community Edition (CE) for your platform for free. After doing so, run nextstrain check-setup to ensure it works.

Development

Development of nextstrain-cli happens at https://github.com/nextstrain/cli.

We currently target compatibility with Python 3.5 and higher. This may be increased to 3.6 in the future.

Versions for this project follow the Semantic Versioning rules.

Running with local changes

From within a clone of the git repository you can run ./bin/nextstrain to test your local changes without installing them. (Note that ./bin/nextstrain is not the script that gets installed by pip as nextstrain; that script is generated by the entry_points configuration in setup.py.)

Releasing

New releases are made frequently and tagged in git using a signed tag. The source and wheel (binary) distributions are uploaded to the nextstrain-cli project on PyPi.

There is a ./devel/release script which will prepare a new release from your local repository. It ends with instructions for you on how to push the release commit/tag and how to upload the built distributions to PyPi. You'll need a PyPi account and twine installed.

Type annotations and static analysis

Our goal is to gradually add type annotations to our code so that we can catch errors earlier and be explicit about the interfaces expected and provided. Annotation pairs well with the functional approach taken by the package.

During development you can run static type checks using mypy:

mypy nextstrain

There are also many editor integrations for mypy.

Note that our goal of compatibility with Python 3.5 means that type comments are necessary to annotate variable declarations:

# Not available in Python 3.5:
foo: int = 3

# Instead, use trailing type hint comments:
foo = 3  # type: int

The typing_extensions module should be used for features added to the standard typings module after 3.5. (Currently this isn't necessary since we don't use those features.)

Project details


Release history Release notifications | RSS feed

This version

1.5.0

Download files

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

Source Distribution

nextstrain-cli-1.5.0.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

nextstrain_cli-1.5.0-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file nextstrain-cli-1.5.0.tar.gz.

File metadata

  • Download URL: nextstrain-cli-1.5.0.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5

File hashes

Hashes for nextstrain-cli-1.5.0.tar.gz
Algorithm Hash digest
SHA256 c7dcf7c16348b1ce7f68a4b536812c46ff57b156217c8c6a9d4380c919f8aa3b
MD5 f7931de3c06f90ed38f3a7aeee26b9b6
BLAKE2b-256 c76311273f513b778a526ad217b2565a575872c468f49c347e5e388e01d76f1b

See more details on using hashes here.

File details

Details for the file nextstrain_cli-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: nextstrain_cli-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5

File hashes

Hashes for nextstrain_cli-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff42184865df7297aa951222baba392afad041c7eb5d9e99d3dbda339678bb6a
MD5 dccfe15700b84a8dbc02d68288cf228e
BLAKE2b-256 40273bd878fbe5224378b195d6b18bdf4913fb0555a152c7bb858b482c01ae48

See more details on using hashes here.

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