{"id":23223098,"url":"https://github.com/nextstrain/conda-base","last_synced_at":"2025-08-19T11:32:58.961Z","repository":{"id":61615123,"uuid":"551709851","full_name":"nextstrain/conda-base","owner":"nextstrain","description":"Conda package build for nextstrain-base","archived":false,"fork":false,"pushed_at":"2024-11-22T00:36:13.000Z","size":92,"stargazers_count":1,"open_issues_count":11,"forks_count":1,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-11-22T01:19:35.546Z","etag":null,"topics":["conda","mamba","nextstrain"],"latest_commit_sha":null,"homepage":"https://anaconda.org/Nextstrain/nextstrain-base","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextstrain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-14T23:55:50.000Z","updated_at":"2024-11-22T00:35:17.000Z","dependencies_parsed_at":"2023-01-29T00:45:13.347Z","dependency_job_id":"cde8ae1e-58f8-4b33-9f28-d8eabc083ef5","html_url":"https://github.com/nextstrain/conda-base","commit_stats":{"total_commits":49,"total_committers":4,"mean_commits":12.25,"dds":0.5714285714285714,"last_synced_commit":"22481912dc41ee0c22f127a9c73686b654da2678"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextstrain%2Fconda-base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextstrain%2Fconda-base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextstrain%2Fconda-base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextstrain%2Fconda-base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextstrain","download_url":"https://codeload.github.com/nextstrain/conda-base/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230351132,"owners_count":18212790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conda","mamba","nextstrain"],"created_at":"2024-12-18T23:16:03.408Z","updated_at":"2025-08-19T11:32:58.943Z","avatar_url":"https://github.com/nextstrain.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Conda package for nextstrain-base\n\n![CI](https://github.com/nextstrain/conda-base/actions/workflows/ci.yaml/badge.svg)\n[![Anaconda-Server Badge](https://anaconda.org/nextstrain/nextstrain-base/badges/latest_release_relative_date.svg)](https://anaconda.org/nextstrain/nextstrain-base)\n[![Anaconda-Server Badge](https://anaconda.org/nextstrain/nextstrain-base/badges/downloads.svg)](https://anaconda.org/nextstrain/nextstrain-base)\n\nThis is the source for creating the `nextstrain-base` Conda package.\n\nThis meta-package depends on all the other packages needed for a base\nNextstrain runtime installed as a Conda environment.  As the nextstrain/base\nimage is to Nextstrain CLI's Docker runtime, this nextstrain-base package is to\nNextstrain CLI's Conda runtime.  The package's dependencies which completely\nlock its full transitive dependency tree.  This means that if version _X_ of\nnextstrain-base worked some way in the past, it'll work the same way in the\nfuture.\n\nNote that this is not a general purpose package for installing Nextstrain.\nIt's intended for use by Nextstrain CLI's managed Conda runtime and may be\nunsuitable for use in a user-managed Conda environment.\n\n\n## How it works\n\nThe meta-package source recipe is in `src/meta.yaml`.  This is a [conda-build\nrecipe spec][].  It defines our runtime's direct dependencies, typically\nwithout version restrictions (pins) or with only loose pinning as necessary.\nThe recipe declares [`pin_depends: strict`][] in order to fully lock its\ndependency tree at package build time.\n\nAs the fully locked dependency trees are platform-specific, [CI][] produces\npackages for both Linux and macOS (i.e. for Conda's `linux-64` and `osx-64`\nsubdirs).\n\n[conda-build recipe spec]: https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html\n[`pin_depends: strict`]: https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#pin-runtime-dependencies\n\n\n## Developing\n\n_You can build this package locally during development, but it's important for\nproduction releases to happen via CI so packages are built for both Linux and\nmacOS._\n\nFirst, setup a Conda environment for development in `.dev-env/` so that\n[conda-build](https://docs.conda.io/projects/conda-build/) is available.\n\n    ./devel/setup\n\nYou only need to do this once, or whenever you want to refresh your development\nenvironment.  Either [Micromamba][], [Mamba][], or [Conda][] must be available\nfor setup to succeed. You do not need to create a new environment yourself,\nthe script automatically sets everything up without interfering with your\nexisting environments.\n\n[Micromamba]: https://mamba.readthedocs.io/page/user_guide/micromamba.html\n[Mamba]: https://mamba.readthedocs.io\n[Conda]: https://docs.conda.io/projects/conda/\n\n### Building\n\nTo build this package locally, run:\n\n    ./devel/build\n\nThe final built package will be written to\n`build/\u003carch\u003e/nextstrain-base-*.conda`, where `\u003carch\u003e` is a Conda subdir, i.e.\n`linux-64`, `osx-64` or `osx-arm64`.\n\n[CI][] builds store the entire `build/` directory as an artifact attached to\neach CI run.  You can download the artifacts to inspect the built packages or\ninstall them.\n\n[CI]: https://github.com/nextstrain/conda-base/actions/workflows/ci.yaml\n\n### Installing\n\nTo install the built package into a new environment, run:\n\n    mamba create                              \\\n      --prefix /path/to/new/env               \\\n      --strict-channel-priority               \\\n      --override-channels                     \\\n      --channel conda-forge                   \\\n      --channel bioconda                      \\\n      --channel ./build/                      \\\n      nextstrain-base\n\n### Uploading\n\nTo upload the built package to anaconda.org, run:\n\n    ./devel/upload\n\nYou'll need an appropriate Anaconda API token set in the `ANACONDA_TOKEN`\nenvironment variable.  The token must have at least the `api:read`,\n`api:write`, and `conda` scopes attached to it.  CI uses a token issued for the\n[Nextstrain Anaconda organization](https://anaconda.org/Nextstrain/settings/access).\n\nYou can adjust the label applied to the uploaded package by setting the `LABEL`\nenvironment variable.  By default the Git ref is used to determine the label:\n\n- Uploads from our `main` branch are given the `main` label.  These packages\n  will be found by default for anyone using our Anaconda channel (e.g.\n  `--channel nextstrain`).\n\n- Uploads from other branches, tags, and PRs will get `branch-\u003cname\u003e`,\n  `tag-\u003cname\u003e`, and `pull-\u003cnumber\u003e` labels.  These packages can be used by\n  asking for them explicitly (e.g. `--channel nextstrain/label/pull-123`).\n\nIf no label can be worked out, then `dev` is used as a final fallback.\n\n[CI][] uploads the built package if it passes the test phase.  You can use the\nabove labels to install CI-uploaded packages locally without downloading the CI\nartifacts.\n\n\n### Repository layout\n\n`src/` contains the package recipe source.  Any files in this directory will be\nautomatically included in the built package.  (`meta.yaml` doesn't live in the\ntop-level of the repo, and thus `src/` exists, to avoid including the whole\nrepo in each built package.)\n\n`build/` contains build outputs not tracked in version control.\n\n`devel/` contains programs for development of this package.\n\n`.condarc` is used to specify configuration (e.g. channels) for `conda build`.\n\n\n## History\n\n- [Initial suggestion of the meta-package][1] on the Nextstrain CLI PR\n  introducing the Conda runtime.\n\n- [Further discussion about the meta-package][2] on Slack, motivated by the\n  Conda runtime [breaking between one day and the next][3] due to upstream\n  changes.\n\n[1]: https://github.com/nextstrain/cli/pull/218#issuecomment-1269082344\n[2]: https://bedfordlab.slack.com/archives/C01LCTT7JNN/p1665599068266849\n[3]: https://bedfordlab.slack.com/archives/C01LCTT7JNN/p1665594330478279\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextstrain%2Fconda-base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextstrain%2Fconda-base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextstrain%2Fconda-base/lists"}