Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide whether to use nextstrain meta package from Bioconda with pinned versions for installation docs #56

Open
huddlej opened this issue May 7, 2021 · 0 comments
Labels
documentation Improvements or additions to documentation

Comments

@huddlej
Copy link
Contributor

huddlej commented May 7, 2021

As described in 4fb61d9 and this comment on the install docs rewrite PR, we need to decide whether to use the nextstrain meta package from Bioconda to install all Nextstrain tools or to stick with a manual list of those tools in our docs.

The goal of the nextstrain meta package in Bioconda was to create a unified starting point for users to install all of the packages from our Nextstrain ecosystem with a simpler install command (e.g., conda install nextstrain). We designed this meta package to not pin any specific versions of dependencies, with the hope that the Conda solvers would be able to pull the latest versions of all dependencies as needed.

In practice, however, both Conda's and Mamba's solvers default to installing older versions of Augur even when new versions are available. This specific issue may be caused by Augur's Bioconda dependency on Snakemake that the Augur Python package itself does not have and interactions with Snakemake's other dependencies. Whatever the root cause of the issue, we most likely cannot use the nextstrain meta package without pinning specific versions of all dependencies and then updating those manually with separate PRs with each new release of those dependencies.

To avoid this additional maintenance overhead, our current installation docs hardcode the specific list of packages that are included in that meta package as part of the install command. This approach installs the most recent versions of all packages (as expected) and also updates to the latest versions using the simpler conda update --all command. However, our suite of Nextstrain tools is likely to change in the future.

The question now is whether we simplify the user's experience by manually pinning versions of Nextstrain tools in the nextstrain meta package or we simplify our own development process by hardcoding the list of those tools wherever we provide installation docs (the main docs, seminars, workshops, etc.).

@huddlej huddlej added the documentation Improvements or additions to documentation label May 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant