Skip to content

Releases: anaconda/anaconda-client

1.14.1

02 Feb 15:39
7157722

Choose a tag to compare

What's Changed

This patch release contains two minor bugfixes, and minor changes to dependency specification. No breaking changes are intended.

Fixes

  • fix: Prevent duplicate prompts to overwrite token by @mattkram in #816
  • fix: Safely catch legacy flags on interactive login for other cmds by @AlbertDeFusco in #828

Dependency updates

Updated dependencies to:

  • anaconda-auth >=0.11.0
  • python >=3.10

Maintenance

  • chore(deps): update actions/checkout action to v5.0.1 by @anaconda-renovate[bot] in #814
  • chore(deps): update actions/setup-python action to v6.1.0 by @anaconda-renovate[bot] in #820
  • chore(deps): update actions/checkout action to v6 by @anaconda-renovate[bot] in #817
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.7 by @anaconda-renovate[bot] in #818
  • chore(deps): update dependency mypy to ~=1.19.0 by @anaconda-renovate[bot] in #821
  • chore: Update anaconda-auth dependencies and remove temporary dev pins by @mattkram in #822
  • [Snyk] Security upgrade pillow from 9.5.0 to 10.2.0 by @anaconda-security-bot in #796
  • chore(deps): update dependency typer to <0.20.1 by @anaconda-renovate[bot] in #803
  • fix: Target specific output in tests, instead of exact complete strings by @mattkram in #836
  • chore(deps): update pre-commit hook macisamuele/language-formatters-pre-commit-hooks to v2.16.0 by @anaconda-renovate[bot] in #833
  • chore(deps): update actions/checkout action to v6.0.2 by @anaconda-renovate[bot] in #823
  • chore(deps): update conda-incubator/setup-miniconda action to v3.3.0 by @anaconda-renovate[bot] in #834
  • chore(deps): update actions/cache action to v5 by @anaconda-renovate[bot] in #826
  • chore(deps): update github artifact actions (major) by @anaconda-renovate[bot] in #829
  • chore(deps): update actions/setup-python action to v6.2.0 by @anaconda-renovate[bot] in #837
  • chore(deps): update dependency setuptools to ~=80.10.2 by @anaconda-renovate[bot] in #839
  • chore(deps): update dependency types-setuptools to ~=80.10.0.20260124 by @anaconda-renovate[bot] in #840
  • chore(deps): update dependency pytest-html to ~=4.2.0 by @anaconda-renovate[bot] in #838
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.14 by @anaconda-renovate[bot] in #825
  • chore(deps): update dependency build to ~=1.4.0 by @anaconda-renovate[bot] in #832
  • chore: Bump minimum Python version to 3.10 by @mattkram in #841
  • chore(deps): update dependency coverage to ~=7.13.2 by @anaconda-renovate[bot] in #802
  • chore(deps): update dependency pytest to v9 by @anaconda-renovate[bot] in #811
  • chore(deps): update dependency bandit to ~=1.9.3 by @anaconda-renovate[bot] in #815
  • chore(deps): update actions/cache action to v5.0.3 by @anaconda-renovate[bot] in #842

New Contributors

Full Changelog: 1.14.0...1.14.1

1.14.0

19 Nov 17:10
9f79023

Choose a tag to compare

What's Changed

This release of anaconda-client contains exciting new features, several bugfixes, and a large number of improvements for repository maintenance.

All changes are intended to be backwards-compatible for non-interactive workflows (i.e. in CI/CD) and to introduce improved user experience for interactive workflows.

