From 08c81ca46ebd020bd7f27f7690f18781a1edb2b5 Mon Sep 17 00:00:00 2001 From: Marcelo Duarte Trevisani Date: Tue, 8 Mar 2022 12:15:07 +0000 Subject: [PATCH 01/12] Update calls to support python 3.7 on windows --- conda_lock/invoke_conda.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda_lock/invoke_conda.py b/conda_lock/invoke_conda.py index b9669ea63..b2f9c18da 100644 --- a/conda_lock/invoke_conda.py +++ b/conda_lock/invoke_conda.py @@ -55,7 +55,7 @@ def determine_conda_executable( if candidate is not None: if is_micromamba(candidate): if ensureconda.api.determine_micromamba_version( - candidate + str(candidate) ) < LooseVersion("0.17"): mamba_root_prefix() return candidate @@ -102,7 +102,7 @@ def _invoke_conda( if conda_flags: common_args.extend(shlex.split(conda_flags)) - cmd = [str(conda), *command_args, *common_args, *post_args] + cmd = list(map(str, [str(conda), *command_args, *common_args, *post_args])) with subprocess.Popen( cmd, From 612ae05f940e51b46e5e86231a4302e8147a5e4d Mon Sep 17 00:00:00 2001 From: Marcelo Duarte Trevisani Date: Tue, 8 Mar 2022 12:15:23 +0000 Subject: [PATCH 02/12] Update calls to support python 3.7 on windows --- conda_lock/conda_solver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda_lock/conda_solver.py b/conda_lock/conda_solver.py index 120292dc4..456fb0a36 100644 --- a/conda_lock/conda_solver.py +++ b/conda_lock/conda_solver.py @@ -314,7 +314,7 @@ def solve_specs_for_arch( args.extend(specs) logger.info("%s using specs %s", platform, specs) proc = subprocess.run( - args, + list(map(str, args)), env=conda_env_override(platform), stdout=subprocess.PIPE, stderr=subprocess.PIPE, @@ -437,7 +437,7 @@ def update_specs_for_arch( *_get_conda_flags(channels=channels, platform=platform), ] proc = subprocess.run( - args + ["-p", prefix, "--json", "--dry-run", *to_update], + map(str, args + ["-p", prefix, "--json", "--dry-run", *to_update])), env=conda_env_override(platform), stdout=subprocess.PIPE, stderr=subprocess.PIPE, From df1634a0bfa1ae71a79e211426bd9ff9cb46eb51 Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Tue, 8 Mar 2022 13:02:09 +0000 Subject: [PATCH 03/12] Remain backward compatible with python 3.6 and 3.7 --- conda_lock/conda_lock.py | 2 +- conda_lock/conda_solver.py | 13 +++++++------ conda_lock/src_parser/__init__.py | 3 ++- conda_lock/src_parser/pyproject_toml.py | 3 ++- requirements.txt | 3 ++- setup.cfg | 1 + 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/conda_lock/conda_lock.py b/conda_lock/conda_lock.py index 3288b501f..77f5c91cd 100644 --- a/conda_lock/conda_lock.py +++ b/conda_lock/conda_lock.py @@ -21,7 +21,6 @@ Dict, Iterator, List, - Literal, Optional, Sequence, Set, @@ -35,6 +34,7 @@ import pkg_resources import yaml +from typing_extensions import Literal from ensureconda import ensureconda from conda_lock.click_helpers import OrderedGroup diff --git a/conda_lock/conda_solver.py b/conda_lock/conda_solver.py index 456fb0a36..0e04146cf 100644 --- a/conda_lock/conda_solver.py +++ b/conda_lock/conda_solver.py @@ -18,11 +18,12 @@ MutableSequence, Optional, Sequence, - TypedDict, cast, ) from urllib.parse import urlsplit, urlunsplit +from typing_extensions import TypedDict + from conda_lock.invoke_conda import ( PathLike, _get_conda_flags, @@ -158,10 +159,10 @@ def solve_conda( def normalize_url(url: str) -> str: for channel in channels: - candidate1 = channel.conda_token_replaced_url() - url = re.sub(rf"^{candidate1}(.*)", rf"{channel.url}\1", url) - candidate2 = channel.env_replaced_url() - url = re.sub(rf"^{candidate2}(.*)", rf"{channel.url}\1", url) + candidate1 = re.escape(channel.conda_token_replaced_url()) + url = re.sub(rf"^{candidate1}(.*)", rf"{re.escape(channel.url)}\1", url) + candidate2 = re.escape(channel.env_replaced_url()) + url = re.sub(rf"^{candidate2}(.*)", rf"{re.escape(channel.url)}\1", url) return url # extract dependencies from package plan @@ -437,7 +438,7 @@ def update_specs_for_arch( *_get_conda_flags(channels=channels, platform=platform), ] proc = subprocess.run( - map(str, args + ["-p", prefix, "--json", "--dry-run", *to_update])), + list(map(str, args + ["-p", prefix, "--json", "--dry-run", *to_update])), env=conda_env_override(platform), stdout=subprocess.PIPE, stderr=subprocess.PIPE, diff --git a/conda_lock/src_parser/__init__.py b/conda_lock/src_parser/__init__.py index a7957a0f8..c57cf1961 100644 --- a/conda_lock/src_parser/__init__.py +++ b/conda_lock/src_parser/__init__.py @@ -5,8 +5,9 @@ from collections import defaultdict, namedtuple from itertools import chain -from typing import ClassVar, Dict, List, Literal, Optional, Sequence, Set, Tuple, Union +from typing import ClassVar, Dict, List, Optional, Sequence, Set, Tuple, Union +from typing_extensions import Literal from pydantic import BaseModel, Field, validator from conda_lock.common import ordered_union, suffix_union diff --git a/conda_lock/src_parser/pyproject_toml.py b/conda_lock/src_parser/pyproject_toml.py index c9082c2fa..d5968ba14 100644 --- a/conda_lock/src_parser/pyproject_toml.py +++ b/conda_lock/src_parser/pyproject_toml.py @@ -3,9 +3,10 @@ import pathlib from functools import partial -from typing import AbstractSet, Any, List, Literal, Mapping, Optional, Sequence, Union +from typing import AbstractSet, Any, List, Mapping, Optional, Sequence, Union from urllib.parse import urldefrag +from typing_extensions import Literal import toml from conda_lock.common import get_in diff --git a/requirements.txt b/requirements.txt index 8b4e6985f..544cdaba5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,4 +7,5 @@ click click-default-group pydantic poetry -ruamel.yaml \ No newline at end of file +ruamel.yaml +typing_extensions \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index f91adc57c..916f9c3ef 100644 --- a/setup.cfg +++ b/setup.cfg @@ -40,6 +40,7 @@ install_requires = pydantic >=1.8.1 ruamel.yaml poetry + typing_extensions python_requires = >=3.6 packages = find: setup_requires = From a9e6170226a8c467ce42bcaa3d17180f66a79720 Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Tue, 8 Mar 2022 13:10:55 +0000 Subject: [PATCH 04/12] Run pre-commit --- conda_lock/conda_lock.py | 2 +- conda_lock/conda_solver.py | 4 +++- conda_lock/src_parser/__init__.py | 2 +- conda_lock/src_parser/pyproject_toml.py | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/conda_lock/conda_lock.py b/conda_lock/conda_lock.py index 77f5c91cd..3951bf3b7 100644 --- a/conda_lock/conda_lock.py +++ b/conda_lock/conda_lock.py @@ -34,8 +34,8 @@ import pkg_resources import yaml -from typing_extensions import Literal from ensureconda import ensureconda +from typing_extensions import Literal from conda_lock.click_helpers import OrderedGroup from conda_lock.common import read_file, read_json, relative_path, write_file diff --git a/conda_lock/conda_solver.py b/conda_lock/conda_solver.py index 0e04146cf..4e12faa33 100644 --- a/conda_lock/conda_solver.py +++ b/conda_lock/conda_solver.py @@ -438,7 +438,9 @@ def update_specs_for_arch( *_get_conda_flags(channels=channels, platform=platform), ] proc = subprocess.run( - list(map(str, args + ["-p", prefix, "--json", "--dry-run", *to_update])), + list( + map(str, args + ["-p", prefix, "--json", "--dry-run", *to_update]) + ), env=conda_env_override(platform), stdout=subprocess.PIPE, stderr=subprocess.PIPE, diff --git a/conda_lock/src_parser/__init__.py b/conda_lock/src_parser/__init__.py index c57cf1961..31f8252b4 100644 --- a/conda_lock/src_parser/__init__.py +++ b/conda_lock/src_parser/__init__.py @@ -7,8 +7,8 @@ from itertools import chain from typing import ClassVar, Dict, List, Optional, Sequence, Set, Tuple, Union -from typing_extensions import Literal from pydantic import BaseModel, Field, validator +from typing_extensions import Literal from conda_lock.common import ordered_union, suffix_union from conda_lock.errors import ChannelAggregationError diff --git a/conda_lock/src_parser/pyproject_toml.py b/conda_lock/src_parser/pyproject_toml.py index d5968ba14..322e9c3ba 100644 --- a/conda_lock/src_parser/pyproject_toml.py +++ b/conda_lock/src_parser/pyproject_toml.py @@ -6,9 +6,10 @@ from typing import AbstractSet, Any, List, Mapping, Optional, Sequence, Union from urllib.parse import urldefrag -from typing_extensions import Literal import toml +from typing_extensions import Literal + from conda_lock.common import get_in from conda_lock.lookup import get_forward_lookup as get_lookup from conda_lock.src_parser import ( From f81ef958bb257f2a8dbb961a3a41725ea1640a7b Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Tue, 8 Mar 2022 13:54:39 +0000 Subject: [PATCH 05/12] Avoid regex in normalize_url to avoid \u presence in string --- conda_lock/conda_solver.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/conda_lock/conda_solver.py b/conda_lock/conda_solver.py index 4e12faa33..342ee5370 100644 --- a/conda_lock/conda_solver.py +++ b/conda_lock/conda_solver.py @@ -159,10 +159,13 @@ def solve_conda( def normalize_url(url: str) -> str: for channel in channels: - candidate1 = re.escape(channel.conda_token_replaced_url()) - url = re.sub(rf"^{candidate1}(.*)", rf"{re.escape(channel.url)}\1", url) - candidate2 = re.escape(channel.env_replaced_url()) - url = re.sub(rf"^{candidate2}(.*)", rf"{re.escape(channel.url)}\1", url) + candidate1 = channel.conda_token_replaced_url() + if url.startswith(candidate1): + url = url.replace(candidate1, channel.url, 1) + + candidate2 = channel.env_replaced_url() + if url.startswith(candidate2): + url = url.replace(candidate2, channel.url, 1) return url # extract dependencies from package plan From b87dae7ee3f6e2ebf5fe92cf5188819aa07bdce0 Mon Sep 17 00:00:00 2001 From: Marcelo Duarte Trevisani Date: Tue, 8 Mar 2022 14:46:42 +0000 Subject: [PATCH 06/12] add python3.6 to the test matrix --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8d463bdbf..a34911161 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,7 +47,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest ] - python-version: [ 3.8 ] + python-version: [ 3.6, 3.8 ] defaults: run: shell: bash -l {0} From 066390b5ac5609ff3cd6ec10412cee8c6cfa6af4 Mon Sep 17 00:00:00 2001 From: Marcelo Duarte Trevisani Date: Tue, 8 Mar 2022 14:51:13 +0000 Subject: [PATCH 07/12] change python 3.6 to 3.7 on CI --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a34911161..dc03dfd1b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -47,7 +47,7 @@ jobs: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest ] - python-version: [ 3.6, 3.8 ] + python-version: [ 3.7, 3.8 ] defaults: run: shell: bash -l {0} From 9fad3b8ac91c71b8ff15f9abc7891e149aaa1699 Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Tue, 8 Mar 2022 16:15:53 +0000 Subject: [PATCH 08/12] Adjust mock in test_run_lock_with_locked_environment_files --- tests/test_conda_lock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_conda_lock.py b/tests/test_conda_lock.py index 6e119c6e2..ed699cb93 100644 --- a/tests/test_conda_lock.py +++ b/tests/test_conda_lock.py @@ -416,7 +416,7 @@ def test_run_lock_with_locked_environment_files( make_lock_files = MagicMock() monkeypatch.setattr("conda_lock.conda_lock.make_lock_files", make_lock_files) run_lock(DEFAULT_FILES, conda_exe=conda_exe, update=["pydantic"]) - assert [p.resolve() for p in make_lock_files.call_args.kwargs["src_files"]] == [ + assert [p.resolve() for p in make_lock_files.call_args_list[0][1]["src_files"]] == [ pathlib.Path(update_environment.parent / "environment-preupdate.yml") ] From 74794d6f906005ee1ebf6ec465403a8b13e9fb6d Mon Sep 17 00:00:00 2001 From: Marius van Niekerk Date: Tue, 8 Mar 2022 11:59:32 -0500 Subject: [PATCH 09/12] Tuple indexing is unreadable --- tests/test_conda_lock.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/test_conda_lock.py b/tests/test_conda_lock.py index ed699cb93..6bf6508d1 100644 --- a/tests/test_conda_lock.py +++ b/tests/test_conda_lock.py @@ -416,7 +416,13 @@ def test_run_lock_with_locked_environment_files( make_lock_files = MagicMock() monkeypatch.setattr("conda_lock.conda_lock.make_lock_files", make_lock_files) run_lock(DEFAULT_FILES, conda_exe=conda_exe, update=["pydantic"]) - assert [p.resolve() for p in make_lock_files.call_args_list[0][1]["src_files"]] == [ + if sys.version_info < (3, 8) + # backwards compat + src_files = make_lock_files.call_args_list[0][1]["src_files"]] + else: + src_files = make_lock_files.call_args.kwargs["src_files"] + + assert [p.resolve() for p in src_files] == [ pathlib.Path(update_environment.parent / "environment-preupdate.yml") ] From 5a1774c8932183c9182c718ae0e0e40e67c7c325 Mon Sep 17 00:00:00 2001 From: Marcelo Trevisani Date: Tue, 8 Mar 2022 17:42:38 +0000 Subject: [PATCH 10/12] Following reviews on PR --- conda_lock/conda_solver.py | 9 +- conda_lock/invoke_conda.py | 2 +- tests/test-update/conda-lock.bak | 280 +++++++++++++++++++++++++++++++ tests/test_conda_lock.py | 4 +- 4 files changed, 288 insertions(+), 7 deletions(-) create mode 100644 tests/test-update/conda-lock.bak diff --git a/conda_lock/conda_solver.py b/conda_lock/conda_solver.py index 342ee5370..e13d253f4 100644 --- a/conda_lock/conda_solver.py +++ b/conda_lock/conda_solver.py @@ -318,7 +318,7 @@ def solve_specs_for_arch( args.extend(specs) logger.info("%s using specs %s", platform, specs) proc = subprocess.run( - list(map(str, args)), + [str(arg) for arg in args], env=conda_env_override(platform), stdout=subprocess.PIPE, stderr=subprocess.PIPE, @@ -441,9 +441,10 @@ def update_specs_for_arch( *_get_conda_flags(channels=channels, platform=platform), ] proc = subprocess.run( - list( - map(str, args + ["-p", prefix, "--json", "--dry-run", *to_update]) - ), + [ + str(arg) + for arg in args + ["-p", prefix, "--json", "--dry-run", *to_update] + ], env=conda_env_override(platform), stdout=subprocess.PIPE, stderr=subprocess.PIPE, diff --git a/conda_lock/invoke_conda.py b/conda_lock/invoke_conda.py index b2f9c18da..02c0056e0 100644 --- a/conda_lock/invoke_conda.py +++ b/conda_lock/invoke_conda.py @@ -102,7 +102,7 @@ def _invoke_conda( if conda_flags: common_args.extend(shlex.split(conda_flags)) - cmd = list(map(str, [str(conda), *command_args, *common_args, *post_args])) + cmd = [str(arg) for arg in [conda, *command_args, *common_args, *post_args]] with subprocess.Popen( cmd, diff --git a/tests/test-update/conda-lock.bak b/tests/test-update/conda-lock.bak new file mode 100644 index 000000000..90f43c676 --- /dev/null +++ b/tests/test-update/conda-lock.bak @@ -0,0 +1,280 @@ +metadata: + channels: + - conda-forge + content_hash: + linux-64: a08b52d095fd885c7d9b400df51d0df50be1999d9740eee1e60050b82b9a595a + platforms: + - linux-64 + sources: + - environment-preupdate.yml +package: +- category: main + hash: + md5: d7c89558ba9fa0495403155b64376d81 + manager: conda + name: _libgcc_mutex + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 + version: '0.1' +- category: main + dependencies: + _libgcc_mutex: 0.1 conda_forge + libgomp: '>=7.5.0' + hash: + md5: 561e277319a41d4f24f5c05a9ef63c04 + manager: conda + name: _openmp_mutex + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2 + version: '4.5' +- category: main + hash: + md5: 575611b8a84f45960e87722eeb51fa26 + manager: conda + name: ca-certificates + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2 + version: 2021.10.8 +- category: main + hash: + md5: bd4f2e711b39af170e7ff15163fe87ee + manager: conda + name: ld_impl_linux-64 + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2 + version: 2.36.1 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + libstdcxx-ng: '>=7.5.0' + hash: + md5: 665369991d8dd290ac5ee92fce3e6bf5 + manager: conda + name: libffi + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.3-h58526e2_2.tar.bz2 + version: '3.3' +- category: main + dependencies: + _libgcc_mutex: 0.1 conda_forge + _openmp_mutex: '>=4.5' + hash: + md5: e3495f4f93cfd6b68021cbe2b5844cd5 + manager: conda + name: libgcc-ng + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2 + version: 11.2.0 +- category: main + dependencies: + _libgcc_mutex: 0.1 conda_forge + hash: + md5: 1d16527c76842bf9c41e9399d39d8097 + manager: conda + name: libgomp + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2 + version: 11.2.0 +- category: main + hash: + md5: 0bf83958e788f1e75ba26154cb702afe + manager: conda + name: libstdcxx-ng + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2 + version: 11.2.0 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + hash: + md5: dcddf696ff5dfcab567100d691678e18 + manager: conda + name: libzlib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2 + version: 1.2.11 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + hash: + md5: 509f2a21c4a09214cd737a480dfd80c9 + manager: conda + name: ncurses + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2 + version: '6.2' +- category: main + dependencies: + ca-certificates: '' + libgcc-ng: '>=9.4.0' + hash: + md5: de7b38a1542dbe6f41653a8ae71adc53 + manager: conda + name: openssl + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2 + version: 1.1.1l +- category: main + dependencies: + python: '>=3.6' + setuptools: '' + wheel: '' + hash: + md5: e4fe2a9af78ff11f1aced7e62128c6a8 + manager: conda + name: pip + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/pip-21.3.1-pyhd8ed1ab_0.tar.bz2 + version: 21.3.1 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: f33be4cbe9070ef3671852aaa304e2f6 + manager: conda + name: pydantic + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.7-py39h07f9747_0.tar.bz2 + version: '1.7' +- category: main + dependencies: + ld_impl_linux-64: '>=2.36.1' + libffi: '>=3.3,<3.4.0a0' + libgcc-ng: '>=9.3.0' + ncurses: '>=6.2,<6.3.0a0' + openssl: '>=1.1.1k,<1.1.2a' + pip: '' + readline: '>=8.1,<9.0a0' + sqlite: '>=3.36.0,<4.0a0' + tk: '>=8.6.10,<8.7.0a0' + tzdata: '' + xz: '>=5.2.5,<5.3.0a0' + zlib: '>=1.2.11,<1.3.0a0' + hash: + md5: 3ef028f528fe6cae3a536acb5d31be7a + manager: conda + name: python + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.6-h49503c6_1_cpython.tar.bz2 + version: 3.9.6 +- category: main + dependencies: + python: 3.9.* + hash: + md5: 39adde4247484de2bb4000122fdcf665 + manager: conda + name: python_abi + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2 + version: '3.9' +- category: main + dependencies: + libgcc-ng: '>=9.3.0' + ncurses: '>=6.2,<6.3.0a0' + hash: + md5: 5788de3c8d7a7d64ac56c784c4ef48e6 + manager: conda + name: readline + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2 + version: '8.1' +- category: main + dependencies: + python: '>=3.9,<3.10.0a0' + python_abi: 3.9.* *_cp39 + hash: + md5: 244a9b317c98ebffafd291777083a91a + manager: conda + name: setuptools + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.1.1-py39hf3d152e_0.tar.bz2 + version: 59.1.1 +- category: main + dependencies: + libgcc-ng: '>=9.4.0' + ncurses: '>=6.2,<6.3.0a0' + readline: '>=8.1,<9.0a0' + zlib: '>=1.2.11,<1.3.0a0' + hash: + md5: 3588c2c6cb9f9bcc65b544ab1c715d60 + manager: conda + name: sqlite + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.36.0-h9cd32fc_2.tar.bz2 + version: 3.36.0 +- category: main + dependencies: + libgcc-ng: '>=9.4.0' + zlib: '>=1.2.11,<1.3.0a0' + hash: + md5: 84e76fb280e735fec1efd2d21fd9cb27 + manager: conda + name: tk + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2 + version: 8.6.11 +- category: main + hash: + md5: a751ec502589ebdc2eceb183ff602569 + manager: conda + name: tzdata + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2 + version: 2021e +- category: main + dependencies: + python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4' + hash: + md5: 3aa2c3e25dd361b453d010388b9cdff1 + manager: conda + name: wheel + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.0-pyhd8ed1ab_1.tar.bz2 + version: 0.37.0 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + hash: + md5: 33f601066901f3e1a85af3522a8113f9 + manager: conda + name: xz + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2 + version: 5.2.5 +- category: main + dependencies: + libgcc-ng: '>=7.5.0' + libzlib: 1.2.11 h36c2ea0_1013 + hash: + md5: cf7190238072a41e9579e4476a6a60b8 + manager: conda + name: zlib + optional: false + platform: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2 + version: 1.2.11 +version: 1 diff --git a/tests/test_conda_lock.py b/tests/test_conda_lock.py index 6bf6508d1..90cec2c16 100644 --- a/tests/test_conda_lock.py +++ b/tests/test_conda_lock.py @@ -416,9 +416,9 @@ def test_run_lock_with_locked_environment_files( make_lock_files = MagicMock() monkeypatch.setattr("conda_lock.conda_lock.make_lock_files", make_lock_files) run_lock(DEFAULT_FILES, conda_exe=conda_exe, update=["pydantic"]) - if sys.version_info < (3, 8) + if sys.version_info < (3, 8): # backwards compat - src_files = make_lock_files.call_args_list[0][1]["src_files"]] + src_files = make_lock_files.call_args_list[0][1]["src_files"] else: src_files = make_lock_files.call_args.kwargs["src_files"] From 10dea94082b8a9968fc671fa1f9e55b248249001 Mon Sep 17 00:00:00 2001 From: Marcelo Duarte Trevisani Date: Tue, 8 Mar 2022 17:46:57 +0000 Subject: [PATCH 11/12] Delete conda-lock.bak --- tests/test-update/conda-lock.bak | 280 ------------------------------- 1 file changed, 280 deletions(-) delete mode 100644 tests/test-update/conda-lock.bak diff --git a/tests/test-update/conda-lock.bak b/tests/test-update/conda-lock.bak deleted file mode 100644 index 90f43c676..000000000 --- a/tests/test-update/conda-lock.bak +++ /dev/null @@ -1,280 +0,0 @@ -metadata: - channels: - - conda-forge - content_hash: - linux-64: a08b52d095fd885c7d9b400df51d0df50be1999d9740eee1e60050b82b9a595a - platforms: - - linux-64 - sources: - - environment-preupdate.yml -package: -- category: main - hash: - md5: d7c89558ba9fa0495403155b64376d81 - manager: conda - name: _libgcc_mutex - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - version: '0.1' -- category: main - dependencies: - _libgcc_mutex: 0.1 conda_forge - libgomp: '>=7.5.0' - hash: - md5: 561e277319a41d4f24f5c05a9ef63c04 - manager: conda - name: _openmp_mutex - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2 - version: '4.5' -- category: main - hash: - md5: 575611b8a84f45960e87722eeb51fa26 - manager: conda - name: ca-certificates - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2 - version: 2021.10.8 -- category: main - hash: - md5: bd4f2e711b39af170e7ff15163fe87ee - manager: conda - name: ld_impl_linux-64 - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2 - version: 2.36.1 -- category: main - dependencies: - libgcc-ng: '>=7.5.0' - libstdcxx-ng: '>=7.5.0' - hash: - md5: 665369991d8dd290ac5ee92fce3e6bf5 - manager: conda - name: libffi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.3-h58526e2_2.tar.bz2 - version: '3.3' -- category: main - dependencies: - _libgcc_mutex: 0.1 conda_forge - _openmp_mutex: '>=4.5' - hash: - md5: e3495f4f93cfd6b68021cbe2b5844cd5 - manager: conda - name: libgcc-ng - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_11.tar.bz2 - version: 11.2.0 -- category: main - dependencies: - _libgcc_mutex: 0.1 conda_forge - hash: - md5: 1d16527c76842bf9c41e9399d39d8097 - manager: conda - name: libgomp - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_11.tar.bz2 - version: 11.2.0 -- category: main - hash: - md5: 0bf83958e788f1e75ba26154cb702afe - manager: conda - name: libstdcxx-ng - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_11.tar.bz2 - version: 11.2.0 -- category: main - dependencies: - libgcc-ng: '>=7.5.0' - hash: - md5: dcddf696ff5dfcab567100d691678e18 - manager: conda - name: libzlib - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2 - version: 1.2.11 -- category: main - dependencies: - libgcc-ng: '>=7.5.0' - hash: - md5: 509f2a21c4a09214cd737a480dfd80c9 - manager: conda - name: ncurses - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2 - version: '6.2' -- category: main - dependencies: - ca-certificates: '' - libgcc-ng: '>=9.4.0' - hash: - md5: de7b38a1542dbe6f41653a8ae71adc53 - manager: conda - name: openssl - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2 - version: 1.1.1l -- category: main - dependencies: - python: '>=3.6' - setuptools: '' - wheel: '' - hash: - md5: e4fe2a9af78ff11f1aced7e62128c6a8 - manager: conda - name: pip - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/pip-21.3.1-pyhd8ed1ab_0.tar.bz2 - version: 21.3.1 -- category: main - dependencies: - libgcc-ng: '>=7.5.0' - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: f33be4cbe9070ef3671852aaa304e2f6 - manager: conda - name: pydantic - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-1.7-py39h07f9747_0.tar.bz2 - version: '1.7' -- category: main - dependencies: - ld_impl_linux-64: '>=2.36.1' - libffi: '>=3.3,<3.4.0a0' - libgcc-ng: '>=9.3.0' - ncurses: '>=6.2,<6.3.0a0' - openssl: '>=1.1.1k,<1.1.2a' - pip: '' - readline: '>=8.1,<9.0a0' - sqlite: '>=3.36.0,<4.0a0' - tk: '>=8.6.10,<8.7.0a0' - tzdata: '' - xz: '>=5.2.5,<5.3.0a0' - zlib: '>=1.2.11,<1.3.0a0' - hash: - md5: 3ef028f528fe6cae3a536acb5d31be7a - manager: conda - name: python - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.6-h49503c6_1_cpython.tar.bz2 - version: 3.9.6 -- category: main - dependencies: - python: 3.9.* - hash: - md5: 39adde4247484de2bb4000122fdcf665 - manager: conda - name: python_abi - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2 - version: '3.9' -- category: main - dependencies: - libgcc-ng: '>=9.3.0' - ncurses: '>=6.2,<6.3.0a0' - hash: - md5: 5788de3c8d7a7d64ac56c784c4ef48e6 - manager: conda - name: readline - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2 - version: '8.1' -- category: main - dependencies: - python: '>=3.9,<3.10.0a0' - python_abi: 3.9.* *_cp39 - hash: - md5: 244a9b317c98ebffafd291777083a91a - manager: conda - name: setuptools - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.1.1-py39hf3d152e_0.tar.bz2 - version: 59.1.1 -- category: main - dependencies: - libgcc-ng: '>=9.4.0' - ncurses: '>=6.2,<6.3.0a0' - readline: '>=8.1,<9.0a0' - zlib: '>=1.2.11,<1.3.0a0' - hash: - md5: 3588c2c6cb9f9bcc65b544ab1c715d60 - manager: conda - name: sqlite - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.36.0-h9cd32fc_2.tar.bz2 - version: 3.36.0 -- category: main - dependencies: - libgcc-ng: '>=9.4.0' - zlib: '>=1.2.11,<1.3.0a0' - hash: - md5: 84e76fb280e735fec1efd2d21fd9cb27 - manager: conda - name: tk - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2 - version: 8.6.11 -- category: main - hash: - md5: a751ec502589ebdc2eceb183ff602569 - manager: conda - name: tzdata - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2 - version: 2021e -- category: main - dependencies: - python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4' - hash: - md5: 3aa2c3e25dd361b453d010388b9cdff1 - manager: conda - name: wheel - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.0-pyhd8ed1ab_1.tar.bz2 - version: 0.37.0 -- category: main - dependencies: - libgcc-ng: '>=7.5.0' - hash: - md5: 33f601066901f3e1a85af3522a8113f9 - manager: conda - name: xz - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2 - version: 5.2.5 -- category: main - dependencies: - libgcc-ng: '>=7.5.0' - libzlib: 1.2.11 h36c2ea0_1013 - hash: - md5: cf7190238072a41e9579e4476a6a60b8 - manager: conda - name: zlib - optional: false - platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2 - version: 1.2.11 -version: 1 From 8ea95eb55ec8f4b60d0143a93477d1dbb45095bc Mon Sep 17 00:00:00 2001 From: Marius van Niekerk Date: Tue, 8 Mar 2022 12:57:43 -0500 Subject: [PATCH 12/12] Update setup.cfg --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 916f9c3ef..55526abda 100644 --- a/setup.cfg +++ b/setup.cfg @@ -40,7 +40,7 @@ install_requires = pydantic >=1.8.1 ruamel.yaml poetry - typing_extensions + typing-extensions python_requires = >=3.6 packages = find: setup_requires =