├── .github └── CODEOWNERS ├── .ci_support ├── linux_64_.yaml └── README ├── conda-forge.yml ├── .circleci └── config.yml ├── .gitattributes ├── .gitignore ├── .scripts ├── logging_utils.sh ├── build_steps.sh └── run_docker_build.sh ├── azure-pipelines.yml ├── recipe └── meta.yaml ├── LICENSE.txt ├── .azure-pipelines └── azure-pipelines-linux.yml └── README.md /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @aaronspring @andersy005 @martindurant -------------------------------------------------------------------------------- /.ci_support/linux_64_.yaml: -------------------------------------------------------------------------------- 1 | cdt_name: 2 | - conda 3 | channel_sources: 4 | - conda-forge 5 | channel_targets: 6 | - conda-forge main 7 | docker_image: 8 | - quay.io/condaforge/linux-anvil-x86_64:alma9 9 | -------------------------------------------------------------------------------- /conda-forge.yml: -------------------------------------------------------------------------------- 1 | conda_forge_output_validation: true 2 | github: 3 | branch_name: main 4 | tooling_branch_name: main 5 | bot: 6 | inspection: update-grayskull 7 | conda_build: 8 | pkg_format: '2' 9 | -------------------------------------------------------------------------------- /.ci_support/README: -------------------------------------------------------------------------------- 1 | This file is automatically generated by conda-smithy. If any 2 | particular build configuration is expected, but it is not found, 3 | please make sure all dependencies are satisfiable. To add/modify any 4 | matrix elements, you should create/change conda-smithy's input 5 | recipe/conda_build_config.yaml and re-render the recipe, rather than 6 | editing these files directly. 7 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: jinja-yaml -*- 4 | 5 | version: 2 6 | 7 | jobs: 8 | build: 9 | working_directory: ~/test 10 | machine: 11 | image: ubuntu-2004:current 12 | steps: 13 | - run: 14 | # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. 15 | command: exit 0 16 | 17 | workflows: 18 | version: 2 19 | build_and_test: 20 | jobs: 21 | - build: 22 | filters: 23 | branches: 24 | ignore: 25 | - /.*/ 26 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.patch binary 4 | *.diff binary 5 | meta.yaml text eol=lf 6 | build.sh text eol=lf 7 | bld.bat text eol=crlf 8 | 9 | # github helper pieces to make some files not show up in diffs automatically 10 | .azure-pipelines/* linguist-generated=true 11 | .circleci/* linguist-generated=true 12 | .ci_support/README linguist-generated=true 13 | .drone/* linguist-generated=true 14 | .drone.yml linguist-generated=true 15 | .github/* linguist-generated=true 16 | .travis/* linguist-generated=true 17 | .appveyor.yml linguist-generated=true 18 | .gitattributes linguist-generated=true 19 | .gitignore linguist-generated=true 20 | .travis.yml linguist-generated=true 21 | .scripts/* linguist-generated=true 22 | .woodpecker.yml linguist-generated=true 23 | /LICENSE.txt linguist-generated=true 24 | /README.md linguist-generated=true 25 | azure-pipelines.yml linguist-generated=true 26 | build-locally.py linguist-generated=true 27 | shippable.yml linguist-generated=true 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # User content belongs under recipe/. 2 | # Feedstock configuration goes in `conda-forge.yml` 3 | # Everything else is managed by the conda-smithy rerender process. 4 | # Please do not modify 5 | 6 | # Ignore all files and folders in root 7 | * 8 | !/conda-forge.yml 9 | 10 | # Don't ignore any files/folders if the parent folder is 'un-ignored' 11 | # This also avoids warnings when adding an already-checked file with an ignored parent. 12 | !/**/ 13 | # Don't ignore any files/folders recursively in the following folders 14 | !/recipe/** 15 | !/.ci_support/** 16 | 17 | # Since we ignore files/folders recursively, any folders inside 18 | # build_artifacts gets ignored which trips some build systems. 19 | # To avoid that we 'un-ignore' all files/folders recursively 20 | # and only ignore the root build_artifacts folder. 21 | !/build_artifacts/** 22 | /build_artifacts 23 | 24 | *.pyc 25 | 26 | # Rattler-build's artifacts are in `output` when not specifying anything. 27 | /output 28 | -------------------------------------------------------------------------------- /.scripts/logging_utils.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Provide a unified interface for the different logging 4 | # utilities CI providers offer. If unavailable, provide 5 | # a compatible fallback (e.g. bare `echo xxxxxx`). 6 | 7 | function startgroup { 8 | # Start a foldable group of log lines 9 | # Pass a single argument, quoted 10 | case ${CI:-} in 11 | azure ) 12 | echo "##[group]$1";; 13 | travis ) 14 | echo "$1" 15 | echo -en 'travis_fold:start:'"${1// /}"'\r';; 16 | github_actions ) 17 | echo "::group::$1";; 18 | * ) 19 | echo "$1";; 20 | esac 21 | } 2> /dev/null 22 | 23 | function endgroup { 24 | # End a foldable group of log lines 25 | # Pass a single argument, quoted 26 | 27 | case ${CI:-} in 28 | azure ) 29 | echo "##[endgroup]";; 30 | travis ) 31 | echo -en 'travis_fold:end:'"${1// /}"'\r';; 32 | github_actions ) 33 | echo "::endgroup::";; 34 | esac 35 | } 2> /dev/null 36 | -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: yaml -*- 4 | 5 | stages: 6 | - stage: Check 7 | jobs: 8 | - job: Skip 9 | pool: 10 | vmImage: 'ubuntu-22.04' 11 | variables: 12 | DECODE_PERCENTS: 'false' 13 | RET: 'true' 14 | steps: 15 | - checkout: self 16 | fetchDepth: '2' 17 | - bash: | 18 | git_log=`git log --max-count=1 --skip=1 --pretty=format:"%B" | tr "\n" " "` 19 | echo "##vso[task.setvariable variable=log]$git_log" 20 | displayName: Obtain commit message 21 | - bash: echo "##vso[task.setvariable variable=RET]false" 22 | condition: and(eq(variables['Build.Reason'], 'PullRequest'), or(contains(variables.log, '[skip azp]'), contains(variables.log, '[azp skip]'), contains(variables.log, '[skip ci]'), contains(variables.log, '[ci skip]'))) 23 | displayName: Skip build? 24 | - bash: echo "##vso[task.setvariable variable=start_main;isOutput=true]$RET" 25 | name: result 26 | displayName: Export result 27 | - stage: Build 28 | condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) 29 | dependsOn: Check 30 | jobs: 31 | - template: ./.azure-pipelines/azure-pipelines-linux.yml -------------------------------------------------------------------------------- /recipe/meta.yaml: -------------------------------------------------------------------------------- 1 | {% set name = "intake-thredds" %} 2 | {% set version = "2025.2.18" %} 3 | 4 | 5 | package: 6 | name: {{ name|lower }} 7 | version: {{ version }} 8 | 9 | source: 10 | url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/{{ name | replace('-', '_') }}-{{ version }}.tar.gz 11 | sha256: 37bc5a9ac78c9168b3afd63d9beec8021b1dd60bcd3e951de51b17b6dedcba6a 12 | 13 | build: 14 | number: 0 15 | noarch: python 16 | script: {{ PYTHON }} -m pip install . -vv 17 | 18 | requirements: 19 | host: 20 | - pip 21 | - python >=3.10 22 | - setuptools >=45 23 | - setuptools_scm 24 | run: 25 | - aiohttp >=3.7 26 | - fsspec >=0.8.5 27 | - h5netcdf >=0.8.1 28 | - intake >2 29 | - intake-xarray 30 | - pydap 31 | - python >=3.10 32 | - siphon 33 | - tqdm 34 | - setuptools >=45 # should be removed since it is deprecated: https://setuptools.pypa.io/en/latest/pkg_resources.html 35 | 36 | test: 37 | imports: 38 | - intake_thredds 39 | # commands: 40 | # - pip check 41 | requires: 42 | - pip 43 | 44 | about: 45 | home: https://github.com/intake/intake-thredds 46 | summary: Intake interface to THREDDS data catalogs 47 | description: | 48 | Intake interface to THREDDS data catalogs 49 | doc_url: https://intake-thredds.readthedocs.io/en/latest/ 50 | dev_url: https://github.com/intake/intake-thredds 51 | license: Apache-2.0 52 | license_file: LICENSE 53 | 54 | extra: 55 | recipe-maintainers: 56 | - martindurant 57 | - andersy005 58 | - aaronspring 59 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | BSD-3-Clause license 2 | Copyright (c) 2015-2022, conda-forge contributors 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, 9 | this list of conditions and the following disclaimer. 10 | 2. Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 3. Neither the name of the copyright holder nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR 21 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 27 | DAMAGE. 28 | -------------------------------------------------------------------------------- /.azure-pipelines/azure-pipelines-linux.yml: -------------------------------------------------------------------------------- 1 | # This file was generated automatically from conda-smithy. To update this configuration, 2 | # update the conda-forge.yml and/or the recipe/meta.yaml. 3 | # -*- mode: yaml -*- 4 | 5 | jobs: 6 | - job: linux 7 | pool: 8 | vmImage: ubuntu-latest 9 | strategy: 10 | matrix: 11 | linux_64_: 12 | CONFIG: linux_64_ 13 | UPLOAD_PACKAGES: 'True' 14 | DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 15 | timeoutInMinutes: 360 16 | variables: {} 17 | 18 | steps: 19 | # configure qemu binfmt-misc running. This allows us to run docker containers 20 | # embedded qemu-static 21 | - script: | 22 | docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes 23 | ls /proc/sys/fs/binfmt_misc/ 24 | condition: not(startsWith(variables['CONFIG'], 'linux_64')) 25 | displayName: Configure binfmt_misc 26 | 27 | - script: | 28 | export CI=azure 29 | export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) 30 | export remote_url=$(Build.Repository.Uri) 31 | export sha=$(Build.SourceVersion) 32 | export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME 33 | export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) 34 | if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then 35 | export IS_PR_BUILD="True" 36 | else 37 | export IS_PR_BUILD="False" 38 | fi 39 | .scripts/run_docker_build.sh 40 | displayName: Run docker build 41 | env: 42 | BINSTAR_TOKEN: $(BINSTAR_TOKEN) 43 | FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) 44 | STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) -------------------------------------------------------------------------------- /.scripts/build_steps.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here 4 | # will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent 5 | # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also 6 | # benefit from the improvement. 7 | 8 | # -*- mode: jinja-shell -*- 9 | 10 | set -xeuo pipefail 11 | export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" 12 | source ${FEEDSTOCK_ROOT}/.scripts/logging_utils.sh 13 | 14 | 15 | ( endgroup "Start Docker" ) 2> /dev/null 16 | 17 | ( startgroup "Configuring conda" ) 2> /dev/null 18 | 19 | export PYTHONUNBUFFERED=1 20 | export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" 21 | export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" 22 | export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" 23 | 24 | cat >~/.condarc < /opt/conda/conda-meta/history 36 | micromamba install --root-prefix ~/.conda --prefix /opt/conda \ 37 | --yes --override-channels --channel conda-forge --strict-channel-priority \ 38 | pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" 39 | export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 40 | 41 | # set up the condarc 42 | setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" 43 | 44 | source run_conda_forge_build_setup 45 | 46 | 47 | 48 | # make the build number clobber 49 | make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" 50 | 51 | 52 | 53 | ( endgroup "Configuring conda" ) 2> /dev/null 54 | 55 | if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then 56 | cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" 57 | fi 58 | 59 | if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then 60 | if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then 61 | EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" 62 | fi 63 | conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ 64 | ${EXTRA_CB_OPTIONS:-} \ 65 | --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" 66 | 67 | # Drop into an interactive shell 68 | /bin/bash 69 | else 70 | conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ 71 | --suppress-variables ${EXTRA_CB_OPTIONS:-} \ 72 | --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ 73 | --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" 74 | ( startgroup "Inspecting artifacts" ) 2> /dev/null 75 | 76 | # inspect_artifacts was only added in conda-forge-ci-setup 4.9.4 77 | command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts --recipe-dir "${RECIPE_ROOT}" -m "${CONFIG_FILE}" || echo "inspect_artifacts needs conda-forge-ci-setup >=4.9.4" 78 | 79 | ( endgroup "Inspecting artifacts" ) 2> /dev/null 80 | ( startgroup "Validating outputs" ) 2> /dev/null 81 | 82 | validate_recipe_outputs "${FEEDSTOCK_NAME}" 83 | 84 | ( endgroup "Validating outputs" ) 2> /dev/null 85 | 86 | ( startgroup "Uploading packages" ) 2> /dev/null 87 | 88 | if [[ "${UPLOAD_PACKAGES}" != "False" ]] && [[ "${IS_PR_BUILD}" == "False" ]]; then 89 | upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" 90 | fi 91 | 92 | ( endgroup "Uploading packages" ) 2> /dev/null 93 | fi 94 | 95 | ( startgroup "Final checks" ) 2> /dev/null 96 | 97 | touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" -------------------------------------------------------------------------------- /.scripts/run_docker_build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # PLEASE NOTE: This script has been automatically generated by conda-smithy. Any changes here 4 | # will be lost next time ``conda smithy rerender`` is run. If you would like to make permanent 5 | # changes to this script, consider a proposal to conda-smithy so that other feedstocks can also 6 | # benefit from the improvement. 7 | 8 | source .scripts/logging_utils.sh 9 | 10 | ( startgroup "Configure Docker" ) 2> /dev/null 11 | 12 | set -xeo pipefail 13 | 14 | THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" 15 | PROVIDER_DIR="$(basename $THISDIR)" 16 | 17 | FEEDSTOCK_ROOT="$( cd "$( dirname "$0" )/.." >/dev/null && pwd )" 18 | RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" 19 | 20 | if [ -z ${FEEDSTOCK_NAME} ]; then 21 | export FEEDSTOCK_NAME=$(basename ${FEEDSTOCK_ROOT}) 22 | fi 23 | 24 | if [[ "${sha:-}" == "" ]]; then 25 | pushd "${FEEDSTOCK_ROOT}" 26 | sha=$(git rev-parse HEAD) 27 | popd 28 | fi 29 | 30 | docker info 31 | 32 | # In order for the conda-build process in the container to write to the mounted 33 | # volumes, we need to run with the same id as the host machine, which is 34 | # normally the owner of the mounted volumes, or at least has write permission 35 | export HOST_USER_ID=$(id -u) 36 | # Check if docker-machine is being used (normally on OSX) and get the uid from 37 | # the VM 38 | if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then 39 | export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) 40 | fi 41 | 42 | ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" 43 | 44 | if [ -z "$CONFIG" ]; then 45 | set +x 46 | FILES=`ls .ci_support/linux_*` 47 | CONFIGS="" 48 | for file in $FILES; do 49 | CONFIGS="${CONFIGS}'${file:12:-5}' or "; 50 | done 51 | echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" 52 | exit 1 53 | fi 54 | 55 | if [ -z "${DOCKER_IMAGE}" ]; then 56 | SHYAML_INSTALLED="$(shyaml -h || echo NO)" 57 | if [ "${SHYAML_INSTALLED}" == "NO" ]; then 58 | echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Trying to parse with coreutils" 59 | DOCKER_IMAGE=$(cat .ci_support/${CONFIG}.yaml | grep '^docker_image:$' -A 1 | tail -n 1 | cut -b 3-) 60 | if [ "${DOCKER_IMAGE}" = "" ]; then 61 | echo "No docker_image entry found in ${CONFIG}. Falling back to quay.io/condaforge/linux-anvil-comp7" 62 | DOCKER_IMAGE="quay.io/condaforge/linux-anvil-comp7" 63 | fi 64 | else 65 | DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 quay.io/condaforge/linux-anvil-comp7 )" 66 | fi 67 | fi 68 | 69 | mkdir -p "$ARTIFACTS" 70 | DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" 71 | rm -f "$DONE_CANARY" 72 | 73 | # Allow people to specify extra default arguments to `docker run` (e.g. `--rm`) 74 | DOCKER_RUN_ARGS="${CONDA_FORGE_DOCKER_RUN_ARGS}" 75 | if [ -z "${CI}" ]; then 76 | DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" 77 | fi 78 | 79 | ( endgroup "Configure Docker" ) 2> /dev/null 80 | 81 | ( startgroup "Start Docker" ) 2> /dev/null 82 | 83 | export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" 84 | export IS_PR_BUILD="${IS_PR_BUILD:-False}" 85 | docker pull "${DOCKER_IMAGE}" 86 | docker run ${DOCKER_RUN_ARGS} \ 87 | -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ 88 | -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ 89 | -e CONFIG \ 90 | -e HOST_USER_ID \ 91 | -e UPLOAD_PACKAGES \ 92 | -e IS_PR_BUILD \ 93 | -e GIT_BRANCH \ 94 | -e UPLOAD_ON_BRANCH \ 95 | -e CI \ 96 | -e FEEDSTOCK_NAME \ 97 | -e CPU_COUNT \ 98 | -e BUILD_WITH_CONDA_DEBUG \ 99 | -e BUILD_OUTPUT_ID \ 100 | -e flow_run_id \ 101 | -e remote_url \ 102 | -e sha \ 103 | -e BINSTAR_TOKEN \ 104 | -e FEEDSTOCK_TOKEN \ 105 | -e STAGING_BINSTAR_TOKEN \ 106 | "${DOCKER_IMAGE}" \ 107 | bash \ 108 | "/home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh" 109 | 110 | # verify that the end of the script was reached 111 | test -f "$DONE_CANARY" 112 | 113 | # This closes the last group opened in `build_steps.sh` 114 | ( endgroup "Final checks" ) 2> /dev/null -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | About intake-thredds-feedstock 2 | ============================== 3 | 4 | Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/intake-thredds-feedstock/blob/main/LICENSE.txt) 5 | 6 | Home: https://github.com/intake/intake-thredds 7 | 8 | Package license: Apache-2.0 9 | 10 | Summary: Intake interface to THREDDS data catalogs 11 | 12 | Development: https://github.com/intake/intake-thredds 13 | 14 | Documentation: https://intake-thredds.readthedocs.io/en/latest/ 15 | 16 | Intake interface to THREDDS data catalogs 17 | 18 | 19 | Current build status 20 | ==================== 21 | 22 | 23 | 24 | 29 | 30 |
All platforms: 25 | 26 | 27 | 28 |
31 | 32 | Current release info 33 | ==================== 34 | 35 | | Name | Downloads | Version | Platforms | 36 | | --- | --- | --- | --- | 37 | | [![Conda Recipe](https://img.shields.io/badge/recipe-intake--thredds-green.svg)](https://anaconda.org/conda-forge/intake-thredds) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/intake-thredds.svg)](https://anaconda.org/conda-forge/intake-thredds) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/intake-thredds.svg)](https://anaconda.org/conda-forge/intake-thredds) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/intake-thredds.svg)](https://anaconda.org/conda-forge/intake-thredds) | 38 | 39 | Installing intake-thredds 40 | ========================= 41 | 42 | Installing `intake-thredds` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: 43 | 44 | ``` 45 | conda config --add channels conda-forge 46 | conda config --set channel_priority strict 47 | ``` 48 | 49 | Once the `conda-forge` channel has been enabled, `intake-thredds` can be installed with `conda`: 50 | 51 | ``` 52 | conda install intake-thredds 53 | ``` 54 | 55 | or with `mamba`: 56 | 57 | ``` 58 | mamba install intake-thredds 59 | ``` 60 | 61 | It is possible to list all of the versions of `intake-thredds` available on your platform with `conda`: 62 | 63 | ``` 64 | conda search intake-thredds --channel conda-forge 65 | ``` 66 | 67 | or with `mamba`: 68 | 69 | ``` 70 | mamba search intake-thredds --channel conda-forge 71 | ``` 72 | 73 | Alternatively, `mamba repoquery` may provide more information: 74 | 75 | ``` 76 | # Search all versions available on your platform: 77 | mamba repoquery search intake-thredds --channel conda-forge 78 | 79 | # List packages depending on `intake-thredds`: 80 | mamba repoquery whoneeds intake-thredds --channel conda-forge 81 | 82 | # List dependencies of `intake-thredds`: 83 | mamba repoquery depends intake-thredds --channel conda-forge 84 | ``` 85 | 86 | 87 | About conda-forge 88 | ================= 89 | 90 | [![Powered by 91 | NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https://numfocus.org) 92 | 93 | conda-forge is a community-led conda channel of installable packages. 94 | In order to provide high-quality builds, the process has been automated into the 95 | conda-forge GitHub organization. The conda-forge organization contains one repository 96 | for each of the installable packages. Such a repository is known as a *feedstock*. 97 | 98 | A feedstock is made up of a conda recipe (the instructions on what and how to build 99 | the package) and the necessary configurations for automatic building using freely 100 | available continuous integration services. Thanks to the awesome service provided by 101 | [Azure](https://azure.microsoft.com/en-us/services/devops/), [GitHub](https://github.com/), 102 | [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/), 103 | [Drone](https://cloud.drone.io/welcome), and [TravisCI](https://travis-ci.com/) 104 | it is possible to build and upload installable packages to the 105 | [conda-forge](https://anaconda.org/conda-forge) [anaconda.org](https://anaconda.org/) 106 | channel for Linux, Windows and OSX respectively. 107 | 108 | To manage the continuous integration and simplify feedstock maintenance 109 | [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. 110 | Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of 111 | this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``. 112 | 113 | For more information please check the [conda-forge documentation](https://conda-forge.org/docs/). 114 | 115 | Terminology 116 | =========== 117 | 118 | **feedstock** - the conda recipe (raw material), supporting scripts and CI configuration. 119 | 120 | **conda-smithy** - the tool which helps orchestrate the feedstock. 121 | Its primary use is in the construction of the CI ``.yml`` files 122 | and simplify the management of *many* feedstocks. 123 | 124 | **conda-forge** - the place where the feedstock and smithy live and work to 125 | produce the finished article (built conda distributions) 126 | 127 | 128 | Updating intake-thredds-feedstock 129 | ================================= 130 | 131 | If you would like to improve the intake-thredds recipe or build a new 132 | package version, please fork this repository and submit a PR. Upon submission, 133 | your changes will be run on the appropriate platforms to give the reviewer an 134 | opportunity to confirm that the changes result in a successful build. Once 135 | merged, the recipe will be re-built and uploaded automatically to the 136 | `conda-forge` channel, whereupon the built conda packages will be available for 137 | everybody to install and use from the `conda-forge` channel. 138 | Note that all branches in the conda-forge/intake-thredds-feedstock are 139 | immediately built and any created packages are uploaded, so PRs should be based 140 | on branches in forks and branches in the main repository should only be used to 141 | build distinct package versions. 142 | 143 | In order to produce a uniquely identifiable distribution: 144 | * If the version of a package **is not** being increased, please add or increase 145 | the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string). 146 | * If the version of a package **is** being increased, please remember to return 147 | the [``build/number``](https://docs.conda.io/projects/conda-build/en/latest/resources/define-metadata.html#build-number-and-string) 148 | back to 0. 149 | 150 | Feedstock Maintainers 151 | ===================== 152 | 153 | * [@aaronspring](https://github.com/aaronspring/) 154 | * [@andersy005](https://github.com/andersy005/) 155 | * [@martindurant](https://github.com/martindurant/) 156 | 157 | --------------------------------------------------------------------------------