The most significant change is during interactive login via anaconda org login. Instead of using username/password from the terminal, users will now be directed to a modernized sign-in flow in the browser. To revert to the legacy login command with prompts and flags for username and password set ANACONDA_CLIENT_LEGACY_INTERACTIVE_LOGIN=1 environment variable. Note, that SSO-managed accounts will not be able to use username/password login and must use browser-based login. (see #797 for details).

In addition, we are moving towards a more modern CLI framework and have implemented new experimental handlers for all subcommands. These are disabled by default, but can be used by setting the ANACONDA_CLI_FORCE_NEW=true environment variable (see #737 for details). This will become the default in the future, so any feedback or bug reports are welcomed and encouraged!

Features

Fixes

  • fix: Replace deprecated pkg_resources with packaging by @mattkram in #726
  • fix: Update anaconda-cli-base minimum pin by @mattkram in #799
  • fix: Logging and tests with anaconda auth by @AlbertDeFusco in #805
  • fix: Add exception handling to support graceful fallback if server does not support by @mattkram in #808
  • fix: Remove use of deprecated is_flag argument by @mattkram in #809
  • fix: Exit early if user elects not to replace existing token by @mattkram in #812
  • fix: Prompt the user to login again first, before browser flow by @mattkram in #813

Maintenance

  • chore: Migrate from setup.py/setuptools to pyproject.toml/hatch by @mattkram in #738
  • chore: Move mypy and pytest settings to pyproject.toml by @mattkram in #741
  • chore: Replace pylint and pycodestyle with ruff by @mattkram in #739
  • chore(deps): Configure Renovate by @anaconda-renovate[bot] in #679
  • chore(deps): update actions/cache digest to 5a3ec84 by @anaconda-renovate[bot] in #743
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.11.7 by @anaconda-renovate[bot] in #744
  • chore(deps): pin dependencies by @anaconda-renovate[bot] in #742
  • chore(deps): update actions/checkout action to v2.7.0 by @anaconda-renovate[bot] in #746
  • chore(deps): update actions/upload-artifact action to v4.6.2 by @anaconda-renovate[bot] in #747
  • chore: Reformat code using ruff-format by @mattkram in #753
  • chore(deps): update dependency ansi2html to ~=1.9.2 by @anaconda-renovate[bot] in #749
  • chore(deps): update dependency pytest to ~=7.4.4 by @anaconda-renovate[bot] in #756
  • chore(deps): update dependency freezegun to ~=1.5.2 by @anaconda-renovate[bot] in #754
  • chore: Replace Python 3.8 with 3.13 in the test matrix by @mattkram in #759
  • chore(deps): update dependency mypy to ~=1.16.1 by @anaconda-renovate[bot] in #755
  • chore(deps): update conda-incubator/setup-miniconda action to v2.3.0 by @anaconda-renovate[bot] in #748
  • chore(deps): update dependency setuptools to v80 [security] by @anaconda-renovate[bot] in #757
  • chore(deps): update dependency coverage to ~=7.9.1 by @anaconda-renovate[bot] in #751
  • chore(deps): update dependency bandit to ~=1.8.5 by @anaconda-renovate[bot] in #750
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.2 by @anaconda-renovate[bot] in #766
  • chore(deps): update pre-commit hook macisamuele/language-formatters-pre-commit-hooks to v2.15.0 by @anaconda-renovate[bot] in #767
  • chore(deps): update dependency types-pytz to v2025 by @anaconda-renovate[bot] in #770
  • chore(deps): update dependency pytest-html to v4 by @anaconda-renovate[bot] in #773
  • chore(deps): update dependency pytest-cov to v6 by @anaconda-renovate[bot] in #772
  • chore(deps): update dependency types-setuptools to v80 by @anaconda-renovate[bot] in #774
  • chore(deps): update actions/checkout action to v4.2.2 by @anaconda-renovate[bot] in #768
  • chore(deps): update dependency types-requests to ~=2.32.4.20250611 by @anaconda-renovate[bot] in #763
  • chore(deps): update dependency typing-extensions to ~=4.14.1 by @anaconda-renovate[bot] in #765
  • chore(deps): update dependency types-python-dateutil to ~=2.9.0.20250516 by @anaconda-renovate[bot] in #761
  • chore(deps): update dependency types-tqdm to ~=4.67.0.20250516 by @anaconda-renovate[bot] in #764
  • chore(deps): update conda-incubator/setup-miniconda action to v3.2.0 by @anaconda-renovate[bot] in #769
  • chore(deps): update dependency pytest to v8 by @anaconda-renovate[bot] in #771
  • chore: Remove deprecated subcommands unsupported by anaconda.org by @mattkram in #777
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.5 by @anaconda-renovate[bot] in #779
  • chore(deps): update dependency coverage to ~=7.10.0 by @anaconda-renovate[bot] in #781
  • chore(deps): update dependency mypy to ~=1.17.0 by @anaconda-renovate[bot] in #780
  • chore(deps): update dependency build to ~=1.3.0 by @anaconda-renovate[bot] in #783
  • chore(deps): update actions/cache action to v4.3.0 by @anaconda-renovate[bot] in #784
  • chore(deps): update dependency mypy to ~=1.18.2 by @anaconda-renovate[bot] in #800
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.2 by @anaconda-renovate[bot] in #782
  • chore(deps): update dependency pytest-cov to ~=6.3.0 by @anaconda-renovate[bot] in #790
  • chore(deps): update dependency typing-extensions to ~=4.15.0 by @anaconda-renovate[bot] in #788
  • chore(deps): update dependency pytest-mock to ~=3.15.1 by @anaconda-renovate[bot] in #789
  • chore(deps): update dependency python to 3.14 by @anaconda-renovate[bot] in #801
  • chore(deps): update dependency pytest-cov to v7 by @anaconda-renovate[bot] in #791
  • chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 by @anaconda-renovate[bot] in #785
  • chore(deps): update github artifact actions (major) by @anaconda-renovate[bot] in #804
  • chore(deps): update actions/checkout action to v4.3.0 by @anaconda-renovate[bot] in #786
  • chore(deps): update actions/checkout action to v5 by @anaconda-renovate[bot] in #787
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.3 by @anaconda-renovate[bot] in #807

New Contributors

  • @anaconda-renovate[bot] made their first contribution in #679
  • @AlbertDeFusco made their first contribution in #805

Full Changelog: 1.13.1...1.14.0

1.14.0rc1

17 Nov 18:05
cfb4c9f

Choose a tag to compare

1.14.0rc1 Pre-release
Pre-release

What's Changed

Contains two fixes based on QA feedback in 1.14.0rc0.

  • fix: Exit early if user elects not to replace existing token by @mattkram in #812
  • fix: Prompt the user to login again first, before browser flow by @mattkram in #813

Full Changelog: 1.14.0rc0...1.14.0rc1

1.14.0rc0

10 Nov 18:51
d565be2

Choose a tag to compare

1.14.0rc0 Pre-release
Pre-release

What's Changed

Features

Fixes

  • fix: Replace deprecated pkg_resources with packaging by @mattkram in #726
  • fix: Update anaconda-cli-base minimum pin by @mattkram in #799
  • fix: Logging and tests with anaconda auth by @AlbertDeFusco in #805
  • fix: Add exception handling to support graceful fallback if server does not support by @mattkram in #808
  • fix: Remove use of deprecated is_flag argument by @mattkram in #809

Maintenance

  • chore: Migrate from setup.py/setuptools to pyproject.toml/hatch by @mattkram in #738
  • chore: Move mypy and pytest settings to pyproject.toml by @mattkram in #741
  • chore: Replace pylint and pycodestyle with ruff by @mattkram in #739
  • chore(deps): Configure Renovate by @anaconda-renovate[bot] in #679
  • chore(deps): update actions/cache digest to 5a3ec84 by @anaconda-renovate[bot] in #743
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.11.7 by @anaconda-renovate[bot] in #744
  • chore(deps): pin dependencies by @anaconda-renovate[bot] in #742
  • chore(deps): update actions/checkout action to v2.7.0 by @anaconda-renovate[bot] in #746
  • chore(deps): update actions/upload-artifact action to v4.6.2 by @anaconda-renovate[bot] in #747
  • chore: Reformat code using ruff-format by @mattkram in #753
  • chore(deps): update dependency ansi2html to ~=1.9.2 by @anaconda-renovate[bot] in #749
  • chore(deps): update dependency pytest to ~=7.4.4 by @anaconda-renovate[bot] in #756
  • chore(deps): update dependency freezegun to ~=1.5.2 by @anaconda-renovate[bot] in #754
  • chore: Replace Python 3.8 with 3.13 in the test matrix by @mattkram in #759
  • chore(deps): update dependency mypy to ~=1.16.1 by @anaconda-renovate[bot] in #755
  • chore(deps): update conda-incubator/setup-miniconda action to v2.3.0 by @anaconda-renovate[bot] in #748
  • chore(deps): update dependency setuptools to v80 [security] by @anaconda-renovate[bot] in #757
  • chore(deps): update dependency coverage to ~=7.9.1 by @anaconda-renovate[bot] in #751
  • chore(deps): update dependency bandit to ~=1.8.5 by @anaconda-renovate[bot] in #750
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.2 by @anaconda-renovate[bot] in #766
  • chore(deps): update pre-commit hook macisamuele/language-formatters-pre-commit-hooks to v2.15.0 by @anaconda-renovate[bot] in #767
  • chore(deps): update dependency types-pytz to v2025 by @anaconda-renovate[bot] in #770
  • chore(deps): update dependency pytest-html to v4 by @anaconda-renovate[bot] in #773
  • chore(deps): update dependency pytest-cov to v6 by @anaconda-renovate[bot] in #772
  • chore(deps): update dependency types-setuptools to v80 by @anaconda-renovate[bot] in #774
  • chore(deps): update actions/checkout action to v4.2.2 by @anaconda-renovate[bot] in #768
  • chore(deps): update dependency types-requests to ~=2.32.4.20250611 by @anaconda-renovate[bot] in #763
  • chore(deps): update dependency typing-extensions to ~=4.14.1 by @anaconda-renovate[bot] in #765
  • chore(deps): update dependency types-python-dateutil to ~=2.9.0.20250516 by @anaconda-renovate[bot] in #761
  • chore(deps): update dependency types-tqdm to ~=4.67.0.20250516 by @anaconda-renovate[bot] in #764
  • chore(deps): update conda-incubator/setup-miniconda action to v3.2.0 by @anaconda-renovate[bot] in #769
  • chore(deps): update dependency pytest to v8 by @anaconda-renovate[bot] in #771
  • chore: Remove deprecated subcommands unsupported by anaconda.org by @mattkram in #777
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.12.5 by @anaconda-renovate[bot] in #779
  • chore(deps): update dependency coverage to ~=7.10.0 by @anaconda-renovate[bot] in #781
  • chore(deps): update dependency mypy to ~=1.17.0 by @anaconda-renovate[bot] in #780
  • chore(deps): update dependency build to ~=1.3.0 by @anaconda-renovate[bot] in #783
  • chore(deps): update actions/cache action to v4.3.0 by @anaconda-renovate[bot] in #784
  • chore(deps): update dependency mypy to ~=1.18.2 by @anaconda-renovate[bot] in #800
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.2 by @anaconda-renovate[bot] in #782
  • chore(deps): update dependency pytest-cov to ~=6.3.0 by @anaconda-renovate[bot] in #790
  • chore(deps): update dependency typing-extensions to ~=4.15.0 by @anaconda-renovate[bot] in #788
  • chore(deps): update dependency pytest-mock to ~=3.15.1 by @anaconda-renovate[bot] in #789
  • chore(deps): update dependency python to 3.14 by @anaconda-renovate[bot] in #801
  • chore(deps): update dependency pytest-cov to v7 by @anaconda-renovate[bot] in #791
  • chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 by @anaconda-renovate[bot] in #785
  • chore(deps): update github artifact actions (major) by @anaconda-renovate[bot] in #804
  • chore(deps): update actions/checkout action to v4.3.0 by @anaconda-renovate[bot] in #786
  • chore(deps): update actions/checkout action to v5 by @anaconda-renovate[bot] in #787
  • chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.14.3 by @anaconda-renovate[bot] in #807

New Contributors

  • @anaconda-renovate[bot] made their first contribution in #679
  • @AlbertDeFusco made their first contribution in #805

Full Changelog: 1.13.0...1.14.0rc0

1.13.1

12 Sep 17:08

Choose a tag to compare

What's Changed

This hotfix release address an issue in argument parsing when other plugins are installed and options are passed between anaconda and the subcommand. Please see PR below for more context.

  • fix: Ensure --token argument is captured in anaconda --token TOKEN upload by @mattkram in #792

Full Changelog: 1.13.0...1.13.1

1.13.0

01 Nov 13:49
0899200

Choose a tag to compare

Summary

As part of extending our CLI, we have been migrating to a plugin-based system. This release removes the anaconda entrypoint from anaconda-client, which is now located instead in anaconda-cli-base. When these changes are installed, we don't intend any breaking behavior for the user.

Users that install anaconda-client as the only CLI plugin should not see any behavior change with this release.

Any changes are generally dependent on the presence of other Anaconda CLI plugins. In the case that another plugin is installed (like anaconda-cloud-auth), the following changes may be observed:

  • All existing anaconda-client subcommands are available
  • All existing anaconda-client subcommands are ALSO available with the org prefix, e.g. anaconda org upload.
    It is recommended to adopt this format, as it is more explicit.
  • The help text will be modified (i.e. type anaconda --help). Not all anaconda-client subcommands will be shown in the top-level help.
  • The anaconda notebooks subcommand will explicitly be listed as deprecated in the CLI help.

In order to maintain backwards compatibility for all subcommands, we include logic to mount all existing subcommands from anaconda-client as top-level subcommands. anaconda-client subcommands continue to work until overridden by new plugins, but may not be displayed in the global help output. We also include all subcommands under the namespace anaconda org, e.g. anaconda org upload. The help for all nested subcommands can be accessed with anaconda org --help.

Users may disable the new plugin system by setting the environment variable ANACONDA_CLIENT_FORCE_STANDALONE=1.

In addition to automated testing, this release has undergone an extensive internal QA process. However, if any unintended regressions do occur, please file a bug in our issue tracker.

Pull requests merged

  • PR 717 - Drop dependency on six
  • PR 718 - Fix local development setup via make init
  • PR 719 - Migrate anaconda-client to become a plugin of anaconda-cli-base
  • PR 711 - Remove duplicate import
  • PR 714 - Updated links in upload help text
  • PR 724 - Use conda package streaming to fix bug in upload of packages with bad permissions

1.12.3

22 Feb 13:01

Choose a tag to compare

AC-210: bump version to 1.12.3

1.12.2

15 Nov 12:31

Choose a tag to compare

AC-201: remove py3.12 from CI checks

1.12.2rc1

13 Nov 16:21

Choose a tag to compare

1.12.2rc1 Pre-release
Pre-release
AC-201: bump version 1.12.2

1.12.1

13 Sep 13:34

Choose a tag to compare

AC-190: bump version to 1.12.1