From a3adda0947eb059e9ec1e5b9756054651f2f3d90 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 14:33:09 +0000 Subject: [PATCH 01/47] add dependabot and update infrastructure --- .github/dependabot.yml | 14 ++++++++++++++ .pre-commit-config.yaml | 26 ++++++++++++++++++-------- pyproject.toml | 3 ++- setup.cfg | 13 +++++-------- 4 files changed, 39 insertions(+), 17 deletions(-) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..895fd0bf --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +# Reference: +# - https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot + +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates to GitHub Actions every weekday + interval: "daily" + labels: + - "New: Pull Request" + - "Bot" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3ec906cb..6b294dc8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,8 +1,16 @@ # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks + +files: | + (?x)( + setup\.py| + lib\/geovista\/.+\.py + ) +minimum_pre_commit_version: 1.21.0 + repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: "v4.0.1" + rev: v4.0.1 hooks: # Prevent giant files from being committed. - id: check-added-large-files @@ -15,23 +23,25 @@ repos: # Check for debugger imports and py37+ `breakpoint()` calls in Python source. - id: debug-statements # Don't commit to main branch. - - id: no-commit-to-branch +# - id: no-commit-to-branch + - repo: https://github.com/psf/black - rev: "21.10b0" + rev: 21.10b0 hooks: - id: black - # Force black to run on whole repo, using settings from pyproject.toml pass_filenames: false args: ["--config=./pyproject.toml", "."] + - repo: https://github.com/PyCQA/flake8 - rev: "4.0.1" + rev: 4.0.1 hooks: - # Run flake8. - id: flake8 + types: [file, python] args: ["--config=./setup.cfg"] + - repo: https://github.com/pycqa/isort - rev: "5.9.3" + rev: 5.9.3 hooks: - id: isort - name: isort + types: [file, python] args: ["--filter-files"] diff --git a/pyproject.toml b/pyproject.toml index 5f148c19..3fa03738 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,10 +43,11 @@ testpaths = "cf_units" [tool.setuptools_scm] write_to = "cf_units/_version.py" +local_scheme = "dirty-tag" [tool.black] line-length = 79 -target-version = ['py37', 'py38', 'py39'] +target-version = ['py38', 'py39', 'py310'] include = '\.pyi?$' exclude = ''' ( diff --git a/setup.cfg b/setup.cfg index 0811aabb..9804c898 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,15 +3,12 @@ author = SciTools Developers classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Science/Research - License :: OSI Approved :: BSD License - Operating System :: MacOS - Operating System :: Microsoft :: Windows - Operating System :: POSIX :: Linux - Operating System :: Unix + License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) + Operating System :: OS Independent Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Topic :: Scientific/Engineering description = Units of measure as required by the Climate and Forecast (CF) metadata conventions download_url = https://github.com/SciTools/cf-units @@ -23,7 +20,7 @@ keywords = oceanography meteorology climate -license = LGPL-3.0 +license = LGPL-3.0-or-later license_file = COPYING long_description = file: README.md long_description_content_type = text/markdown @@ -46,7 +43,7 @@ install_requires = # installed separately. packages = find: python_requires = - >=3.7 + >=3.8 zip_safe = False [options.extras_require] From 34169dcece7bb7dddc86adacb38b95a70b67b690 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 15:26:55 +0000 Subject: [PATCH 02/47] add ci-locks and remove requirements duplication --- .github/workflows/ci-locks.yml | 139 +++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- requirements/cf-units.yml | 30 ++++++- requirements/py37.yml | 31 -------- requirements/py38.yml | 31 -------- requirements/py39.yml | 31 -------- tox.ini | 32 ++++++++ 7 files changed, 201 insertions(+), 95 deletions(-) create mode 100644 .github/workflows/ci-locks.yml mode change 120000 => 100644 requirements/cf-units.yml delete mode 100644 requirements/py37.yml delete mode 100644 requirements/py38.yml delete mode 100644 requirements/py39.yml create mode 100644 tox.ini diff --git a/.github/workflows/ci-locks.yml b/.github/workflows/ci-locks.yml new file mode 100644 index 00000000..3cb9157b --- /dev/null +++ b/.github/workflows/ci-locks.yml @@ -0,0 +1,139 @@ +# Reference: +# - https://github.com/actions/cache +# - https://github.com/actions/checkout +# - https://github.com/actions/download-artifact +# - https://github.com/actions/upload-artifact +# - https://github.com/conda-incubator/setup-miniconda + +name: ci-locks + +on: + workflow_dispatch: + push: + pull_request: +# schedule: +# - cron: 3 0 * * 1 + + +jobs: + build-locks: + name: "Build ${{ matrix.lock }}" + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + env: + ENV_NAME: "ci-locks" + CONDA_EXE: "mamba" + strategy: + matrix: + lock: [py38-lock, py39-lock, py310-lock] + steps: + - name: "Checkout" + uses: actions/checkout@v2 + + - name: "Environment configure" + env: + # Maximum cache period (in weeks) before forcing a cache refresh. + CACHE_WEEKS: 2 + run: | + echo "CACHE_PERIOD=$(date +%Y).$(expr $(date +%U) / ${CACHE_WEEKS})" >> ${GITHUB_ENV} + + - name: "Conda package cache" + uses: actions/cache@v2 + env: + # Increment the build number to force a cache refresh. + CACHE_BUILD: 0 + with: + path: ~/conda_pkgs_dir + key: ${{ runner.os }}-conda-pkgs-${{ env.ENV_NAME }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} + + - name: "Conda install" + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + use-mamba: true + channels: conda-forge,defaults + activate-environment: ${{ env.ENV_NAME }} + auto-update-conda: true + use-only-tar-bz2: true + + - name: "Conda environment cache" + id: conda-env-cache + uses: actions/cache@v2 + env: + # Increment the build number to force a cache refresh. + CACHE_BUILD: 0 + with: + path: ${{ env.CONDA }}/envs/${{ env.ENV_NAME }} + key: ${{ runner.os }}-conda-env-${{ env.ENV_NAME }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} + + - name: "Conda environment update" + if: steps.conda-env-cache.outputs.cache-hit != 'true' + run: | + mamba install --name ${{ env.ENV_NAME }} tox + + - name: "Conda info" + run: | + conda info + conda list + + - name: "Tox cache" + uses: actions/cache@v2 + env: + # Increment the build number to forece a cache refresh. + CACHE_BUILD: 0 + TOX_INI: ${{ github.workspace }}/tox.ini + with: + path: ${{ github.workspace }}/.tox + key: ${{ runner.os }}-tox-${{ env.ENV_NAME }}-${{ matrix.lock }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }}-${{ hashFiles(env.TOX_INI) }} + + - name: "Create ${{ matrix.lock }} conda locks" + run: | + tox -e ${{ matrix.lock }} -- --mamba --platform osx-64 --platform win-64 + + - name: "Upload lock artifacts" + uses: actions/upload-artifact@v2 + with: + name: lock-artifacts + path: ${{ github.workspace }}/requirements/locks/${{ matrix.lock }}*.txt + + + create-pr: + needs: build-locks + name: "Create pull-request" + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v2 + + - name: "Download lock artifacts" + uses: actions/download-artifact@v2 + with: + name: lock-artifacts + path: ${{ github.workspace }}/requirements/locks + + - name: "Push pull-request" + id: cpr + # v3.12.1 (release date 31 Jan 2022) + uses: peter-evans/create-pull-request@f22a7da129c901513876a2380e2dae9f8e145330 + with: + add-paths: ${{ github.workspace }}/requirements/locks/*.txt + commit-message: "updated conda lock files" + branch: conda-lock-auto-update + delete-branch: true + title: "[cf-units.ci] conda lock auto-update" + body: | + Conda lock files auto-updated to latest resolved environment for `cf-units` dependencies. + labels: | + New: Pull Request + Bot + + - name: "Show pull-request" + if: steps.cpr.outputs.pull-request-number != '' + run: | + echo "pull-request #${{ steps.cpr.outputs.pull-request-number }}" + echo "pull-request URL ${{ steps.cpr.outputs.pull-request-url }}" + echo "pull-request operation [${{ steps.cpr.outputs.pull-request-operation }}]" + echo "pull-request SHA ${{ steps.cpr.outputs.pull-request-head-sha }}" diff --git a/pyproject.toml b/pyproject.toml index 3fa03738..1cbcc819 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,7 @@ local_scheme = "dirty-tag" [tool.black] line-length = 79 -target-version = ['py38', 'py39', 'py310'] +target-version = ["py38", "py39", "py310"] include = '\.pyi?$' exclude = ''' ( diff --git a/requirements/cf-units.yml b/requirements/cf-units.yml deleted file mode 120000 index 26a7748c..00000000 --- a/requirements/cf-units.yml +++ /dev/null @@ -1 +0,0 @@ -py39.yml \ No newline at end of file diff --git a/requirements/cf-units.yml b/requirements/cf-units.yml new file mode 100644 index 00000000..f4d2ecd5 --- /dev/null +++ b/requirements/cf-units.yml @@ -0,0 +1,29 @@ +name: cf-units-dev + +channels: + - conda-forge + +dependencies: +# setup dependencies + - cython + - numpy + +# core dependencies + - antlr-python-runtime 4.7.2.* + - cftime>=1.2 + - numpy + - udunits2 + +# test dependencies + - codecov + - jinja2 + - pytest + - pytest-cov + +# dev dependencies + - pip + - pre-commit + +# docs dependencies + - setuptools_scm + - sphinx diff --git a/requirements/py37.yml b/requirements/py37.yml deleted file mode 100644 index 2d78e213..00000000 --- a/requirements/py37.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: cf-units-dev - -channels: - - conda-forge - -dependencies: - - python 3.7 - -# setup dependencies - - cython - - numpy - -# core dependencies - - antlr-python-runtime 4.7.2.* - - cftime>=1.2 - - numpy - - udunits2 - -# test dependencies - - codecov - - jinja2 - - pytest - - pytest-cov - -# dev dependencies - - pip - - pre-commit - -# docs dependencies - - setuptools_scm - - sphinx diff --git a/requirements/py38.yml b/requirements/py38.yml deleted file mode 100644 index 0d8fd12b..00000000 --- a/requirements/py38.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: cf-units-dev - -channels: - - conda-forge - -dependencies: - - python 3.8 - -# setup dependencies - - cython - - numpy - -# core dependencies - - antlr-python-runtime 4.7.2.* - - cftime>=1.2 - - numpy - - udunits2 - -# test dependencies - - codecov - - jinja2 - - pytest - - pytest-cov - -# dev dependencies - - pip - - pre-commit - -# docs dependencies - - setuptools_scm - - sphinx diff --git a/requirements/py39.yml b/requirements/py39.yml deleted file mode 100644 index 94b27843..00000000 --- a/requirements/py39.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: cf-units-dev - -channels: - - conda-forge - -dependencies: - - python 3.9 - -# setup dependencies - - cython - - numpy - -# core dependencies - - antlr-python-runtime 4.7.2.* - - cftime>=1.2 - - numpy - - udunits2 - -# test dependencies - - codecov - - jinja2 - - pytest - - pytest-cov - -# dev dependencies - - pip - - pre-commit - -# docs dependencies - - setuptools_scm - - sphinx diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..59ca9624 --- /dev/null +++ b/tox.ini @@ -0,0 +1,32 @@ +[tox] +requires = + tox-conda + tox-run-command + + +[testenv:py{38,39,310}-lock] +allowlist_externals = + cp +changedir = + {env:LOCKDIR} +conda_channels = + conda-forge +conda_create_args = + --override-channels +conda_deps = + pip + conda-lock +description = + Create explicit environment specification conda lock files for cf-units dependencies. +platform = + linux|darwin +setenv = + LOCKDIR = {toxinidir}{/}requirements{/}locks + TMPFILE = {envtmpdir}{/}cf-units.yml + YMLFILE = {toxinidir}{/}requirements{/}cf-units.yml +skip_install = + true +commands = + cp {env:YMLFILE} {env:TMPFILE} + python -c 'from sys import version_info as v; fh = open("{env:TMPFILE}", "a"); fh.write(f"\n - python =\{v.major\}.\{v.minor\}\n")' + conda-lock --channel conda-forge --file {env:TMPFILE} --platform linux-64 --filename-template "{envname}-\{platform\}.txt" {posargs} From 439201c33350d9d0a24167e3f05b7228b23b8fcc Mon Sep 17 00:00:00 2001 From: bjlittle Date: Tue, 15 Feb 2022 15:51:50 +0000 Subject: [PATCH 03/47] updated conda lock files --- requirements/locks/py310-lock-linux-64.txt | 97 ++++++++++++++++++++++ requirements/locks/py310-lock-osx-64.txt | 91 ++++++++++++++++++++ requirements/locks/py310-lock-win-64.txt | 91 ++++++++++++++++++++ requirements/locks/py38-lock-linux-64.txt | 94 +++++++++++++++++++++ requirements/locks/py38-lock-osx-64.txt | 89 ++++++++++++++++++++ requirements/locks/py38-lock-win-64.txt | 85 +++++++++++++++++++ requirements/locks/py39-lock-linux-64.txt | 97 ++++++++++++++++++++++ requirements/locks/py39-lock-osx-64.txt | 91 ++++++++++++++++++++ requirements/locks/py39-lock-win-64.txt | 91 ++++++++++++++++++++ 9 files changed, 826 insertions(+) create mode 100644 requirements/locks/py310-lock-linux-64.txt create mode 100644 requirements/locks/py310-lock-osx-64.txt create mode 100644 requirements/locks/py310-lock-win-64.txt create mode 100644 requirements/locks/py38-lock-linux-64.txt create mode 100644 requirements/locks/py38-lock-osx-64.txt create mode 100644 requirements/locks/py38-lock-win-64.txt create mode 100644 requirements/locks/py39-lock-linux-64.txt create mode 100644 requirements/locks/py39-lock-osx-64.txt create mode 100644 requirements/locks/py39-lock-win-64.txt diff --git a/requirements/locks/py310-lock-linux-64.txt b/requirements/locks/py310-lock-linux-64.txt new file mode 100644 index 00000000..fd58be02 --- /dev/null +++ b/requirements/locks/py310-lock-linux-64.txt @@ -0,0 +1,97 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 264e41299eb1164821041aeee70121ea80e50022874a9b4eddd92c916ad258f3 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2#575611b8a84f45960e87722eeb51fa26 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2#bd4f2e711b39af170e7ff15163fe87ee +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-11.2.0-h5c6108e_12.tar.bz2#f547bf125ab234cec9c89491b262fc2f +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_12.tar.bz2#7ff3b832ba5e6918c0d026976359d065 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-11.2.0-h69a702a_12.tar.bz2#33c165be455015cc74e8d857182f3f58 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_12.tar.bz2#763c5ec8116d984b4a33342236d7da36 +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2#561e277319a41d4f24f5c05a9ef63c04 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_12.tar.bz2#d34efbb8d7d6312c816b4bb647b818b1 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 +https://conda.anaconda.org/conda-forge/linux-64/expat-2.4.4-h9c3ff4c_0.tar.bz2#3cedab1fd76644efd516e1b271f2da95 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 +https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.18-pthreads_h8fe5266_0.tar.bz2#41532e4448c0cce086d6570f95e4e12e +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2#dcddf696ff5dfcab567100d691678e18 +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h9c3ff4c_0.tar.bz2#fb31bcb7af058244479ca635d20f0f4a +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2#de7b38a1542dbe6f41653a8ae71adc53 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2#33f601066901f3e1a85af3522a8113f9 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2#4cb3ad778ec2d5a7acbdf254eb1c42ae +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-13_linux64_openblas.tar.bz2#8a4038563ed92dfa622bd72c0d8f31d3 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2#5788de3c8d7a7d64ac56c784c4ef48e6 +https://conda.anaconda.org/conda-forge/linux-64/udunits2-2.2.28-hc3e0081_0.tar.bz2#d4c341e0379c31e9e781d4f204726867 +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2#cf7190238072a41e9579e4476a6a60b8 +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-13_linux64_openblas.tar.bz2#b17676dbd6688396c3a3076259fb7907 +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-13_linux64_openblas.tar.bz2#018b80e8f21d8560ae4961567e3e00c9 +https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.37.0-h9cd32fc_0.tar.bz2#eb66fc098824d25518a79e83d12a81d6 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2#84e76fb280e735fec1efd2d21fd9cb27 +https://conda.anaconda.org/conda-forge/linux-64/python-3.10.2-h85951f9_3_cpython.tar.bz2#2bccc408c90758b0ae2d15a0c637c1ce +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.10-2_cp310.tar.bz2#9e7160cd0d865e98f6803f1fe15c8b61 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/linux-64/antlr-python-runtime-4.7.2-py310hff52083_1003.tar.bz2#8324f8fff866055d4b32eb25e091fe31 +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/linux-64/certifi-2021.10.8-py310hff52083_1.tar.bz2#c26a27ad114b172abd212678fa640a3d +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.0-py310h0fdd8cc_0.tar.bz2#7b7366be82277a5a210e48cc6d25ce26 +https://conda.anaconda.org/conda-forge/linux-64/coverage-6.3.1-py310h6acc77f_0.tar.bz2#1329a2514d0d8543aa2e8660d30e669f +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.27-py310h122e73d_0.tar.bz2#416cdc319020beec1a95956bead7b221 +https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py310hff52083_1.tar.bz2#8f06008afb92d4d01a686dd92633c35c +https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.1-py310hff52083_0.tar.bz2#d569bff0a25bb4b25f3a4f4b6b4b7e15 +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.0.1-py310h6acc77f_1.tar.bz2#bda6023ee64f722ad1d639fef9f497f9 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.22.2-py310h454958d_0.tar.bz2#0045ac0249229a12df7f6aa7588513d0 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py310hff52083_2.tar.bz2#5cf273125c261cb921e61bdac793a31d +https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py310hff52083_4.tar.bz2#3f47a786fa8b1a26360f916abc5b2b97 +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py310h6acc77f_3.tar.bz2#f5c29d3db5786e165041203f33b71c6d +https://conda.anaconda.org/conda-forge/linux-64/setuptools-60.9.0-py310hff52083_0.tar.bz2#32769b04e7957451441b55f97f2097b0 +https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.13.1-py310hff52083_0.tar.bz2#19184c8308634160e432c905ccf8602c +https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py310h6acc77f_1003.tar.bz2#676f6566c7274fbad5a41f9495c645bf +https://conda.anaconda.org/conda-forge/linux-64/cftime-1.5.2-py310h96516ba_0.tar.bz2#4b2886bd7258242e7d7713c0a8d256a2 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-36.0.1-py310h685ca39_0.tar.bz2#1ad8b9ded5727c9f602cf8cac262e1ec +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/linux-64/pytest-7.0.1-py310hff52083_0.tar.bz2#82bd1aa5c7e3b97405ca301568fd8c74 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py310h91b1402_1.tar.bz2#1b19bcb747204cb1091b2ace1cf5eb0d +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/linux-64/pre-commit-2.17.0-py310hff52083_0.tar.bz2#5d49dbd95f9ed7e013fa0babc1b137b9 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py310-lock-osx-64.txt b/requirements/locks/py310-lock-osx-64.txt new file mode 100644 index 00000000..a6fa10d7 --- /dev/null +++ b/requirements/locks/py310-lock-osx-64.txt @@ -0,0 +1,91 @@ +# Generated by conda-lock. +# platform: osx-64 +# input_hash: 9421c9f7e92a662e06bc4e37dc11bbe5c202b4dc72497c955574f8edb2b1d0f3 +@EXPLICIT +https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h0d85af4_4.tar.bz2#37edc4e6304ca87316e160f5ca0bd1b5 +https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2021.10.8-h033912b_0.tar.bz2#bb82d0243db9882b509702ecb69e38f0 +https://conda.anaconda.org/conda-forge/osx-64/libcxx-12.0.1-habf9029_1.tar.bz2#444dfb8ed0bf2a8864f73eb6436b29e0 +https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2#ccb34fb14960ad8b125962d3d79b31a9 +https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.11-h9173be1_1013.tar.bz2#a3a6a53beaa92c5cfe52ee3a198e78cc +https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-13.0.1-hda6cdc1_0.tar.bz2#a77ba143ee4935b635cda9909136222d +https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.3-he49afe7_0.tar.bz2#2b8a6df0c28a466781832cbd036a73b7 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.5-haf1e3a3_1.tar.bz2#41116deb499e9bc58048c297d6403ce6 +https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h0d85af4_2.tar.bz2#d7e08fcf8259d742156188e8762b4d20 +https://conda.anaconda.org/conda-forge/osx-64/expat-2.4.4-he49afe7_0.tar.bz2#96f068e8e62b43d609184f0e1809dc36 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-9.3.0-h6c81a4c_23.tar.bz2#a6956ceb628b14594613cefee5127a7a +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.1.1l-h0d85af4_0.tar.bz2#f7bcdbb7a5dae97030eee20b884b1f8a +https://conda.anaconda.org/conda-forge/osx-64/readline-8.1-h05e3726_0.tar.bz2#2832e9b6a7caa7cb192fcda6cfcd8871 +https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-h9173be1_1013.tar.bz2#cf985617d679990418c380099620b01a +https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-9_3_0_h6c81a4c_23.tar.bz2#60f48cef2d50674e0428c5579b6c3f66 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.37.0-h23a322b_0.tar.bz2#68f13bbe00ac288ffc1c1b868bc4da23 +https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.11-h5dbffcc_1.tar.bz2#e35b11155bd70facee39dfdec7368ad0 +https://conda.anaconda.org/conda-forge/osx-64/udunits2-2.2.28-h06ef574_0.tar.bz2#74131a7d532fbff820580d4494118245 +https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.18-openmp_h3351f45_0.tar.bz2#a0636ed965924977a848fd0d0258cf17 +https://conda.anaconda.org/conda-forge/osx-64/python-3.10.2-h1dd9edd_3_cpython.tar.bz2#171d336b836892bbc87772975b61824a +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-13_osx64_openblas.tar.bz2#43e49180e01ca49b1988bc46fec6e375 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.10-2_cp310.tar.bz2#502ca4a8b43b424316f380d864832877 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/osx-64/antlr-python-runtime-4.7.2-py310h2ec42d9_1003.tar.bz2#647c94b9631bbeb2bea8557a81600980 +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/osx-64/certifi-2021.10.8-py310h2ec42d9_1.tar.bz2#5e78bd701d1fb88bb110859ac7278774 +https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.0-py310hcc37b68_0.tar.bz2#bca69dbd12cea5ae0dc298fc58a3c4ee +https://conda.anaconda.org/conda-forge/osx-64/coverage-6.3.1-py310he24745e_0.tar.bz2#9e57facc18fdf8af7520c43a85b17992 +https://conda.anaconda.org/conda-forge/osx-64/cython-0.29.27-py310hba3363e_0.tar.bz2#7beab64567e7ea811427037b5d96df46 +https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py310h2ec42d9_1.tar.bz2#ce36172d1cf899f087b32856cc3472b6 +https://conda.anaconda.org/conda-forge/osx-64/importlib-metadata-4.11.1-py310h2ec42d9_0.tar.bz2#f4926cecec245af6320adedadc2641f5 +https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-13_osx64_openblas.tar.bz2#eecf22499103fbbed8a24efdcadd3074 +https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-13_osx64_openblas.tar.bz2#78be50c9400059ee11ebde2e0257d693 +https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.0.1-py310he24745e_1.tar.bz2#9ee2b4f56f8db5f65551bf5fe674861e +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/osx-64/pluggy-1.0.0-py310h2ec42d9_2.tar.bz2#b6cb769da4daa5592342da492c7df9f5 +https://conda.anaconda.org/conda-forge/osx-64/pysocks-1.7.1-py310h2ec42d9_4.tar.bz2#9892cbd606e255650871f9c21f90aa20 +https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0-py310he24745e_3.tar.bz2#69c8931611aa6ce88602b3ed951ce545 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-60.9.0-py310h2ec42d9_0.tar.bz2#dcf93bf76e782110d3fea0c765c46d83 +https://conda.anaconda.org/conda-forge/osx-64/virtualenv-20.13.1-py310h2ec42d9_0.tar.bz2#e8072fb81a4cd4550bf9b80e02b03750 +https://conda.anaconda.org/conda-forge/osx-64/brotlipy-0.7.0-py310he24745e_1003.tar.bz2#fd46e059e9a7dcb8b5a517b49813e72b +https://conda.anaconda.org/conda-forge/osx-64/cryptography-36.0.1-py310ha82f1d4_0.tar.bz2#463fb2dda6729ce5be2b8113a4f47a92 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.22.2-py310hfbbbacf_0.tar.bz2#7b5bf6e9a297d142e4649c7de4c94f1e +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/osx-64/pytest-7.0.1-py310h2ec42d9_0.tar.bz2#606e39d64222ee5ccc588d98180b0283 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.0.1-py310h2fea185_1.tar.bz2#06721afa673a2cb438fe450ac7d51d5a +https://conda.anaconda.org/conda-forge/osx-64/cftime-1.5.2-py310h81f86ea_0.tar.bz2#3d039b4628113fdb8e7eec81b361e994 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/osx-64/pre-commit-2.17.0-py310h2ec42d9_0.tar.bz2#1b31acc4decd5f8f0884f71e906a1c22 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py310-lock-win-64.txt b/requirements/locks/py310-lock-win-64.txt new file mode 100644 index 00000000..7e164f2c --- /dev/null +++ b/requirements/locks/py310-lock-win-64.txt @@ -0,0 +1,91 @@ +# Generated by conda-lock. +# platform: win-64 +# input_hash: 8911f23af760553afb6fa4ad76dbedef1d4120edf8aaa81c8cc4d920a27d637b +@EXPLICIT +https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2021.10.8-h5b45459_0.tar.bz2#2ddd48c9b52f7f65361b9645b2c5d370 +https://conda.anaconda.org/conda-forge/win-64/intel-openmp-2022.0.0-h57928b3_3663.tar.bz2#9617f0042f5eea1155970e6861f3ab6b +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.20348.0-h57928b3_0.tar.bz2#6d666b6ea8251231ff508062d1e41f9c +https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.29.30037-h902a5da_6.tar.bz2#33d07ebe91062743eabc9e53a60d18e1 +https://conda.anaconda.org/conda-forge/win-64/vc-14.2-hb210afc_6.tar.bz2#c2aecbc9b00ba6f352e27d3d61fd31fb +https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h8ffe710_4.tar.bz2#7c03c66026944073040cb19a4f3ec3c9 +https://conda.anaconda.org/conda-forge/win-64/expat-2.4.4-h39d44d4_0.tar.bz2#e0704ca0874ecca4fbbdd00e2f911622 +https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2#2c96d1b6915b408893f9472569dee135 +https://conda.anaconda.org/conda-forge/win-64/libzlib-1.2.11-h8ffe710_1013.tar.bz2#b28dd2488b4e5f892c67071acc1d0a8c +https://conda.anaconda.org/conda-forge/win-64/openssl-1.1.1l-h8ffe710_0.tar.bz2#07747b2557a7f795585b118bb4f186de +https://conda.anaconda.org/conda-forge/win-64/sqlite-3.37.0-h8ffe710_0.tar.bz2#cc2d704449f994c1aa422a5a1cd8a64e +https://conda.anaconda.org/conda-forge/win-64/tbb-2021.5.0-h2d74725_0.tar.bz2#81892af9e08d8bf7a98e9713189d6885 +https://conda.anaconda.org/conda-forge/win-64/tk-8.6.11-h8ffe710_1.tar.bz2#fd3c141a1ed5a77e5813795950fb7395 +https://conda.anaconda.org/conda-forge/win-64/xz-5.2.5-h62dcd97_1.tar.bz2#eabcbfedd14d7c18a514afca09ea0ebb +https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2#adbfb9f45d1004a26763652246a33764 +https://conda.anaconda.org/conda-forge/win-64/mkl-2022.0.0-h0e2418a_796.tar.bz2#54baa34953c02445bfd6f566c45decbb +https://conda.anaconda.org/conda-forge/win-64/python-3.10.2-h9a09f29_3_cpython.tar.bz2#81ec8e7d9481cd2963c302b7bb565d87 +https://conda.anaconda.org/conda-forge/win-64/udunits2-2.2.28-h892ecd3_0.tar.bz2#dad8b5fae263e4e36d859524a3794801 +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/atomicwrites-1.4.0-pyh9f0ad1d_0.tar.bz2#5e36230ffaf3b7bb599424592684ae53 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-13_win64_mkl.tar.bz2#5addc4aa3bae7e89ce6eb8720650b257 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/win-64/python_abi-3.10-2_cp310.tar.bz2#aaa900b98edb2e67106b461ff365ba57 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/win-64/antlr-python-runtime-4.7.2-py310h5588dad_1003.tar.bz2#7acc45deb8ddad60880ccf353729dac7 +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/win-64/certifi-2021.10.8-py310h5588dad_1.tar.bz2#d54dc314d865498a7349f4ebe35448a6 +https://conda.anaconda.org/conda-forge/win-64/cffi-1.15.0-py310hcbf9ad4_0.tar.bz2#ffea8be6c3b061eb7361a8686af44861 +https://conda.anaconda.org/conda-forge/win-64/coverage-6.3.1-py310he2412df_0.tar.bz2#81e085bdc5a38a5be11f23e2909646bd +https://conda.anaconda.org/conda-forge/win-64/cython-0.29.27-py310h8a704f9_0.tar.bz2#51a183d6b81a734dc123c138a1f6ccf0 +https://conda.anaconda.org/conda-forge/win-64/docutils-0.17.1-py310h5588dad_1.tar.bz2#7d2f1b2cd46fe267f15f579e897e680e +https://conda.anaconda.org/conda-forge/win-64/importlib-metadata-4.11.0-py310h5588dad_0.tar.bz2#9fb59d9592d92067a6e153ecda5ba42f +https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-13_win64_mkl.tar.bz2#0facf207b485dc20c4ef5f8b92c7c949 +https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-13_win64_mkl.tar.bz2#4a777de294375e4d78ad53e5581a9ede +https://conda.anaconda.org/conda-forge/win-64/markupsafe-2.0.1-py310he2412df_1.tar.bz2#b4da490d6d77767dd98e58d0dd3858e0 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/win-64/pluggy-1.0.0-py310h5588dad_2.tar.bz2#450125d98e2118237d0154922b7629da +https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0-py310he2412df_3.tar.bz2#e9d0119d704abafde3ed6a0df854fc92 +https://conda.anaconda.org/conda-forge/win-64/setuptools-60.9.0-py310h5588dad_0.tar.bz2#93dadf595240a3825bc0bd521e296796 +https://conda.anaconda.org/conda-forge/win-64/virtualenv-20.13.1-py310h5588dad_0.tar.bz2#af26cec3525d1be837dd2412fd6a0fbc +https://conda.anaconda.org/conda-forge/win-64/win_inet_pton-1.1.0-py310h5588dad_3.tar.bz2#076952825d5d17d31200c148f03ebe2b +https://conda.anaconda.org/conda-forge/win-64/brotlipy-0.7.0-py310he2412df_1003.tar.bz2#87576e9f785509ab8c09f2b87c7035ab +https://conda.anaconda.org/conda-forge/win-64/cryptography-36.0.1-py310ha857299_0.tar.bz2#98b944590e40d3252242b4c3f853f784 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/win-64/numpy-1.22.2-py310hcae7c84_0.tar.bz2#a59065c55cab7fd8f65a380f49da597f +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/win-64/pysocks-1.7.1-py310h5588dad_4.tar.bz2#1a6a04ff640bddc94b0db9294ea5de01 +https://conda.anaconda.org/conda-forge/win-64/pytest-7.0.1-py310h5588dad_0.tar.bz2#74b98fe688cf23a8db11de7225c71afa +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.0.1-py310h476a331_1.tar.bz2#350acd987681460bfeec67eed2858dfe +https://conda.anaconda.org/conda-forge/win-64/cftime-1.5.2-py310h2873277_0.tar.bz2#8c8e57e6c3893fc0ad1f077119cfa3f4 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/win-64/pre-commit-2.17.0-py310h5588dad_0.tar.bz2#e4f454db855d04e493e5e6c8d45675ca +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py38-lock-linux-64.txt b/requirements/locks/py38-lock-linux-64.txt new file mode 100644 index 00000000..af6f8b47 --- /dev/null +++ b/requirements/locks/py38-lock-linux-64.txt @@ -0,0 +1,94 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 42f5149daf7405c0c8db0edd515bd62819f7daa7aa54388561c449b766be9294 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2#575611b8a84f45960e87722eeb51fa26 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2#bd4f2e711b39af170e7ff15163fe87ee +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-11.2.0-h5c6108e_12.tar.bz2#f547bf125ab234cec9c89491b262fc2f +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_12.tar.bz2#7ff3b832ba5e6918c0d026976359d065 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-11.2.0-h69a702a_12.tar.bz2#33c165be455015cc74e8d857182f3f58 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_12.tar.bz2#763c5ec8116d984b4a33342236d7da36 +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2#561e277319a41d4f24f5c05a9ef63c04 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_12.tar.bz2#d34efbb8d7d6312c816b4bb647b818b1 +https://conda.anaconda.org/conda-forge/linux-64/expat-2.4.4-h9c3ff4c_0.tar.bz2#3cedab1fd76644efd516e1b271f2da95 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 +https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.18-pthreads_h8fe5266_0.tar.bz2#41532e4448c0cce086d6570f95e4e12e +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2#dcddf696ff5dfcab567100d691678e18 +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h9c3ff4c_0.tar.bz2#fb31bcb7af058244479ca635d20f0f4a +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2#de7b38a1542dbe6f41653a8ae71adc53 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2#33f601066901f3e1a85af3522a8113f9 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2#4cb3ad778ec2d5a7acbdf254eb1c42ae +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-13_linux64_openblas.tar.bz2#8a4038563ed92dfa622bd72c0d8f31d3 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2#5788de3c8d7a7d64ac56c784c4ef48e6 +https://conda.anaconda.org/conda-forge/linux-64/udunits2-2.2.28-hc3e0081_0.tar.bz2#d4c341e0379c31e9e781d4f204726867 +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2#cf7190238072a41e9579e4476a6a60b8 +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-13_linux64_openblas.tar.bz2#b17676dbd6688396c3a3076259fb7907 +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-13_linux64_openblas.tar.bz2#018b80e8f21d8560ae4961567e3e00c9 +https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.37.0-h9cd32fc_0.tar.bz2#eb66fc098824d25518a79e83d12a81d6 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2#84e76fb280e735fec1efd2d21fd9cb27 +https://conda.anaconda.org/conda-forge/linux-64/python-3.8.12-ha38a3c6_3_cpython.tar.bz2#bed445cebcd8f97dce76dc06201928ee +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.8-2_cp38.tar.bz2#bfbb29d517281e78ac53e48d21e6e860 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/linux-64/antlr-python-runtime-4.7.2-py38h578d9bd_1003.tar.bz2#db8b471d9a764f561a129f94ea215c0a +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/linux-64/certifi-2021.10.8-py38h578d9bd_1.tar.bz2#52a6cee65a5d10ed1c3f0af24fb48dd3 +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.0-py38h3931269_0.tar.bz2#9c491a90ae11d08ca97326a0ed876f3a +https://conda.anaconda.org/conda-forge/linux-64/coverage-6.3.1-py38h497a2fe_0.tar.bz2#b86c6f6c23c795bb4e28e06833f10986 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.27-py38h709712a_0.tar.bz2#ac6c1acaf0f09cefd7df88e4ffa0b716 +https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py38h578d9bd_1.tar.bz2#8fb11f3e7218a51d26c4516fc6f53fea +https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.1-py38h578d9bd_0.tar.bz2#2cbe186034e8578792e956e13af26b74 +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.0.1-py38h497a2fe_1.tar.bz2#1ef7b5f4826ca48a15e2cd98a5c3436d +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.22.2-py38h6ae9a64_0.tar.bz2#065a900932f904e0182acfcfadc467e3 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py38h578d9bd_2.tar.bz2#18b1cca199ce1e90ec3299de85987274 +https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py38h578d9bd_4.tar.bz2#9c4bbee6f682f2fc7d7803df3996e77e +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py38h497a2fe_3.tar.bz2#131de7d638aa59fb8afbce59f1a8aa98 +https://conda.anaconda.org/conda-forge/linux-64/setuptools-60.9.0-py38h578d9bd_0.tar.bz2#98be36164875df1b16c18564aca38897 +https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.13.1-py38h578d9bd_0.tar.bz2#f49a42315c56c0f9593c00988eb8b22f +https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py38h497a2fe_1003.tar.bz2#9189b42c42b9c87b2b2068cbe31901a8 +https://conda.anaconda.org/conda-forge/linux-64/cftime-1.5.2-py38h6c62de6_0.tar.bz2#73892e60ccea826c7f7a2215e48d22cf +https://conda.anaconda.org/conda-forge/linux-64/cryptography-36.0.1-py38h3e25421_0.tar.bz2#acc14d0d71dbf74f6a15f2456951b6cf +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/linux-64/pytest-7.0.1-py38h578d9bd_0.tar.bz2#f29b3140194df83db3ecb3652f9b790f +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py38h1fd1430_1.tar.bz2#c494f75082f9c052944fda1b22c83336 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/linux-64/pre-commit-2.17.0-py38h578d9bd_0.tar.bz2#839ac9dba9a6126c9532781a9ea4506b +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py38-lock-osx-64.txt b/requirements/locks/py38-lock-osx-64.txt new file mode 100644 index 00000000..629d229a --- /dev/null +++ b/requirements/locks/py38-lock-osx-64.txt @@ -0,0 +1,89 @@ +# Generated by conda-lock. +# platform: osx-64 +# input_hash: e9336b07de47a4cfc8139aa67f689ea36ade4aa9001023102277e26aa313690d +@EXPLICIT +https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2021.10.8-h033912b_0.tar.bz2#bb82d0243db9882b509702ecb69e38f0 +https://conda.anaconda.org/conda-forge/osx-64/libcxx-12.0.1-habf9029_1.tar.bz2#444dfb8ed0bf2a8864f73eb6436b29e0 +https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2#ccb34fb14960ad8b125962d3d79b31a9 +https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.11-h9173be1_1013.tar.bz2#a3a6a53beaa92c5cfe52ee3a198e78cc +https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-13.0.1-hda6cdc1_0.tar.bz2#a77ba143ee4935b635cda9909136222d +https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.3-he49afe7_0.tar.bz2#2b8a6df0c28a466781832cbd036a73b7 +https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.5-haf1e3a3_1.tar.bz2#41116deb499e9bc58048c297d6403ce6 +https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h0d85af4_2.tar.bz2#d7e08fcf8259d742156188e8762b4d20 +https://conda.anaconda.org/conda-forge/osx-64/expat-2.4.4-he49afe7_0.tar.bz2#96f068e8e62b43d609184f0e1809dc36 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-9.3.0-h6c81a4c_23.tar.bz2#a6956ceb628b14594613cefee5127a7a +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.1.1l-h0d85af4_0.tar.bz2#f7bcdbb7a5dae97030eee20b884b1f8a +https://conda.anaconda.org/conda-forge/osx-64/readline-8.1-h05e3726_0.tar.bz2#2832e9b6a7caa7cb192fcda6cfcd8871 +https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-h9173be1_1013.tar.bz2#cf985617d679990418c380099620b01a +https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-9_3_0_h6c81a4c_23.tar.bz2#60f48cef2d50674e0428c5579b6c3f66 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.37.0-h23a322b_0.tar.bz2#68f13bbe00ac288ffc1c1b868bc4da23 +https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.11-h5dbffcc_1.tar.bz2#e35b11155bd70facee39dfdec7368ad0 +https://conda.anaconda.org/conda-forge/osx-64/udunits2-2.2.28-h06ef574_0.tar.bz2#74131a7d532fbff820580d4494118245 +https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.18-openmp_h3351f45_0.tar.bz2#a0636ed965924977a848fd0d0258cf17 +https://conda.anaconda.org/conda-forge/osx-64/python-3.8.12-h17280f6_3_cpython.tar.bz2#7e8e6130f29f72e8e78086e001212fc5 +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-13_osx64_openblas.tar.bz2#43e49180e01ca49b1988bc46fec6e375 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.8-2_cp38.tar.bz2#156803acb0247c263c9586f190b72f1c +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/osx-64/antlr-python-runtime-4.7.2-py38h50d1736_1003.tar.bz2#2bec12040acb2867173db5d4f6bd4d62 +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/osx-64/certifi-2021.10.8-py38h50d1736_1.tar.bz2#c45ff53e0b329fe61b3f0cfdd37fa0fa +https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.0-py38h1a44b6c_0.tar.bz2#3ec046bfb079a655aeba431cc7371ab7 +https://conda.anaconda.org/conda-forge/osx-64/coverage-6.3.1-py38h96a0964_0.tar.bz2#be491ee93218198631a301ebf0728b51 +https://conda.anaconda.org/conda-forge/osx-64/cython-0.29.27-py38ha048514_0.tar.bz2#559b1efe49400eebfa02211d58f3451f +https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py38h50d1736_1.tar.bz2#ef23351acf6e5bbfc45682edb9ac5166 +https://conda.anaconda.org/conda-forge/osx-64/importlib-metadata-4.11.1-py38h50d1736_0.tar.bz2#f90424928f408c5855135d2e3d8eed00 +https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-13_osx64_openblas.tar.bz2#eecf22499103fbbed8a24efdcadd3074 +https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-13_osx64_openblas.tar.bz2#78be50c9400059ee11ebde2e0257d693 +https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.0.1-py38h96a0964_1.tar.bz2#a59c3faacc9e46aa672bc1d82231b047 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/osx-64/pluggy-1.0.0-py38h50d1736_2.tar.bz2#3a502faf240f80d2bba40359c1525e8c +https://conda.anaconda.org/conda-forge/osx-64/pysocks-1.7.1-py38h50d1736_4.tar.bz2#370661c5f32664ba6b9725647f2b3b15 +https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0-py38h96a0964_3.tar.bz2#7b052800b7fd4159459c3c025710fce1 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-60.9.0-py38h50d1736_0.tar.bz2#00aa1f0f9353a407e615345387efc502 +https://conda.anaconda.org/conda-forge/osx-64/virtualenv-20.13.1-py38h50d1736_0.tar.bz2#34e8775338c35feb2ef618b8693f1034 +https://conda.anaconda.org/conda-forge/osx-64/brotlipy-0.7.0-py38h96a0964_1003.tar.bz2#3346798a1556f3d196147b33bc8c3651 +https://conda.anaconda.org/conda-forge/osx-64/cryptography-36.0.1-py38h56c4533_0.tar.bz2#bbafd45c458cb59959444aa130845a16 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.22.2-py38h9d72dae_0.tar.bz2#715965989ab8e410c60dab3710061a2a +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/osx-64/pytest-7.0.1-py38h50d1736_0.tar.bz2#2ffc51d3477981fe7bcfec62bcd88722 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.0.1-py38h12bbefe_1.tar.bz2#b77764caaf71b45937ac28f6bab7764d +https://conda.anaconda.org/conda-forge/osx-64/cftime-1.5.2-py38hbe852b5_0.tar.bz2#4edd0684cd57486bca37be73d144d282 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/osx-64/pre-commit-2.17.0-py38h50d1736_0.tar.bz2#a45d28f0fdc715db38e338ed0b573b3c +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py38-lock-win-64.txt b/requirements/locks/py38-lock-win-64.txt new file mode 100644 index 00000000..c6bc33a7 --- /dev/null +++ b/requirements/locks/py38-lock-win-64.txt @@ -0,0 +1,85 @@ +# Generated by conda-lock. +# platform: win-64 +# input_hash: 0ddeaef32b5dfa928f5ee614f45a7c0d7e4ff1fceb866a8cb5e917f415f7208f +@EXPLICIT +https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2021.10.8-h5b45459_0.tar.bz2#2ddd48c9b52f7f65361b9645b2c5d370 +https://conda.anaconda.org/conda-forge/win-64/intel-openmp-2022.0.0-h57928b3_3663.tar.bz2#9617f0042f5eea1155970e6861f3ab6b +https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.20348.0-h57928b3_0.tar.bz2#6d666b6ea8251231ff508062d1e41f9c +https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.29.30037-h902a5da_6.tar.bz2#33d07ebe91062743eabc9e53a60d18e1 +https://conda.anaconda.org/conda-forge/win-64/vc-14.2-hb210afc_6.tar.bz2#c2aecbc9b00ba6f352e27d3d61fd31fb +https://conda.anaconda.org/conda-forge/win-64/expat-2.4.4-h39d44d4_0.tar.bz2#e0704ca0874ecca4fbbdd00e2f911622 +https://conda.anaconda.org/conda-forge/win-64/openssl-1.1.1l-h8ffe710_0.tar.bz2#07747b2557a7f795585b118bb4f186de +https://conda.anaconda.org/conda-forge/win-64/sqlite-3.37.0-h8ffe710_0.tar.bz2#cc2d704449f994c1aa422a5a1cd8a64e +https://conda.anaconda.org/conda-forge/win-64/tbb-2021.5.0-h2d74725_0.tar.bz2#81892af9e08d8bf7a98e9713189d6885 +https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2#adbfb9f45d1004a26763652246a33764 +https://conda.anaconda.org/conda-forge/win-64/mkl-2022.0.0-h0e2418a_796.tar.bz2#54baa34953c02445bfd6f566c45decbb +https://conda.anaconda.org/conda-forge/win-64/python-3.8.12-h7840368_2_cpython.tar.bz2#637b321f2e32793cf289061714671f3c +https://conda.anaconda.org/conda-forge/win-64/udunits2-2.2.28-h892ecd3_0.tar.bz2#dad8b5fae263e4e36d859524a3794801 +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/atomicwrites-1.4.0-pyh9f0ad1d_0.tar.bz2#5e36230ffaf3b7bb599424592684ae53 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-13_win64_mkl.tar.bz2#5addc4aa3bae7e89ce6eb8720650b257 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/win-64/python_abi-3.8-2_cp38.tar.bz2#80b95487563108d4cf92ff6384050751 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/win-64/antlr-python-runtime-4.7.2-py38haa244fe_1003.tar.bz2#2c5af71a6a0af1bbc13e5a90fd6994a7 +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/win-64/certifi-2021.10.8-py38haa244fe_1.tar.bz2#0e59c8bd41496c8fae9e4a523257b355 +https://conda.anaconda.org/conda-forge/win-64/cffi-1.15.0-py38hd8c33c5_0.tar.bz2#b6a0fcd49b88b2fef6892785c8e33092 +https://conda.anaconda.org/conda-forge/win-64/coverage-6.3.1-py38h294d835_0.tar.bz2#23c2b21bd35a21589375bcd6590d32dd +https://conda.anaconda.org/conda-forge/win-64/cython-0.29.27-py38h885f38d_0.tar.bz2#dc65e749062fb68d056cd08db47716ca +https://conda.anaconda.org/conda-forge/win-64/docutils-0.17.1-py38haa244fe_1.tar.bz2#a9aad412cb2d90b8318ff513b5ae7685 +https://conda.anaconda.org/conda-forge/win-64/importlib-metadata-4.11.0-py38haa244fe_0.tar.bz2#dd04da25dbe48cfe2dcd04c63b4e7f78 +https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-13_win64_mkl.tar.bz2#0facf207b485dc20c4ef5f8b92c7c949 +https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-13_win64_mkl.tar.bz2#4a777de294375e4d78ad53e5581a9ede +https://conda.anaconda.org/conda-forge/win-64/markupsafe-2.0.1-py38h294d835_1.tar.bz2#45ebbc4af5ef63154365d7076f62ce05 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/win-64/pluggy-1.0.0-py38haa244fe_2.tar.bz2#2cfa930ced7159ec2f8451d814a213ec +https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0-py38h294d835_3.tar.bz2#c2fd09f6226a547516a3553d493ad9fd +https://conda.anaconda.org/conda-forge/win-64/setuptools-60.9.0-py38haa244fe_0.tar.bz2#cf459d6674d9ae80415b6ad2213fd701 +https://conda.anaconda.org/conda-forge/win-64/virtualenv-20.13.1-py38haa244fe_0.tar.bz2#efe3ff197863854524406f79666d8cd0 +https://conda.anaconda.org/conda-forge/win-64/win_inet_pton-1.1.0-py38haa244fe_3.tar.bz2#ff0ad7b1ce9fefab52aeaba6e025dad2 +https://conda.anaconda.org/conda-forge/win-64/brotlipy-0.7.0-py38h294d835_1003.tar.bz2#8976431e2832766c755183809caec30c +https://conda.anaconda.org/conda-forge/win-64/cryptography-36.0.1-py38hb7941b4_0.tar.bz2#76f5b47594d1270dfbd809f9cc5b33fe +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/win-64/numpy-1.22.2-py38hcf66579_0.tar.bz2#b5a8f7cf0a76b73745585f2f91ab3e22 +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/win-64/pysocks-1.7.1-py38haa244fe_4.tar.bz2#e72c5f837deb911ede2f710db7a5e52d +https://conda.anaconda.org/conda-forge/win-64/pytest-7.0.1-py38haa244fe_0.tar.bz2#c11d9ef5460b952218afb5a2905596b1 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.0.1-py38hbd9d945_1.tar.bz2#14f8495a586002c4db7e2d9493b9e609 +https://conda.anaconda.org/conda-forge/win-64/cftime-1.5.2-py38h6f4d8f0_0.tar.bz2#46f4b3235afbc056629e67ff75443dc5 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/win-64/pre-commit-2.17.0-py38haa244fe_0.tar.bz2#49359f6d7a31568529df6bc894f4e1b3 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py39-lock-linux-64.txt b/requirements/locks/py39-lock-linux-64.txt new file mode 100644 index 00000000..a0b8bc20 --- /dev/null +++ b/requirements/locks/py39-lock-linux-64.txt @@ -0,0 +1,97 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 771879717765ed99784cbed8ca4137e13bbb84aa4057179ee8fef113c5d6f634 +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2021.10.8-ha878542_0.tar.bz2#575611b8a84f45960e87722eeb51fa26 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2#bd4f2e711b39af170e7ff15163fe87ee +https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-11.2.0-h5c6108e_12.tar.bz2#f547bf125ab234cec9c89491b262fc2f +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-11.2.0-he4da1e4_12.tar.bz2#7ff3b832ba5e6918c0d026976359d065 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-11.2.0-h69a702a_12.tar.bz2#33c165be455015cc74e8d857182f3f58 +https://conda.anaconda.org/conda-forge/linux-64/libgomp-11.2.0-h1d223b6_12.tar.bz2#763c5ec8116d984b4a33342236d7da36 +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2#561e277319a41d4f24f5c05a9ef63c04 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-11.2.0-h1d223b6_12.tar.bz2#d34efbb8d7d6312c816b4bb647b818b1 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 +https://conda.anaconda.org/conda-forge/linux-64/expat-2.4.4-h9c3ff4c_0.tar.bz2#3cedab1fd76644efd516e1b271f2da95 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 +https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.18-pthreads_h8fe5266_0.tar.bz2#41532e4448c0cce086d6570f95e4e12e +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.11-h36c2ea0_1013.tar.bz2#dcddf696ff5dfcab567100d691678e18 +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h9c3ff4c_0.tar.bz2#fb31bcb7af058244479ca635d20f0f4a +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1l-h7f98852_0.tar.bz2#de7b38a1542dbe6f41653a8ae71adc53 +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2#33f601066901f3e1a85af3522a8113f9 +https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2#4cb3ad778ec2d5a7acbdf254eb1c42ae +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-13_linux64_openblas.tar.bz2#8a4038563ed92dfa622bd72c0d8f31d3 +https://conda.anaconda.org/conda-forge/linux-64/readline-8.1-h46c0cb4_0.tar.bz2#5788de3c8d7a7d64ac56c784c4ef48e6 +https://conda.anaconda.org/conda-forge/linux-64/udunits2-2.2.28-hc3e0081_0.tar.bz2#d4c341e0379c31e9e781d4f204726867 +https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h36c2ea0_1013.tar.bz2#cf7190238072a41e9579e4476a6a60b8 +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-13_linux64_openblas.tar.bz2#b17676dbd6688396c3a3076259fb7907 +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-13_linux64_openblas.tar.bz2#018b80e8f21d8560ae4961567e3e00c9 +https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.37.0-h9cd32fc_0.tar.bz2#eb66fc098824d25518a79e83d12a81d6 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.11-h27826a3_1.tar.bz2#84e76fb280e735fec1efd2d21fd9cb27 +https://conda.anaconda.org/conda-forge/linux-64/python-3.9.10-h85951f9_2_cpython.tar.bz2#eb70cef531c241272a35010ea8a4f705 +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-2_cp39.tar.bz2#39adde4247484de2bb4000122fdcf665 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/linux-64/antlr-python-runtime-4.7.2-py39hf3d152e_1003.tar.bz2#5e8330e806e50bd6137ebd125f4bc1bb +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/linux-64/certifi-2021.10.8-py39hf3d152e_1.tar.bz2#67982d98030fde9139a64219dbe4db5e +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.0-py39h4bc2ebd_0.tar.bz2#f6191bf565dee581e77549d63737751c +https://conda.anaconda.org/conda-forge/linux-64/coverage-6.3.1-py39h3811e60_0.tar.bz2#6e2ac62bec03ab0b8219ad80b0c802b2 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.27-py39he80948d_0.tar.bz2#f20fb4144c6a5f5a05540be75005aae5 +https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py39hf3d152e_1.tar.bz2#8c11754f3614fddbb3ab585164829dfc +https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-4.11.1-py39hf3d152e_0.tar.bz2#2f682cc4885383e56249e2c39137bf35 +https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.0.1-py39h3811e60_1.tar.bz2#bba8fc0d724caa73a96220e48aac3b61 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.22.2-py39h91f2184_0.tar.bz2#83a015042ad4dd725d59f5d223ec3db9 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/linux-64/pluggy-1.0.0-py39hf3d152e_2.tar.bz2#2b6a2f6875bbebc7646fe556b677a015 +https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_4.tar.bz2#eed9d381f391cad4e96f697e8c74e929 +https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py39h3811e60_3.tar.bz2#057928f10b3eaa98b088b7b57c6dabb8 +https://conda.anaconda.org/conda-forge/linux-64/setuptools-60.9.0-py39hf3d152e_0.tar.bz2#a27a482c672ae6cbb9be32eb944b8f47 +https://conda.anaconda.org/conda-forge/linux-64/virtualenv-20.13.1-py39hf3d152e_0.tar.bz2#ec1c1f7a5e0a84bea0490587fc9e3498 +https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39h3811e60_1003.tar.bz2#9b1975f772d5d8a398c34e539a7ea1a1 +https://conda.anaconda.org/conda-forge/linux-64/cftime-1.5.2-py39hce5d2b2_0.tar.bz2#2c49e19b8ed38fc536a883eb19ce5760 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-36.0.1-py39h95dcef6_0.tar.bz2#986821383dd9622121c1a0b8a745b1e2 +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/linux-64/pytest-7.0.1-py39hf3d152e_0.tar.bz2#0d9e082b3628dfc634c79a3439451009 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py39h1a9c180_1.tar.bz2#86b1db61bcfe907361dfc01cef4d0161 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/linux-64/pre-commit-2.17.0-py39hf3d152e_0.tar.bz2#07af614fc99e7f22000df20c04909f14 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py39-lock-osx-64.txt b/requirements/locks/py39-lock-osx-64.txt new file mode 100644 index 00000000..c248de5f --- /dev/null +++ b/requirements/locks/py39-lock-osx-64.txt @@ -0,0 +1,91 @@ +# Generated by conda-lock. +# platform: osx-64 +# input_hash: f8e930e53770d7dcac6658c3aa3e7af3708a8d6f50d742bbe1a42d6b27677420 +@EXPLICIT +https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h0d85af4_4.tar.bz2#37edc4e6304ca87316e160f5ca0bd1b5 +https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2021.10.8-h033912b_0.tar.bz2#bb82d0243db9882b509702ecb69e38f0 +https://conda.anaconda.org/conda-forge/osx-64/libcxx-12.0.1-habf9029_1.tar.bz2#444dfb8ed0bf2a8864f73eb6436b29e0 +https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2#ccb34fb14960ad8b125962d3d79b31a9 +https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.11-h9173be1_1013.tar.bz2#a3a6a53beaa92c5cfe52ee3a198e78cc +https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-13.0.1-hda6cdc1_0.tar.bz2#a77ba143ee4935b635cda9909136222d +https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.3-he49afe7_0.tar.bz2#2b8a6df0c28a466781832cbd036a73b7 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.5-haf1e3a3_1.tar.bz2#41116deb499e9bc58048c297d6403ce6 +https://conda.anaconda.org/conda-forge/osx-64/yaml-0.2.5-h0d85af4_2.tar.bz2#d7e08fcf8259d742156188e8762b4d20 +https://conda.anaconda.org/conda-forge/osx-64/expat-2.4.4-he49afe7_0.tar.bz2#96f068e8e62b43d609184f0e1809dc36 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-9.3.0-h6c81a4c_23.tar.bz2#a6956ceb628b14594613cefee5127a7a +https://conda.anaconda.org/conda-forge/osx-64/openssl-1.1.1l-h0d85af4_0.tar.bz2#f7bcdbb7a5dae97030eee20b884b1f8a +https://conda.anaconda.org/conda-forge/osx-64/readline-8.1-h05e3726_0.tar.bz2#2832e9b6a7caa7cb192fcda6cfcd8871 +https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.11-h9173be1_1013.tar.bz2#cf985617d679990418c380099620b01a +https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-9_3_0_h6c81a4c_23.tar.bz2#60f48cef2d50674e0428c5579b6c3f66 +https://conda.anaconda.org/conda-forge/osx-64/sqlite-3.37.0-h23a322b_0.tar.bz2#68f13bbe00ac288ffc1c1b868bc4da23 +https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.11-h5dbffcc_1.tar.bz2#e35b11155bd70facee39dfdec7368ad0 +https://conda.anaconda.org/conda-forge/osx-64/udunits2-2.2.28-h06ef574_0.tar.bz2#74131a7d532fbff820580d4494118245 +https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.18-openmp_h3351f45_0.tar.bz2#a0636ed965924977a848fd0d0258cf17 +https://conda.anaconda.org/conda-forge/osx-64/python-3.9.10-h1dd9edd_2_cpython.tar.bz2#db64214498d34ffbc4c33f4cd8e75e8a +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-13_osx64_openblas.tar.bz2#43e49180e01ca49b1988bc46fec6e375 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.9-2_cp39.tar.bz2#262f557ee8ca777fe2190956038024cd +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/osx-64/antlr-python-runtime-4.7.2-py39h6e9494a_1003.tar.bz2#44ca701f379cb0a5f1045ae64528e349 +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/osx-64/certifi-2021.10.8-py39h6e9494a_1.tar.bz2#92d08816d4b2e58a34a57013e3a636f0 +https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.0-py39he338e87_0.tar.bz2#eb43d870c7a57ac917962fbb68455677 +https://conda.anaconda.org/conda-forge/osx-64/coverage-6.3.1-py39h89e85a6_0.tar.bz2#e5d6c64773e4eff9188f587ec03b97da +https://conda.anaconda.org/conda-forge/osx-64/cython-0.29.27-py39h9fcab8e_0.tar.bz2#f564066484711a0d9f0da42e6846e616 +https://conda.anaconda.org/conda-forge/osx-64/docutils-0.17.1-py39h6e9494a_1.tar.bz2#8ce482ca7992be886577a5f37ca09b96 +https://conda.anaconda.org/conda-forge/osx-64/importlib-metadata-4.11.1-py39h6e9494a_0.tar.bz2#1de18acae0614d0ba435786e9f2913d7 +https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-13_osx64_openblas.tar.bz2#eecf22499103fbbed8a24efdcadd3074 +https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-13_osx64_openblas.tar.bz2#78be50c9400059ee11ebde2e0257d693 +https://conda.anaconda.org/conda-forge/osx-64/markupsafe-2.0.1-py39h89e85a6_1.tar.bz2#8d03be80a82a4e1243394e389b17d749 +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/osx-64/pluggy-1.0.0-py39h6e9494a_2.tar.bz2#0837336c3a2d14e137650bbbc9186695 +https://conda.anaconda.org/conda-forge/osx-64/pysocks-1.7.1-py39h6e9494a_4.tar.bz2#ffb5b848146817cc09272badc2d00880 +https://conda.anaconda.org/conda-forge/osx-64/pyyaml-6.0-py39h89e85a6_3.tar.bz2#58aa79ae5416c058bcb4942dd55ec341 +https://conda.anaconda.org/conda-forge/osx-64/setuptools-60.9.0-py39h6e9494a_0.tar.bz2#5bbfff268ce457ab60fbeda155b7c2dc +https://conda.anaconda.org/conda-forge/osx-64/virtualenv-20.13.1-py39h6e9494a_0.tar.bz2#c7cf8fad1e1ed885dde8112c1b160283 +https://conda.anaconda.org/conda-forge/osx-64/brotlipy-0.7.0-py39h89e85a6_1003.tar.bz2#318f80caf8cf6816f2dd7b7ee001322d +https://conda.anaconda.org/conda-forge/osx-64/cryptography-36.0.1-py39h209aa08_0.tar.bz2#ca8fa372f4f6104e41ca4028dca9458a +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.22.2-py39h9d9ce41_0.tar.bz2#a95251be24a5b08b5e33ae9229bad81c +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/osx-64/pytest-7.0.1-py39h6e9494a_0.tar.bz2#2a76232cb80d4930ba650c3d02263114 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/osx-64/ukkonen-1.0.1-py39hf018cea_1.tar.bz2#f1bc165edf0cb003df60f3708d030196 +https://conda.anaconda.org/conda-forge/osx-64/cftime-1.5.2-py39hc89836e_0.tar.bz2#0ccae924c0a9aba2ca072224a28c438f +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/osx-64/pre-commit-2.17.0-py39h6e9494a_0.tar.bz2#e39057a1cc787596ddc904968aacb420 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade diff --git a/requirements/locks/py39-lock-win-64.txt b/requirements/locks/py39-lock-win-64.txt new file mode 100644 index 00000000..84543716 --- /dev/null +++ b/requirements/locks/py39-lock-win-64.txt @@ -0,0 +1,91 @@ +# Generated by conda-lock. +# platform: win-64 +# input_hash: d56b9472663ff4e0a8548365692a54f66ac39623b64c5722a1cb43ee521b25c8 +@EXPLICIT +https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2021.10.8-h5b45459_0.tar.bz2#2ddd48c9b52f7f65361b9645b2c5d370 +https://conda.anaconda.org/conda-forge/win-64/intel-openmp-2022.0.0-h57928b3_3663.tar.bz2#9617f0042f5eea1155970e6861f3ab6b +https://conda.anaconda.org/conda-forge/noarch/tzdata-2021e-he74cb21_0.tar.bz2#a751ec502589ebdc2eceb183ff602569 +https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.20348.0-h57928b3_0.tar.bz2#6d666b6ea8251231ff508062d1e41f9c +https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.29.30037-h902a5da_6.tar.bz2#33d07ebe91062743eabc9e53a60d18e1 +https://conda.anaconda.org/conda-forge/win-64/vc-14.2-hb210afc_6.tar.bz2#c2aecbc9b00ba6f352e27d3d61fd31fb +https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h8ffe710_4.tar.bz2#7c03c66026944073040cb19a4f3ec3c9 +https://conda.anaconda.org/conda-forge/win-64/expat-2.4.4-h39d44d4_0.tar.bz2#e0704ca0874ecca4fbbdd00e2f911622 +https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2#2c96d1b6915b408893f9472569dee135 +https://conda.anaconda.org/conda-forge/win-64/libzlib-1.2.11-h8ffe710_1013.tar.bz2#b28dd2488b4e5f892c67071acc1d0a8c +https://conda.anaconda.org/conda-forge/win-64/openssl-1.1.1l-h8ffe710_0.tar.bz2#07747b2557a7f795585b118bb4f186de +https://conda.anaconda.org/conda-forge/win-64/sqlite-3.37.0-h8ffe710_0.tar.bz2#cc2d704449f994c1aa422a5a1cd8a64e +https://conda.anaconda.org/conda-forge/win-64/tbb-2021.5.0-h2d74725_0.tar.bz2#81892af9e08d8bf7a98e9713189d6885 +https://conda.anaconda.org/conda-forge/win-64/tk-8.6.11-h8ffe710_1.tar.bz2#fd3c141a1ed5a77e5813795950fb7395 +https://conda.anaconda.org/conda-forge/win-64/xz-5.2.5-h62dcd97_1.tar.bz2#eabcbfedd14d7c18a514afca09ea0ebb +https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h8ffe710_2.tar.bz2#adbfb9f45d1004a26763652246a33764 +https://conda.anaconda.org/conda-forge/win-64/mkl-2022.0.0-h0e2418a_796.tar.bz2#54baa34953c02445bfd6f566c45decbb +https://conda.anaconda.org/conda-forge/win-64/python-3.9.10-h9a09f29_2_cpython.tar.bz2#b3862d624b2b1a3cbf1786963cf321bb +https://conda.anaconda.org/conda-forge/win-64/udunits2-2.2.28-h892ecd3_0.tar.bz2#dad8b5fae263e4e36d859524a3794801 +https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 +https://conda.anaconda.org/conda-forge/noarch/atomicwrites-1.4.0-pyh9f0ad1d_0.tar.bz2#5e36230ffaf3b7bb599424592684ae53 +https://conda.anaconda.org/conda-forge/noarch/attrs-21.4.0-pyhd8ed1ab_0.tar.bz2#f70280205d7044c8b8358c8de3190e5d +https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2#ebb5f5f7dc4f1a3780ef7ea7738db08c +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2#1f5b32dabae0f1893ae3283dac7f799e +https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f +https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.4-pyhd8ed1ab_0.tar.bz2#7b50d840543d9cdae100e91582c33035 +https://conda.anaconda.org/conda-forge/noarch/filelock-3.5.0-pyhd8ed1ab_0.tar.bz2#51636bc89eab3f660045e635f21d2c2a +https://conda.anaconda.org/conda-forge/noarch/idna-3.3-pyhd8ed1ab_0.tar.bz2#40b50b8b030f5f2f22085c062ed013dd +https://conda.anaconda.org/conda-forge/noarch/imagesize-1.3.0-pyhd8ed1ab_0.tar.bz2#be807e7606fff9436e5e700f6bffb7c6 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-13_win64_mkl.tar.bz2#5addc4aa3bae7e89ce6eb8720650b257 +https://conda.anaconda.org/conda-forge/noarch/platformdirs-2.5.0-pyhd8ed1ab_0.tar.bz2#7fe854bc6252760836b0f0ab6ced04ce +https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff +https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.7-pyhd8ed1ab_0.tar.bz2#727e2216d9c47455d8ddc060eb2caad9 +https://conda.anaconda.org/conda-forge/win-64/python_abi-3.9-2_cp39.tar.bz2#757068981fb2f97d0cadbba9ae6ae191 +https://conda.anaconda.org/conda-forge/noarch/pytz-2021.3-pyhd8ed1ab_0.tar.bz2#7e4f811bff46a5a6a7e0094921389395 +https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd8ed1ab_0.tar.bz2#77dad82eb9c8c1525ff7953e0756d708 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 +https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.37.1-pyhd8ed1ab_0.tar.bz2#1ca02aaf78d9c70d9a81a3bed5752022 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.7.0-pyhd8ed1ab_1.tar.bz2#b689b2cbc8481b224777415e1a193170 +https://conda.anaconda.org/conda-forge/win-64/antlr-python-runtime-4.7.2-py39hcbf5309_1003.tar.bz2#b0b10b9f91524f316108c3ce6d9afc4f +https://conda.anaconda.org/conda-forge/noarch/babel-2.9.1-pyh44b312d_0.tar.bz2#74136ed39bfea0832d338df1e58d013e +https://conda.anaconda.org/conda-forge/win-64/certifi-2021.10.8-py39hcbf5309_1.tar.bz2#1511a457bcf9e070a34c6f1b3b9ba3f3 +https://conda.anaconda.org/conda-forge/win-64/cffi-1.15.0-py39h0878f49_0.tar.bz2#9b02bf41ccb19167aa4bb51a7b2b6a9f +https://conda.anaconda.org/conda-forge/win-64/coverage-6.3.1-py39hb82d6ee_0.tar.bz2#93e1be341d2f4df058a9681060c05c17 +https://conda.anaconda.org/conda-forge/win-64/cython-0.29.27-py39h415ef7b_0.tar.bz2#b602e275a4be222c1d72e4bac5dc613a +https://conda.anaconda.org/conda-forge/win-64/docutils-0.17.1-py39hcbf5309_1.tar.bz2#5fee62798b46bd5b7eed772a3c0b932d +https://conda.anaconda.org/conda-forge/win-64/importlib-metadata-4.11.0-py39hcbf5309_0.tar.bz2#4db5001e653d11f1bbea87016c688010 +https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-13_win64_mkl.tar.bz2#0facf207b485dc20c4ef5f8b92c7c949 +https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-13_win64_mkl.tar.bz2#4a777de294375e4d78ad53e5581a9ede +https://conda.anaconda.org/conda-forge/win-64/markupsafe-2.0.1-py39hb82d6ee_1.tar.bz2#6de18b85f0416d2e64648eaa05d5026e +https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/win-64/pluggy-1.0.0-py39hcbf5309_2.tar.bz2#1c2b6e07e9055b4b8a6c5ceabce6b46a +https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0-py39hb82d6ee_3.tar.bz2#e75bef60bf7ff017607dd1bf64423544 +https://conda.anaconda.org/conda-forge/win-64/setuptools-60.9.0-py39hcbf5309_0.tar.bz2#21ab8111dcbc1d6bbd08b6976f1ad0c2 +https://conda.anaconda.org/conda-forge/win-64/virtualenv-20.13.1-py39hcbf5309_0.tar.bz2#97a98baa824aa736f77885a3546fc40d +https://conda.anaconda.org/conda-forge/win-64/win_inet_pton-1.1.0-py39hcbf5309_3.tar.bz2#f7330a8d1f9ac9db1f7096051c8e5509 +https://conda.anaconda.org/conda-forge/win-64/brotlipy-0.7.0-py39hb82d6ee_1003.tar.bz2#c48d09cf8853400b5584df5aac87a23a +https://conda.anaconda.org/conda-forge/win-64/cryptography-36.0.1-py39h7bc7c5c_0.tar.bz2#304d556f3aff2244f6dac7f7d30e3ade +https://conda.anaconda.org/conda-forge/noarch/jinja2-3.0.3-pyhd8ed1ab_0.tar.bz2#036d872c653780cb26e797e2e2f61b4c +https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.6.0-pyhd8ed1ab_0.tar.bz2#0941325bf48969e2b3b19d0951740950 +https://conda.anaconda.org/conda-forge/win-64/numpy-1.22.2-py39h6331f09_0.tar.bz2#2ac6a62d6bf086e4c813736c7435c8c4 +https://conda.anaconda.org/conda-forge/noarch/pip-22.0.3-pyhd8ed1ab_0.tar.bz2#45dedae69a0ea21cb8566d04b2ca5536 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.11.2-pyhd8ed1ab_0.tar.bz2#caef60540e2239e27bf62569a5015e3b +https://conda.anaconda.org/conda-forge/win-64/pysocks-1.7.1-py39hcbf5309_4.tar.bz2#14c73779101f739feb53502b9dbb005e +https://conda.anaconda.org/conda-forge/win-64/pytest-7.0.1-py39hcbf5309_0.tar.bz2#77b52263b9ceabb96fc231651026cde8 +https://conda.anaconda.org/conda-forge/noarch/setuptools-scm-6.4.2-pyhd8ed1ab_0.tar.bz2#4b55bf84b0f8113833a653d7ba1f52c8 +https://conda.anaconda.org/conda-forge/win-64/ukkonen-1.0.1-py39h2e07f2f_1.tar.bz2#698788f221a2a6f08510ffb115b973c5 +https://conda.anaconda.org/conda-forge/win-64/cftime-1.5.2-py39h5d4886f_0.tar.bz2#971d2dec407b2b7c313bbd56ea362ee7 +https://conda.anaconda.org/conda-forge/noarch/identify-2.4.10-pyhd8ed1ab_0.tar.bz2#faf44e59178c016c070b6d5e597fc45c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2#1d7e241dfaf5475e893d4b824bb71b44 +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-3.0.0-pyhd8ed1ab_0.tar.bz2#0f7cac11bb696b62d378bde725bfc3eb +https://conda.anaconda.org/conda-forge/noarch/setuptools_scm-6.4.2-hd8ed1ab_0.tar.bz2#160f4a41b7490ae06f70e0a122075eaf +https://conda.anaconda.org/conda-forge/win-64/pre-commit-2.17.0-py39hcbf5309_0.tar.bz2#e6a796b57b122378e5c8f11a4c9b9fef +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.8-pyhd8ed1ab_1.tar.bz2#53f1387c68c21cecb386e2cde51b3f7c +https://conda.anaconda.org/conda-forge/noarch/requests-2.27.1-pyhd8ed1ab_0.tar.bz2#7c1c427246b057b8fa97200ecdb2ed62 +https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.11-pyhd3deb0d_0.tar.bz2#9c661c2c14b4667827218402e6624ad5 +https://conda.anaconda.org/conda-forge/noarch/sphinx-4.4.0-pyh6c4a22f_1.tar.bz2#a9025d14c2a609e0d895ad3e75b5369c +https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_1.tar.bz2#63d2f874f990fdcab47c822b608d6ade From 6870c3ea53bc9f56ddc2c9b7a872cac79fbef60e Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 16:17:29 +0000 Subject: [PATCH 04/47] turn-off cirrus-ci turn-on gha testing --- .cirrus.yml | 90 ----------------------------- .github/workflows/ci-tests.yml | 102 +++++++++++++++++++++++++++++++++ tox.ini | 24 ++++++++ 3 files changed, 126 insertions(+), 90 deletions(-) delete mode 100644 .cirrus.yml create mode 100644 .github/workflows/ci-tests.yml diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index 36658c01..00000000 --- a/.cirrus.yml +++ /dev/null @@ -1,90 +0,0 @@ -# Reference: -# - https://cirrus-ci.org/guide/writing-tasks/ -# - https://cirrus-ci.org/guide/linux/ -# - https://hub.docker.com/_/gcc/ -# - https://hub.docker.com/_/python/ - -# -# Global defaults. -# -container: - image: gcc:latest - cpu: 2 - memory: 4G - - -env: - # Maximum cache period (in weeks) before forcing a new cache upload. - CACHE_PERIOD: "2" - # Increment the build number to force new mambaforge cache upload. - MAMBA_CACHE_BUILD: "0" - # Increment the build number to force new cf-units cache upload. - CFUNITS_CACHE_BUILD: "0" - # Base environment conda packages to be installed - MAMBA_CACHE_PACKAGES: "pip conda-lock" - - -# -# Linting -# -task: - auto_cancellation: true - container: - image: python:latest - cpu: 2 - memory: 4G - name: "${CIRRUS_OS}: precommit hooks" - precommit_script: - - python -m pip install --retries 3 pre-commit - - SKIP="no-commit-to-branch" pre-commit run --all-files - - -# -# Testing (Linux) -# -task: - auto_cancellation: true - matrix: - env: - PY_VER: "3.7" - env: - PY_VER: "3.8" - env: - PY_VER: "3.9" - COVERAGE: "codecov" - name: "${CIRRUS_OS}: py${PY_VER}" - env: - PATH: ${HOME}/mambaforge/bin:${PATH} - mamba_cache: - folder: ${HOME}/mambaforge - fingerprint_script: - - wget --quiet https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh -O mambaforge.sh - - echo "${CIRRUS_OS} $(sha256sum mambaforge.sh)" - - echo "${MAMBA_CACHE_PACKAGES}" - - echo "$(date +%Y).$(expr $(date +%U) / ${CACHE_PERIOD}):${MAMBA_CACHE_BUILD}" - populate_script: - - bash mambaforge.sh -b -p ${HOME}/mambaforge - - conda config --set always_yes yes --set changeps1 no - - conda config --set show_channel_urls True - - conda config --add channels conda-forge - - conda install --quiet --name base ${MAMBA_CACHE_PACKAGES} - check_script: - - conda info --all - - conda list --name base - cfunits_cache: - folder: ${HOME}/mambaforge/envs/py${PY_VER} - fingerprint_script: - - echo "${CIRRUS_OS} py${PY_VER} tests" - - echo "$(date +%Y).$(expr $(date +%U) / ${CACHE_PERIOD}):${CFUNITS_CACHE_BUILD}" - - cat ${CIRRUS_WORKING_DIR}/requirements/py$(echo ${PY_VER} | tr -d ".").yml - populate_script: - - conda-lock --mamba --platform linux-64 --file ${CIRRUS_WORKING_DIR}/requirements/py$(echo ${PY_VER} | tr -d ".").yml - - mamba create --name py${PY_VER} --quiet --file conda-linux-64.lock --yes - - cp conda-linux-64.lock ${HOME}/mambaforge/envs/py${PY_VER} - test_script: - - cat ${HOME}/mambaforge/envs/py${PY_VER}/conda-linux-64.lock >&2 - - source ${HOME}/mambaforge/etc/profile.d/conda.sh >/dev/null 2>&1 - - conda activate py${PY_VER} >/dev/null 2>&1 - - CYTHON_COVERAGE=1 pip install --no-deps --editable . - - pytest --cov-report=xml --cov - - ${COVERAGE} diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml new file mode 100644 index 00000000..be0c9546 --- /dev/null +++ b/.github/workflows/ci-tests.yml @@ -0,0 +1,102 @@ +# Reference: +# - https://github.com/actions/cache +# - https://github.com/actions/checkout +# - https://github.com/conda-incubator/setup-miniconda + +name: ci-tests + +on: [pull_request, push] + + +jobs: + run-tests: + name: "Test ${{ matrix.version }} on ${{ matrix.os }}" + runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash -l {0} + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + CONDA_EXE: "mamba" + CYTHON_COVERAGE: 1 + ENV_NAME: "ci-tests" + strategy: + matrix: + os: [ubuntu-latest] + version: [py38, py39, py310] + include: + - os: ubuntu-latest + platform: linux + - os: ubuntu-latest + version: py310 + posargs: "--cov-report=xml --cov" + post-command: codecov +# - version: py310 +# os: macos-latest +# platform: osx + steps: + - name: "Checkout" + uses: actions/checkout@v2 + + - name: "Environment configure" + env: + # Maximum cache period (in weeks) before forcing a cache refresh. + CACHE_WEEKS: 2 + run: | + echo "CACHE_PERIOD=$(date +%Y).$(expr $(date +%U) / ${CACHE_WEEKS})" >> ${GITHUB_ENV} + + - name: "Conda package cache" + uses: actions/cache@v2 + env: + # Increment the build number to force a cache refresh. + CACHE_BUILD: 0 + with: + path: ~/conda_pkgs_dir + key: ${{ runner.os }}-conda-pkgs-${{ env.ENV_NAME }}-${{ matrix.version }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} + + - name: "Conda install" + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + use-mamba: true + channels: conda-forge,defaults + activate-environment: ${{ env.ENV_NAME }} + auto-update-conda: false + use-only-tar-bz2: true + + - name: "Conda environment cache" + id: conda-env-cache + uses: actions/cache@v2 + env: + # Increment the build number to force a cache refresh. + CACHE_BUILD: 0 + with: + path: ${{ env.CONDA }}/envs/${{ env.ENV_NAME }} + key: ${{ runner.os }}-conda-env-${{ env.ENV_NAME }}-${{ matrix.version }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} + + - name: "Conda environment update" + if: steps.conda-env-cache.outputs.cache-hit != 'true' + run: | + mamba install --name ${{ env.ENV_NAME }} tox + + - name: "Conda info" + run: | + conda info + conda list + + - name: "Tox cache" + uses: actions/cache@v2 + env: + # Increment the build number to forece a cache refresh. + CACHE_BUILD: 0 + TOX_INI: ${{ github.workspace }}/tox.ini + with: + path: ${{ github.workspace }}/.tox + key: ${{ runner.os }}-tox-${{ env.ENV_NAME }}-${{ matrix.version }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }}-${{ hashFiles(env.TOX_INI) }} + + - name: "Run ${{ matrix.os }} on ${{ matrix.version}} tests" + env: + POST_COMMAND: ${{ matrix.post-command }} + run: | + tox -e ${{ matrix.version }}-${{ matrix.platform }}-test -- ${{ matrix.posargs }} diff --git a/tox.ini b/tox.ini index 59ca9624..08d60a03 100644 --- a/tox.ini +++ b/tox.ini @@ -30,3 +30,27 @@ commands = cp {env:YMLFILE} {env:TMPFILE} python -c 'from sys import version_info as v; fh = open("{env:TMPFILE}", "a"); fh.write(f"\n - python =\{v.major\}.\{v.minor\}\n")' conda-lock --channel conda-forge --file {env:TMPFILE} --platform linux-64 --filename-template "{envname}-\{platform\}.txt" {posargs} + + +[testenv:py{38,39,310}-{linux,osx,win}-test] +conda_spec = + py38-linux: {toxinidir}{/}requirements{/}locks{/}py38-lock-linux-64.txt + py39-linux: {toxinidir}{/}requirements{/}locks{/}py39-lock-linux-64.txt + py310-linux: {toxinidir}{/}requirements{/}locks{/}py310-lock-linux-64.txt + py38-osx: {toxinidir}{/}requirements{/}locks{/}py38-lock-osx-64.txt + py39-osx: {toxinidir}{/}requirements{/}locks{/}py39-lock-osx-64.txt + py310-osx: {toxinidir}{/}requirements{/}locks{/}py310-lock-osx-64.txt + py38-win: {toxinidir}{/}requirements{/}locks{/}py38-lock-win-64.txt + py39-win: {toxinidir}{/}requirements{/}locks{/}py39-lock-win-64.txt + py310-win: {toxinidir}{/}requirements{/}locks{/}py310-lock-win-64.txt +description = + Perform cf-units unit/integration tests. +passenv = + CODECOV_TOKEN + CYTHON_COVERAGE + POST_COMMAND +usedevelop = + true +commands = + - pytest {posargs} + {env:POST_COMMAND:} From 66ca52b6102dc2d31696ed490cf824245435bfa7 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 16:18:48 +0000 Subject: [PATCH 05/47] schedule ci-locks with cron --- .github/workflows/ci-locks.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-locks.yml b/.github/workflows/ci-locks.yml index 3cb9157b..e3a2dbd6 100644 --- a/.github/workflows/ci-locks.yml +++ b/.github/workflows/ci-locks.yml @@ -9,10 +9,8 @@ name: ci-locks on: workflow_dispatch: - push: - pull_request: -# schedule: -# - cron: 3 0 * * 1 + schedule: + - cron: 3 0 * * 1 jobs: From 11300928eb646023b00ef8368044a802ce3ba584 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 16:31:29 +0000 Subject: [PATCH 06/47] update readthedocs --- .readthedocs.yml | 16 +++++++++------- setup.cfg | 3 +-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index c464fabe..202fd2b6 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,16 +1,18 @@ version: 2 build: - image: latest + os: ubuntu-20.04 + tools: + python: mambaforge-4.10 conda: - environment: requirements/cf-units.yml + environment: requirements/cf-units.yml sphinx: - configuration: doc/source/conf.py - fail_on_warning: false + configuration: doc/source/conf.py + fail_on_warning: false python: - install: - - method: setuptools - path: . + install: + - method: pip + path: . diff --git a/setup.cfg b/setup.cfg index 9804c898..4fc70970 100644 --- a/setup.cfg +++ b/setup.cfg @@ -48,14 +48,13 @@ zip_safe = False [options.extras_require] docs = - setuptools_scm sphinx test = codecov cython jinja2 pip - pytest + pytest>=6.0 pytest-cov all = pre-commit From 9c232adb8f18ffe584c3e5b30cdee2bd4a19afa5 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 16:33:25 +0000 Subject: [PATCH 07/47] pin mambaforge version --- .github/workflows/ci-locks.yml | 2 +- .github/workflows/ci-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-locks.yml b/.github/workflows/ci-locks.yml index e3a2dbd6..a885058e 100644 --- a/.github/workflows/ci-locks.yml +++ b/.github/workflows/ci-locks.yml @@ -50,7 +50,7 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: miniforge-variant: Mambaforge - miniforge-version: latest + miniforge-version: 4.11.0-1 use-mamba: true channels: conda-forge,defaults activate-environment: ${{ env.ENV_NAME }} diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index be0c9546..5e0ac209 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -58,7 +58,7 @@ jobs: uses: conda-incubator/setup-miniconda@v2 with: miniforge-variant: Mambaforge - miniforge-version: latest + miniforge-version: 4.11.0-1 use-mamba: true channels: conda-forge,defaults activate-environment: ${{ env.ENV_NAME }} From c360843c6da84ed74073a42f5fcd0c8cf1ed00bf Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 16:45:19 +0000 Subject: [PATCH 08/47] mv doc to docs --- .readthedocs.yml | 2 +- {doc => docs}/Makefile | 0 {doc => docs}/make.bat | 0 {doc => docs}/source/conf.py | 0 {doc => docs}/source/index.rst | 0 {doc => docs}/source/unit.rst | 0 {doc => docs}/source/utilities.rst | 0 7 files changed, 1 insertion(+), 1 deletion(-) rename {doc => docs}/Makefile (100%) rename {doc => docs}/make.bat (100%) rename {doc => docs}/source/conf.py (100%) rename {doc => docs}/source/index.rst (100%) rename {doc => docs}/source/unit.rst (100%) rename {doc => docs}/source/utilities.rst (100%) diff --git a/.readthedocs.yml b/.readthedocs.yml index 202fd2b6..4443812b 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -9,7 +9,7 @@ conda: environment: requirements/cf-units.yml sphinx: - configuration: doc/source/conf.py + configuration: docs/source/conf.py fail_on_warning: false python: diff --git a/doc/Makefile b/docs/Makefile similarity index 100% rename from doc/Makefile rename to docs/Makefile diff --git a/doc/make.bat b/docs/make.bat similarity index 100% rename from doc/make.bat rename to docs/make.bat diff --git a/doc/source/conf.py b/docs/source/conf.py similarity index 100% rename from doc/source/conf.py rename to docs/source/conf.py diff --git a/doc/source/index.rst b/docs/source/index.rst similarity index 100% rename from doc/source/index.rst rename to docs/source/index.rst diff --git a/doc/source/unit.rst b/docs/source/unit.rst similarity index 100% rename from doc/source/unit.rst rename to docs/source/unit.rst diff --git a/doc/source/utilities.rst b/docs/source/utilities.rst similarity index 100% rename from doc/source/utilities.rst rename to docs/source/utilities.rst From 457ec10f0a9cad779c2d5e2ce467c8a545c36ce7 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 15 Feb 2022 17:02:42 +0000 Subject: [PATCH 09/47] turn-on osx tests for latest python version --- .github/workflows/ci-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 5e0ac209..dadc3ae4 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -31,9 +31,9 @@ jobs: version: py310 posargs: "--cov-report=xml --cov" post-command: codecov -# - version: py310 -# os: macos-latest -# platform: osx + - version: py310 + os: macos-latest + platform: osx steps: - name: "Checkout" uses: actions/checkout@v2 From ce1034308f3220d63a908f2b815673f1302b0eb3 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 09:27:35 +0000 Subject: [PATCH 10/47] use cibuildwheel --- .github/workflows/ci-wheels.yml | 75 +++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/ci-wheels.yml diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml new file mode 100644 index 00000000..1aa45e1a --- /dev/null +++ b/.github/workflows/ci-wheels.yml @@ -0,0 +1,75 @@ +name: ci-wheels + +on: + workflow_dispatch: + push: + pull_request: + + +jobs: + build_bdist: + name: "Build binary wheel distribution on ${{ matrix.os }}" + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + arch: [auto64] +# include: +# - os: ubuntu-latest +# arch: aarch64 + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: "Configure QEMU" + if: ${{ matrix.arch == 'aarch64' }} + uses: docker/setup-qemu-action@v1 + + - name: "Build bdist" + uses: pypa/cibuildwheel@v2.3.1 + env: + CIBW_SKIP: cp36-* cp37-* pp* + CIBW_ARCHS: ${{ matrix.arch }} + CIBW_BUILD_FRONTEND: build + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + + - uses: actions/upload-artifact@v2 + with: + name: pypi-artifacts + path: ${{ github.workspace }}/wheelhouse/*.whl + + + build_sdist: + name: "Build source distribution" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: "Build sdist" + run: | + pipx run build --sdist + + - uses: actions/upload-artifact@v2 + with: + name: pypi-artifacts + path: ${{ github.workspace }}/dist/*.tar.gz + + + debug: + needs: [build_bdist, build_sdist] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v2 + with: + name: pypi-artifacts + path: ${{ github.workspace }}/dist + + - name: "Show artifacts" + run: | + ls -l ${{ github.workspace }}/dist + From f1b0cd9ddaa3c9583f18913e48df8807d8038a41 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 09:42:00 +0000 Subject: [PATCH 11/47] use oldest-supported-numpy meta-package --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1cbcc819..5863a402 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ requires = [ "setuptools>=42", "setuptools_scm[toml]>=6.0", "wheel", - "numpy", + "oldest-supported-numpy", "Cython" ] # Defined by PEP 517 From 310575a67dcc25f448144a132ce050dcf0d2b1f4 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 10:48:38 +0000 Subject: [PATCH 12/47] configure cibuildwheel --- .github/workflows/ci-wheels.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 1aa45e1a..45f617e1 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -35,6 +35,11 @@ jobs: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel + UDUNITS2_INCDIR: /usr/include/udunits2 + UDUNITS2_LIBDIR: /usr/lib64 + UDUNITS2_XML_PATH: /usr/share/udunits/udunits2.xml + CIBW_ENVIRONMENT_PASS_LINUX: UDUNITS2_INCDIR UDUNITS2_LIBDIR UDUNITS2_XML_PATH - uses: actions/upload-artifact@v2 with: From df2a8a956b6c84d776fb79d0c8fd70fb2b1f87ad Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 10:56:03 +0000 Subject: [PATCH 13/47] skip musllinux builds --- .github/workflows/ci-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 45f617e1..9f573f05 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -31,7 +31,7 @@ jobs: - name: "Build bdist" uses: pypa/cibuildwheel@v2.3.1 env: - CIBW_SKIP: cp36-* cp37-* pp* + CIBW_SKIP: cp36-* cp37-* pp* *-musllinux* CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 From 2a33c27227b769a990ea8f950f7775784a70692f Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 11:10:21 +0000 Subject: [PATCH 14/47] add linux aarch64 support --- .github/workflows/ci-wheels.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 9f573f05..55e23257 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -15,9 +15,9 @@ jobs: matrix: os: [ubuntu-latest] arch: [auto64] -# include: -# - os: ubuntu-latest -# arch: aarch64 + include: + - os: ubuntu-latest + arch: aarch64 steps: - uses: actions/checkout@v2 @@ -31,7 +31,7 @@ jobs: - name: "Build bdist" uses: pypa/cibuildwheel@v2.3.1 env: - CIBW_SKIP: cp36-* cp37-* pp* *-musllinux* + CIBW_SKIP: "cp36-* cp37-* pp* *-musllinux*" CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 From abb7cd41708a084b1050fbf1e4d8017c4f3653bf Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 11:14:18 +0000 Subject: [PATCH 15/47] update job name --- .github/workflows/ci-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 55e23257..3fbcff12 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -8,7 +8,7 @@ on: jobs: build_bdist: - name: "Build binary wheel distribution on ${{ matrix.os }}" + name: "Build bdist on ${{ matrix.os }} ${{ matrix.arch }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false From d3385743bee8f816e5d4651b220f30dcf1c0efd4 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 11:43:46 +0000 Subject: [PATCH 16/47] yum update for aarch64 --- .github/workflows/ci-wheels.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 3fbcff12..6ad5f9cf 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -8,7 +8,7 @@ on: jobs: build_bdist: - name: "Build bdist on ${{ matrix.os }} ${{ matrix.arch }}" + name: "Build bdist ${{ matrix.arch }} ${{ matrix.os }}" runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -35,7 +35,9 @@ jobs: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel + CIBW_BEFORE_BUILD_LINUX: > + yum update -y && + yum install -y udunits2-devel UDUNITS2_INCDIR: /usr/include/udunits2 UDUNITS2_LIBDIR: /usr/lib64 UDUNITS2_XML_PATH: /usr/share/udunits/udunits2.xml From 58289cb60cc06b242ef4250d00eb8e72f7bd892c Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 11:48:35 +0000 Subject: [PATCH 17/47] drop linux aarch64 --- .github/workflows/ci-wheels.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 6ad5f9cf..85df0481 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -15,19 +15,12 @@ jobs: matrix: os: [ubuntu-latest] arch: [auto64] - include: - - os: ubuntu-latest - arch: aarch64 steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - - name: "Configure QEMU" - if: ${{ matrix.arch == 'aarch64' }} - uses: docker/setup-qemu-action@v1 - - name: "Build bdist" uses: pypa/cibuildwheel@v2.3.1 env: @@ -35,9 +28,7 @@ jobs: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_BEFORE_BUILD_LINUX: > - yum update -y && - yum install -y udunits2-devel + CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel UDUNITS2_INCDIR: /usr/include/udunits2 UDUNITS2_LIBDIR: /usr/lib64 UDUNITS2_XML_PATH: /usr/share/udunits/udunits2.xml From 13de40ef7b987c70e896f9aec7bb0811eeff372d Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 12:25:18 +0000 Subject: [PATCH 18/47] add wheels build tests --- .github/workflows/ci-wheels.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 85df0481..1408722f 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -29,6 +29,9 @@ jobs: CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel + CIBW_TEST_REQUIRES: pytest + CIBW_TEST_COMMAND: > + python -c 'import cf_units; print(f"cf-units v{cf_units.__version__}")' UDUNITS2_INCDIR: /usr/include/udunits2 UDUNITS2_LIBDIR: /usr/lib64 UDUNITS2_XML_PATH: /usr/share/udunits/udunits2.xml From 2dcf0677d7431ec3aa040e145f672aab897eb69d Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 12:32:33 +0000 Subject: [PATCH 19/47] add wheel pytest --- .github/workflows/ci-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 1408722f..35a90341 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -31,7 +31,8 @@ jobs: CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: > - python -c 'import cf_units; print(f"cf-units v{cf_units.__version__}")' + python -c 'import cf_units; print(f"cf-units v{cf_units.__version__}")' && + python -m pytest --pyargs cf_units UDUNITS2_INCDIR: /usr/include/udunits2 UDUNITS2_LIBDIR: /usr/lib64 UDUNITS2_XML_PATH: /usr/share/udunits/udunits2.xml From 8c6a26ec28a4d02093413c2224463f7d7f77cb38 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 12:41:36 +0000 Subject: [PATCH 20/47] don't ignore pytest failures in tox --- .github/workflows/ci-wheels.yml | 1 + tox.ini | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 35a90341..ba7b450d 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -13,6 +13,7 @@ jobs: strategy: fail-fast: false matrix: + # TBD: extend to support osx and windows os: [ubuntu-latest] arch: [auto64] diff --git a/tox.ini b/tox.ini index 08d60a03..1a42025b 100644 --- a/tox.ini +++ b/tox.ini @@ -52,5 +52,5 @@ passenv = usedevelop = true commands = - - pytest {posargs} + pytest {posargs} {env:POST_COMMAND:} From 2d1d49ad10ad9866db6ce993cdd77e3d8ae8a8c8 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 13:55:27 +0000 Subject: [PATCH 21/47] quote ci-locks cron --- .github/workflows/ci-locks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-locks.yml b/.github/workflows/ci-locks.yml index a885058e..c0683f1a 100644 --- a/.github/workflows/ci-locks.yml +++ b/.github/workflows/ci-locks.yml @@ -10,7 +10,7 @@ name: ci-locks on: workflow_dispatch: schedule: - - cron: 3 0 * * 1 + - cron: "3 0 * * 1" jobs: From 9fcac8368c95ed58598faba747a7778a7ecdc081 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 14:19:31 +0000 Subject: [PATCH 22/47] update unit tests for py310 --- cf_units/tests/test_unit.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cf_units/tests/test_unit.py b/cf_units/tests/test_unit.py index 5823c97f..8fe95500 100644 --- a/cf_units/tests/test_unit.py +++ b/cf_units/tests/test_unit.py @@ -488,7 +488,7 @@ def test_bad_power(self): def test_unit_power(self): u = Unit("amp") v = Unit("m") - emsg = "argument must be a string or a number" + emsg = "argument must be a string or a (real |)number" with self.assertRaisesRegex(TypeError, emsg): operator.pow(u, v) @@ -513,7 +513,7 @@ def test_bad_power(self): def test_unit_power(self): v = Unit("m") - emsg = "argument must be a string or a number" + emsg = "argument must be a string or a (real |)number" with self.assertRaisesRegex(TypeError, emsg): operator.pow(self.u, v) @@ -544,7 +544,7 @@ def test_bad_power(self): def test_unit_power(self): v = Unit("m") - emsg = "argument must be a string or a number" + emsg = "argument must be a string or a (real |)number" with self.assertRaisesRegex(TypeError, emsg): operator.pow(self.u, v) From bd236a578863dc0ac80754634a6ff16bec4f567b Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 14:27:47 +0000 Subject: [PATCH 23/47] purge old wheel building infrastructure --- .github/workflows/actions/entrypoint.sh | 37 ------- .../actions/manylinux2014_x86_64/action.yml | 7 -- .github/workflows/pypi_publish.yml | 102 ------------------ 3 files changed, 146 deletions(-) delete mode 100755 .github/workflows/actions/entrypoint.sh delete mode 100644 .github/workflows/actions/manylinux2014_x86_64/action.yml delete mode 100644 .github/workflows/pypi_publish.yml diff --git a/.github/workflows/actions/entrypoint.sh b/.github/workflows/actions/entrypoint.sh deleted file mode 100755 index 90bf95be..00000000 --- a/.github/workflows/actions/entrypoint.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -trap 'echo "Aborted!"; exit 1' ERR -set -e - - -yum install -y udunits2-devel - -PYTHONS=("cp37-cp37m" "cp38-cp38" "cp39-cp39") -WHEELHOUSE="/github/workspace/wheelhouse" -MANYLINUX="manylinux2014_x86_64" -DISTRIBUTION="dist" - -export UDUNITS2_INCDIR="/usr/include/udunits2" -export UDUNITS2_LIBDIR="/usr/lib64" -export UDUNITS2_XML_PATH="/usr/share/udunits/udunits2.xml" - -# Create the distribution directory. -mkdir ${DISTRIBUTION} - -# Build the wheels in the wheelhouse. -for PYTHON in ${PYTHONS[@]}; do - PYBIN="/opt/python/${PYTHON}/bin/python" - ${PYBIN} -m pip install --upgrade pip wheel setuptools setuptools_scm build twine auditwheel - ${PYBIN} -m build --wheel . --outdir ${WHEELHOUSE} -done - -# Build the sdist in the distribution. -${PYBIN} -m build --sdist . --outdir ${DISTRIBUTION} - -# Convert to manylinux wheels in the wheelhouse. -for BDIST_WHEEL in ${WHEELHOUSE}/cf_units*.whl; do - auditwheel repair ${BDIST_WHEEL} -done - -# Populate distribution with the manylinux wheels. -cp ${WHEELHOUSE}/cf_units*${MANYLINUX}.whl ${DISTRIBUTION} diff --git a/.github/workflows/actions/manylinux2014_x86_64/action.yml b/.github/workflows/actions/manylinux2014_x86_64/action.yml deleted file mode 100644 index e0d5ba07..00000000 --- a/.github/workflows/actions/manylinux2014_x86_64/action.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: 'build wheels with manylinux2014_x86_64' -description: 'build wheels with manylinux2014_x86_64' -runs: - using: 'docker' - image: docker://quay.io/pypa/manylinux2014_x86_64 - args: - - .github/workflows/actions/entrypoint.sh diff --git a/.github/workflows/pypi_publish.yml b/.github/workflows/pypi_publish.yml deleted file mode 100644 index 43485315..00000000 --- a/.github/workflows/pypi_publish.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: pypi-publish - -on: - release: - types: - - published - -jobs: - build-artifacts: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Get tags - shell: bash - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - - - name: Build linux wheels - uses: ./.github/workflows/actions/manylinux2014_x86_64 - - - name: List built artifacts - shell: bash - working-directory: dist - run: ls - - - name: Check built artifacts - shell: bash - working-directory: dist - run: | - python -m pip install wheel twine - python -m twine check * - - - name: Inspect built wheels - shell: bash - working-directory: dist - run: | - for WHEEL in *.whl; do - echo -e "\n${WHEEL}" - python -m zipfile --list ${WHEEL} - done - - - name: Upload built artifacts - uses: actions/upload-artifact@v2 - with: - name: pypi-artifacts - path: dist - - test-artifacts: - needs: build-artifacts - name: Test ${{ matrix.tag }} for Python ${{ matrix.python }} - runs-on: ubuntu-latest - strategy: - matrix: - python: [3.7, 3.8, 3.9] - include: - - python: 3.7 - tag: cp37-cp37m - - python: 3.8 - tag: cp38-cp38 - - python: 3.9 - tag: cp39-cp39 - steps: - - name: Download built artifacts - uses: actions/download-artifact@v2 - with: - name: pypi-artifacts - path: dist - - - name: Setup Python ${{ matrix.python }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python }} - - - name: Install ${{ matrix.tag }} - env: - TAG: ${{ matrix.tag }} - shell: bash - working-directory: dist - run: python -m pip install cf_units-*-${TAG}-*.whl - - - name: Test ${{ matrix.tag }} - shell: bash - run: | - python -m pip install pytest - python -m pytest --pyargs cf_units - - publish-artifacts: - needs: [build-artifacts, test-artifacts] - name: Publish built artifacts to PyPI - runs-on: ubuntu-latest - steps: - - name: Download built artifacts - uses: actions/download-artifact@v2 - with: - name: pypi-artifacts - path: dist - - - name: Publish artifacts - uses: pypa/gh-action-pypi-publish@v1.4.2 - with: - user: __token__ - password: ${{ secrets.PYPI_PASSWORD }} From dfffedd8d799f7412f75ff230f42a0d33f22cc8a Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 14:44:21 +0000 Subject: [PATCH 24/47] publish ci-wheels to pypi --- .github/workflows/ci-wheels.yml | 66 ++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index ba7b450d..a0ab6a5d 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -1,9 +1,15 @@ +# Reference: +# - https://github.com/actions/checkout +# - https://github.com/actions/download-artifact +# - https://github.com/actions/upload-artifact +# - https://github.com/pypa/cibuildwheel +# - https://github.com/pypa/build +# - https://github.com/pypa/gh-action-pypi-publish +# - https://test.pypi.org/help/#apitoken + name: ci-wheels -on: - workflow_dispatch: - push: - pull_request: +on: [pull_request, push, release] jobs: @@ -22,7 +28,7 @@ jobs: with: fetch-depth: 0 - - name: "Build bdist" + - name: "Building bdist" uses: pypa/cibuildwheel@v2.3.1 env: CIBW_SKIP: "cp36-* cp37-* pp* *-musllinux*" @@ -46,14 +52,14 @@ jobs: build_sdist: - name: "Build source distribution" + name: "Build sdist" runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - - name: "Build sdist" + - name: "Building sdist" run: | pipx run build --sdist @@ -63,8 +69,9 @@ jobs: path: ${{ github.workspace }}/dist/*.tar.gz - debug: + show-artifacts: needs: [build_bdist, build_sdist] + name: "Show artifacts" runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v2 @@ -72,7 +79,46 @@ jobs: name: pypi-artifacts path: ${{ github.workspace }}/dist - - name: "Show artifacts" - run: | + - run: | ls -l ${{ github.workspace }}/dist + + publish-artifacts-test-pypi: + needs: [build_bdist, build_sdist] + name: "Publish to Test PyPI" + runs-on: ubuntu-latest + # upload to Test PyPI for every pull-request and commit on main or release feature branch + if: github.event_name != 'release' && ((github.event.ref == 'refs/heads/main') || startsWith(github.event.ref, 'refs/tags/v')) + steps: + - uses: actions/download-artifact@v2 + with: + name: pypi-artifacts + path: ${{ github.workspace }}/dist + + - uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + skip_existing: true + print_hash: true + + + publish-artifacts-pypi: + needs: [build_bdist, build_sdist] + name: "Publish to PyPI" + runs-on: ubuntu-latest + # upload to PyPI for every GH release + if: github.event_name == 'release' && github.event.action == 'published' + steps: + - uses: actions/download-artifact@v2 + with: + name: pypi-artifacts + path: ${{ github.workspace }}/dist + + - uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + print_hash: true + From 6ec686eb2ce074d3646c2e6a2ddb679cac48f83d Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 15:38:57 +0000 Subject: [PATCH 25/47] add setuptools-scm-git-archive support --- .git_archival.txt | 1 + .gitattributes | 1 + pyproject.toml | 5 +++-- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .git_archival.txt create mode 100644 .gitattributes diff --git a/.git_archival.txt b/.git_archival.txt new file mode 100644 index 00000000..95cb3eea --- /dev/null +++ b/.git_archival.txt @@ -0,0 +1 @@ +ref-names: $Format:%D$ diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..00a7b00c --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +.git_archival.txt export-subst diff --git a/pyproject.toml b/pyproject.toml index 5863a402..4b5c26ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,9 @@ [build-system] # Defined by PEP 518 requires = [ - "setuptools>=42", - "setuptools_scm[toml]>=6.0", + "setuptools>=45", + "setuptools_scm[toml]>=6.2", + "setuptools_scm_git_archive", "wheel", "oldest-supported-numpy", "Cython" From 40f95a2f8652f26e3941f61b2cc4370214726411 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 16:28:04 +0000 Subject: [PATCH 26/47] update requirements --- requirements/cf-units.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/requirements/cf-units.yml b/requirements/cf-units.yml index f4d2ecd5..ddd041e4 100644 --- a/requirements/cf-units.yml +++ b/requirements/cf-units.yml @@ -5,6 +5,9 @@ channels: dependencies: # setup dependencies + - setuptools >=45 + - setuptools_scm >=6.2 + - setuptools_scm_git_archive - cython - numpy @@ -25,5 +28,4 @@ dependencies: - pre-commit # docs dependencies - - setuptools_scm - sphinx From d32ac57cc82a15acf136713bcf201b5f770bc856 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 16:30:53 +0000 Subject: [PATCH 27/47] ci-wheels get tags --- .github/workflows/ci-wheels.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index a0ab6a5d..90c04ce2 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -28,6 +28,11 @@ jobs: with: fetch-depth: 0 + - name: Get tags + shell: bash + run: | + git fetch --depth=1 origin +refs/tags/*:refs/tags/* + - name: "Building bdist" uses: pypa/cibuildwheel@v2.3.1 env: @@ -60,6 +65,7 @@ jobs: fetch-depth: 0 - name: "Building sdist" + shell: bash run: | pipx run build --sdist @@ -79,7 +85,8 @@ jobs: name: pypi-artifacts path: ${{ github.workspace }}/dist - - run: | + - shell: bash + run: | ls -l ${{ github.workspace }}/dist From 6162da3565756f0294208867e1bfd0e589c911b2 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 16:39:54 +0000 Subject: [PATCH 28/47] before build deps --- .github/workflows/ci-wheels.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 90c04ce2..37d5bcf9 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -28,11 +28,6 @@ jobs: with: fetch-depth: 0 - - name: Get tags - shell: bash - run: | - git fetch --depth=1 origin +refs/tags/*:refs/tags/* - - name: "Building bdist" uses: pypa/cibuildwheel@v2.3.1 env: @@ -40,7 +35,7 @@ jobs: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel + CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel; pip install setuptools_scm CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: > python -c 'import cf_units; print(f"cf-units v{cf_units.__version__}")' && From b1f173ed4d6a47e94c567956306622c043af4e2e Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 16:50:03 +0000 Subject: [PATCH 29/47] revoke before build deps --- .github/workflows/ci-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 37d5bcf9..cfbf393c 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -35,7 +35,7 @@ jobs: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD_FRONTEND: build CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel; pip install setuptools_scm + CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: > python -c 'import cf_units; print(f"cf-units v{cf_units.__version__}")' && From 9b888ac386b61aadfdb48a6dddead065cc35158a Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 16:51:56 +0000 Subject: [PATCH 30/47] test pypi publish --- .github/workflows/ci-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index cfbf393c..7a338ec6 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -121,6 +121,7 @@ jobs: - uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ print_hash: true From 7957c1edc5f61e5d7f4b5e00477db5144fdaaa27 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 17:28:53 +0000 Subject: [PATCH 31/47] pypi publish test --- .github/workflows/ci-wheels.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 7a338ec6..2cc84695 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -9,7 +9,7 @@ name: ci-wheels -on: [pull_request, push, release] +on: [pull_request, push] jobs: @@ -89,8 +89,8 @@ jobs: needs: [build_bdist, build_sdist] name: "Publish to Test PyPI" runs-on: ubuntu-latest - # upload to Test PyPI for every pull-request and commit on main or release feature branch - if: github.event_name != 'release' && ((github.event.ref == 'refs/heads/main') || startsWith(github.event.ref, 'refs/tags/v')) + # upload to Test PyPI for every commit on main branch + if: github.event_name == 'push' && github.event.ref == 'refs/heads/main' steps: - uses: actions/download-artifact@v2 with: @@ -110,8 +110,8 @@ jobs: needs: [build_bdist, build_sdist] name: "Publish to PyPI" runs-on: ubuntu-latest - # upload to PyPI for every GH release - if: github.event_name == 'release' && github.event.action == 'published' + # upload to PyPI for every tag starting with 'v' + if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') steps: - uses: actions/download-artifact@v2 with: @@ -123,5 +123,6 @@ jobs: user: __token__ password: ${{ secrets.TEST_PYPI_API_TOKEN }} repository_url: https://test.pypi.org/legacy/ + skip_existing: true print_hash: true From 876d25d8336c9c0f21dfc0bed985a44ddf76bde8 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 17:40:48 +0000 Subject: [PATCH 32/47] final fix for ci-wheels pypi publish --- .github/workflows/ci-wheels.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index 2cc84695..d2787f51 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -122,7 +122,5 @@ jobs: with: user: __token__ password: ${{ secrets.TEST_PYPI_API_TOKEN }} - repository_url: https://test.pypi.org/legacy/ - skip_existing: true print_hash: true From 8881b27f5ba9f1b850f6341671c00ca25bf71c3c Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 18:07:25 +0000 Subject: [PATCH 33/47] update pre-commit hooks --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6b294dc8..6fa520b5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,7 +23,7 @@ repos: # Check for debugger imports and py37+ `breakpoint()` calls in Python source. - id: debug-statements # Don't commit to main branch. -# - id: no-commit-to-branch + - id: no-commit-to-branch - repo: https://github.com/psf/black rev: 21.10b0 From 52fe0f1209bcc9a376fcb292bbd0870253a02319 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 18:46:53 +0000 Subject: [PATCH 34/47] drop black py310 (for now) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4b5c26ca..c1e5ac3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,7 @@ local_scheme = "dirty-tag" [tool.black] line-length = 79 -target-version = ["py38", "py39", "py310"] +target-version = ["py38", "py39"] include = '\.pyi?$' exclude = ''' ( From 0bd1f39a4a35477105955be6ef0bd629e18d0781 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 21:38:46 +0000 Subject: [PATCH 35/47] swap-out pypi upload test api token --- .github/workflows/ci-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index d2787f51..b065a94c 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -121,6 +121,6 @@ jobs: - uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ - password: ${{ secrets.TEST_PYPI_API_TOKEN }} + password: ${{ secrets.PYPI_API_TOKEN }} print_hash: true From 99e3a38aae71cd5e61b872fc4256f4d685a43897 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Wed, 16 Feb 2022 22:14:43 +0000 Subject: [PATCH 36/47] rename in pre-commit --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6fa520b5..6e1cedc2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ files: | (?x)( setup\.py| - lib\/geovista\/.+\.py + cf_units\/.+\.py ) minimum_pre_commit_version: 1.21.0 From 34c0bd049a83ef7f13c4b7b811028009c9dfe613 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Fri, 18 Feb 2022 11:59:57 +0000 Subject: [PATCH 37/47] drop unnecessary conda deps --- requirements/cf-units.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements/cf-units.yml b/requirements/cf-units.yml index ddd041e4..78de5c02 100644 --- a/requirements/cf-units.yml +++ b/requirements/cf-units.yml @@ -6,8 +6,6 @@ channels: dependencies: # setup dependencies - setuptools >=45 - - setuptools_scm >=6.2 - - setuptools_scm_git_archive - cython - numpy From e8171aae8ab170fbab12f9496f1e68fabab3c107 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 22 Feb 2022 08:04:05 +0000 Subject: [PATCH 38/47] use miniforge --- .github/workflows/ci-locks.yml | 15 ++++++--------- .github/workflows/ci-tests.yml | 13 +++++-------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci-locks.yml b/.github/workflows/ci-locks.yml index c0683f1a..01ea6167 100644 --- a/.github/workflows/ci-locks.yml +++ b/.github/workflows/ci-locks.yml @@ -22,7 +22,6 @@ jobs: shell: bash -l {0} env: ENV_NAME: "ci-locks" - CONDA_EXE: "mamba" strategy: matrix: lock: [py38-lock, py39-lock, py310-lock] @@ -41,7 +40,7 @@ jobs: uses: actions/cache@v2 env: # Increment the build number to force a cache refresh. - CACHE_BUILD: 0 + CACHE_BUILD: 1 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda-pkgs-${{ env.ENV_NAME }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} @@ -49,9 +48,7 @@ jobs: - name: "Conda install" uses: conda-incubator/setup-miniconda@v2 with: - miniforge-variant: Mambaforge - miniforge-version: 4.11.0-1 - use-mamba: true + miniforge-version: latest channels: conda-forge,defaults activate-environment: ${{ env.ENV_NAME }} auto-update-conda: true @@ -62,7 +59,7 @@ jobs: uses: actions/cache@v2 env: # Increment the build number to force a cache refresh. - CACHE_BUILD: 0 + CACHE_BUILD: 1 with: path: ${{ env.CONDA }}/envs/${{ env.ENV_NAME }} key: ${{ runner.os }}-conda-env-${{ env.ENV_NAME }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} @@ -70,7 +67,7 @@ jobs: - name: "Conda environment update" if: steps.conda-env-cache.outputs.cache-hit != 'true' run: | - mamba install --name ${{ env.ENV_NAME }} tox + conda install --name ${{ env.ENV_NAME }} tox - name: "Conda info" run: | @@ -81,7 +78,7 @@ jobs: uses: actions/cache@v2 env: # Increment the build number to forece a cache refresh. - CACHE_BUILD: 0 + CACHE_BUILD: 1 TOX_INI: ${{ github.workspace }}/tox.ini with: path: ${{ github.workspace }}/.tox @@ -89,7 +86,7 @@ jobs: - name: "Create ${{ matrix.lock }} conda locks" run: | - tox -e ${{ matrix.lock }} -- --mamba --platform osx-64 --platform win-64 + tox -e ${{ matrix.lock }} -- --platform osx-64 --platform win-64 - name: "Upload lock artifacts" uses: actions/upload-artifact@v2 diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index dadc3ae4..b851c570 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -17,7 +17,6 @@ jobs: shell: bash -l {0} env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - CONDA_EXE: "mamba" CYTHON_COVERAGE: 1 ENV_NAME: "ci-tests" strategy: @@ -49,7 +48,7 @@ jobs: uses: actions/cache@v2 env: # Increment the build number to force a cache refresh. - CACHE_BUILD: 0 + CACHE_BUILD: 1 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda-pkgs-${{ env.ENV_NAME }}-${{ matrix.version }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} @@ -57,9 +56,7 @@ jobs: - name: "Conda install" uses: conda-incubator/setup-miniconda@v2 with: - miniforge-variant: Mambaforge - miniforge-version: 4.11.0-1 - use-mamba: true + miniforge-version: latest channels: conda-forge,defaults activate-environment: ${{ env.ENV_NAME }} auto-update-conda: false @@ -70,7 +67,7 @@ jobs: uses: actions/cache@v2 env: # Increment the build number to force a cache refresh. - CACHE_BUILD: 0 + CACHE_BUILD: 1 with: path: ${{ env.CONDA }}/envs/${{ env.ENV_NAME }} key: ${{ runner.os }}-conda-env-${{ env.ENV_NAME }}-${{ matrix.version }}-p${{ env.CACHE_PERIOD }}-b${{ env.CACHE_BUILD }} @@ -78,7 +75,7 @@ jobs: - name: "Conda environment update" if: steps.conda-env-cache.outputs.cache-hit != 'true' run: | - mamba install --name ${{ env.ENV_NAME }} tox + conda install --name ${{ env.ENV_NAME }} tox - name: "Conda info" run: | @@ -89,7 +86,7 @@ jobs: uses: actions/cache@v2 env: # Increment the build number to forece a cache refresh. - CACHE_BUILD: 0 + CACHE_BUILD: 1 TOX_INI: ${{ github.workspace }}/tox.ini with: path: ${{ github.workspace }}/.tox From 9121e72b748f61abacea3f5a1337f05623d5e4d8 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 17 Mar 2022 21:11:47 +0000 Subject: [PATCH 39/47] Update .github/workflows/ci-locks.yml Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com> --- .github/workflows/ci-locks.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci-locks.yml b/.github/workflows/ci-locks.yml index 01ea6167..2ae7cfb6 100644 --- a/.github/workflows/ci-locks.yml +++ b/.github/workflows/ci-locks.yml @@ -121,6 +121,8 @@ jobs: title: "[cf-units.ci] conda lock auto-update" body: | Conda lock files auto-updated to latest resolved environment for `cf-units` dependencies. + + ### If the full suite of PR checks have not run, please close and re-open this pull request to trigger them. labels: | New: Pull Request Bot From e8b28f484ec7561fea281adde7eec8fe30eca45d Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 17 Mar 2022 21:11:56 +0000 Subject: [PATCH 40/47] Update .github/workflows/ci-tests.yml Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com> --- .github/workflows/ci-tests.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index b851c570..9d8616fe 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -5,7 +5,14 @@ name: ci-tests -on: [pull_request, push] +on: + pull_request: + + push: + branches-ignore: + - "conda-lock-auto-update" + - "pre-commit-ci-update-config" + - "dependabot/*" jobs: From cd2bb653a06ce4bc553095a880ba98533205e791 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 17 Mar 2022 21:12:03 +0000 Subject: [PATCH 41/47] Update .github/workflows/ci-wheels.yml Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com> --- .github/workflows/ci-wheels.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-wheels.yml b/.github/workflows/ci-wheels.yml index b065a94c..bfda9f62 100644 --- a/.github/workflows/ci-wheels.yml +++ b/.github/workflows/ci-wheels.yml @@ -9,7 +9,14 @@ name: ci-wheels -on: [pull_request, push] +on: + pull_request: + + push: + branches-ignore: + - "conda-lock-auto-update" + - "pre-commit-ci-update-config" + - "dependabot/*" jobs: From f17c21b80c7be94c7b8c7ef9f74894b5ec6a1754 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 17 Mar 2022 21:27:47 +0000 Subject: [PATCH 42/47] Update pyproject.toml Co-authored-by: Martin Yeo <40734014+trexfeathers@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c1e5ac3f..4b5c26ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,7 @@ local_scheme = "dirty-tag" [tool.black] line-length = 79 -target-version = ["py38", "py39"] +target-version = ["py38", "py39", "py310"] include = '\.pyi?$' exclude = ''' ( From 80984c3ad2be7526a9192242934a8cb7ed6f85e2 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 17 Mar 2022 21:36:01 +0000 Subject: [PATCH 43/47] remove pytest min pin --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 4fc70970..9f1531b0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -54,7 +54,7 @@ test = cython jinja2 pip - pytest>=6.0 + pytest pytest-cov all = pre-commit From 29f1fa95d0f8411c02abc33e5b3448edada4e149 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 17 Mar 2022 22:31:54 +0000 Subject: [PATCH 44/47] review actions --- .pre-commit-config.yaml | 9 +-------- pyproject.toml | 3 ++- tox.ini | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6e1cedc2..7fdec43d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,13 +1,6 @@ # See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks -files: | - (?x)( - setup\.py| - cf_units\/.+\.py - ) -minimum_pre_commit_version: 1.21.0 - repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 @@ -29,7 +22,7 @@ repos: rev: 21.10b0 hooks: - id: black - pass_filenames: false + types: [file, python] args: ["--config=./pyproject.toml", "."] - repo: https://github.com/PyCQA/flake8 diff --git a/pyproject.toml b/pyproject.toml index 4b5c26ca..cd9840a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,8 @@ local_scheme = "dirty-tag" [tool.black] line-length = 79 -target-version = ["py38", "py39", "py310"] +# TBD: add "py310" when supported on pre-commit.ci +target-version = ["py38", "py39"] include = '\.pyi?$' exclude = ''' ( diff --git a/tox.ini b/tox.ini index 1a42025b..68d81c45 100644 --- a/tox.ini +++ b/tox.ini @@ -29,7 +29,7 @@ skip_install = commands = cp {env:YMLFILE} {env:TMPFILE} python -c 'from sys import version_info as v; fh = open("{env:TMPFILE}", "a"); fh.write(f"\n - python =\{v.major\}.\{v.minor\}\n")' - conda-lock --channel conda-forge --file {env:TMPFILE} --platform linux-64 --filename-template "{envname}-\{platform\}.txt" {posargs} + conda-lock --channel conda-forge --kind explicit --file {env:TMPFILE} --platform linux-64 --filename-template "{envname}-\{platform\}.txt" {posargs} [testenv:py{38,39,310}-{linux,osx,win}-test] From a94e83e21ed35e627f2ab5f94526b1fe9e0e98d0 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 22 Mar 2022 09:14:30 +0000 Subject: [PATCH 45/47] tidy pre-commit and add sort-all --- .pre-commit-config.yaml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7fdec43d..18c7d7ff 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,22 +19,28 @@ repos: - id: no-commit-to-branch - repo: https://github.com/psf/black - rev: 21.10b0 + rev: 22.1.0 hooks: - id: black types: [file, python] - args: ["--config=./pyproject.toml", "."] + args: [--config=./pyproject.toml] - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 types: [file, python] - args: ["--config=./setup.cfg"] + args: [--config=./setup.cfg] -- repo: https://github.com/pycqa/isort - rev: 5.9.3 +- repo: https://github.com/PyCQA/isort + rev: 5.10.1 hooks: - id: isort types: [file, python] - args: ["--filter-files"] + args: [--filter-files] + +- repo: https://github.com/aio-libs/sort-all + rev: v1.2.0 + hooks: + - id: sort-all + types: [file, python] From e90df3db5ed1c220c375057c6121b0bbfaa9c407 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Tue, 22 Mar 2022 09:19:13 +0000 Subject: [PATCH 46/47] black reformat --- cf_units/tests/test_unit.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cf_units/tests/test_unit.py b/cf_units/tests/test_unit.py index 8fe95500..82333312 100644 --- a/cf_units/tests/test_unit.py +++ b/cf_units/tests/test_unit.py @@ -453,19 +453,19 @@ def test_divide_unknown_and_no_unit(self): class Test_power(unittest.TestCase): def test_basic(self): u = Unit("m^2") - self.assertEqual(u ** 0.5, Unit("m")) + self.assertEqual(u**0.5, Unit("m")) def test_integer_power(self): u = Unit("amp") - self.assertEqual(u ** 2, Unit("A^2")) + self.assertEqual(u**2, Unit("A^2")) def test_float_power(self): u = Unit("amp") - self.assertEqual(u ** 3.0, Unit("A^3")) + self.assertEqual(u**3.0, Unit("A^3")) def test_dimensionless(self): u = Unit("1") - self.assertEqual(u ** 2, u) + self.assertEqual(u**2, u) def test_power(self): u = Unit("amp") @@ -498,10 +498,10 @@ def setUp(self): self.u = Unit("unknown") def test_integer_power(self): - self.assertEqual(self.u ** 2, Unit("unknown")) + self.assertEqual(self.u**2, Unit("unknown")) def test_float_power(self): - self.assertEqual(self.u ** 3.0, Unit("unknown")) + self.assertEqual(self.u**3.0, Unit("unknown")) def test_not_numeric(self): emsg = "numeric value is required" @@ -509,7 +509,7 @@ def test_not_numeric(self): operator.pow(self.u, "not_a_number") def test_bad_power(self): - self.assertEqual(self.u ** 0.4, self.u) + self.assertEqual(self.u**0.4, self.u) def test_unit_power(self): v = Unit("m") From 8cee80cfb9bd38e7f38c4f076de8ace841f92331 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 09:19:47 +0000 Subject: [PATCH 47/47] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- cf_units/__init__.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cf_units/__init__.py b/cf_units/__init__.py index f8dfa089..f6e72d61 100644 --- a/cf_units/__init__.py +++ b/cf_units/__init__.py @@ -35,30 +35,30 @@ from .util import _OrderedHashable, approx_equal __all__ = [ - "CALENDAR_STANDARD", - "CALENDAR_GREGORIAN", - "CALENDAR_PROLEPTIC_GREGORIAN", - "CALENDAR_NO_LEAP", - "CALENDAR_JULIAN", - "CALENDAR_ALL_LEAP", + "CALENDARS", + "CALENDAR_360_DAY", "CALENDAR_365_DAY", "CALENDAR_366_DAY", - "CALENDAR_360_DAY", - "CALENDARS", "CALENDAR_ALIASES", - "UT_NAMES", - "UT_DEFINITION", - "UT_ASCII", + "CALENDAR_ALL_LEAP", + "CALENDAR_GREGORIAN", + "CALENDAR_JULIAN", + "CALENDAR_NO_LEAP", + "CALENDAR_PROLEPTIC_GREGORIAN", + "CALENDAR_STANDARD", "FLOAT32", "FLOAT64", - "is_time", - "is_vertical", + "UT_ASCII", + "UT_DEFINITION", + "UT_NAMES", "Unit", "date2num", "decode_time", "encode_clock", "encode_date", "encode_time", + "is_time", + "is_vertical", "num2date", "num2pydate", "suppress_errors",