├── .github ├── CODEOWNERS └── workflows │ ├── webservices.yml │ └── automerge.yml ├── .gitignore ├── .ci_support ├── linux_.yaml └── README ├── azure-pipelines.yml ├── .circleci └── config.yml ├── conda-forge.yml ├── .gitattributes ├── .azure-pipelines └── azure-pipelines-linux.yml ├── recipe └── meta.yaml ├── .scripts ├── build_steps.sh └── run_docker_build.sh ├── LICENSE.txt └── README.md /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @mwcraig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | 3 | build_artifacts 4 | -------------------------------------------------------------------------------- /.ci_support/linux_.yaml: -------------------------------------------------------------------------------- 1 | channel_sources: 2 | - conda-forge,defaults 3 | channel_targets: 4 | - conda-forge main 5 | docker_image: 6 | - condaforge/linux-anvil-comp7 7 | -------------------------------------------------------------------------------- /.ci_support/README: -------------------------------------------------------------------------------- 1 | This file is automatically generated by conda-smithy. To change any matrix elements, you should change conda-smithy's input conda_build_config.yaml and re-render the recipe, rather than editing these files directly. -------------------------------------------------------------------------------- /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 | jobs: 6 | - template: ./.azure-pipelines/azure-pipelines-linux.yml -------------------------------------------------------------------------------- /.github/workflows/webservices.yml: -------------------------------------------------------------------------------- 1 | on: repository_dispatch 2 | 3 | jobs: 4 | webservices: 5 | runs-on: ubuntu-latest 6 | name: webservices 7 | steps: 8 | - name: webservices 9 | id: webservices 10 | uses: conda-forge/webservices-dispatch-action@master 11 | with: 12 | github_token: ${{ secrets.GITHUB_TOKEN }} 13 | -------------------------------------------------------------------------------- /.github/workflows/automerge.yml: -------------------------------------------------------------------------------- 1 | on: 2 | status: {} 3 | check_suite: 4 | types: 5 | - completed 6 | 7 | jobs: 8 | automerge-action: 9 | runs-on: ubuntu-latest 10 | name: automerge 11 | steps: 12 | - name: checkout 13 | uses: actions/checkout@v2 14 | - name: automerge-action 15 | id: automerge-action 16 | uses: conda-forge/automerge-action@master 17 | with: 18 | github_token: ${{ secrets.GITHUB_TOKEN }} 19 | -------------------------------------------------------------------------------- /.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: yaml -*- 4 | 5 | version: 2 6 | 7 | jobs: 8 | build: 9 | working_directory: ~/test 10 | machine: true 11 | steps: 12 | - run: 13 | # The Circle-CI build should not be active, but if this is not true for some reason, do a fast finish. 14 | command: exit 0 15 | 16 | workflows: 17 | version: 2 18 | build_and_test: 19 | jobs: 20 | - build: 21 | filters: 22 | branches: 23 | ignore: 24 | - /.*/ 25 | -------------------------------------------------------------------------------- /conda-forge.yml: -------------------------------------------------------------------------------- 1 | travis: 2 | secure: 3 | BINSTAR_TOKEN: BmkbZk/e09ZQw6TA+84qBD1FT/vzkA49DLZeiL2tSJ/RPPkbuLoY67ls4tXr8QKZ5Gt4Nn9DQkSannEBvSD4Gk7l/zbD+9kJI2C/cC1sjhVIRWmWIkU8Hhr+RQA3XHG1c32gXwkV2Jb3vBNIDKkWsQA9+dkq4Phz6bjP7pMeXsmBYL2JAcAlJYD9tNrGDWNjzCXzqp3JbUe5Ju0stYjcvOOHgO0WoaCq30d4e5ddfFo5Gf+5UxPVM5vje+T/2HTFDQOEFkjG3ZotROD6sStmolvd+wICMgAblsdoAYu/1n+jA558gcIrU8VqP0Atk9Uz+voImv9GuzjE/l3j+FhLqksz3mr0r0tRlG5ulA/xcF6LlU7sUSMfqjD3nUaNUIMdZsVTHRotNhA8Dlk4LVrsKYKYUuXF++tamcmYfKc7pRQrS1frhHURfY6uC7tdZWgWC0oVeWXbFHW0PrzBbEX/qpEtlzUdP96Tj/sFux5Ewg1buBJj0B8v9edHuRJGlNXrVwbplLNqP2UXxwuxubKRwpAdDkXRSZmfhKAwDz106dOdzCtrcOvWJ23KrRLhqMiXUkC4pu2RM7CN2MtKhx4vUWk2n/oqLbKhyzXUgWRpPxtqmNQfROVzMGvAF8w14QqPdKD8X2rcgvKlm96M+GSBYyshHaBm4T/KZ6nMJdAP9B4= 4 | conda_forge_output_validation: true 5 | -------------------------------------------------------------------------------- /.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 | .drone/* linguist-generated=true 13 | .drone.yml linguist-generated=true 14 | .github/* linguist-generated=true 15 | .travis/* linguist-generated=true 16 | .appveyor.yml linguist-generated=true 17 | .gitattributes linguist-generated=true 18 | .gitignore linguist-generated=true 19 | .travis.yml linguist-generated=true 20 | LICENSE.txt linguist-generated=true 21 | README.md linguist-generated=true 22 | azure-pipelines.yml linguist-generated=true 23 | build-locally.py linguist-generated=true 24 | shippable.yml linguist-generated=true 25 | -------------------------------------------------------------------------------- /.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-16.04 9 | timeoutInMinutes: 360 10 | strategy: 11 | maxParallel: 8 12 | matrix: 13 | linux_: 14 | CONFIG: linux_ 15 | UPLOAD_PACKAGES: True 16 | DOCKER_IMAGE: condaforge/linux-anvil-comp7 17 | steps: 18 | # configure qemu binfmt-misc running. This allows us to run docker containers 19 | # embedded qemu-static 20 | - script: | 21 | docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes 22 | ls /proc/sys/fs/binfmt_misc/ 23 | condition: not(startsWith(variables['CONFIG'], 'linux_64')) 24 | displayName: Configure binfmt_misc 25 | 26 | - script: | 27 | export CI=azure 28 | export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME 29 | .scripts/run_docker_build.sh 30 | displayName: Run docker build 31 | env: 32 | BINSTAR_TOKEN: $(BINSTAR_TOKEN) -------------------------------------------------------------------------------- /recipe/meta.yaml: -------------------------------------------------------------------------------- 1 | {% set name = "astrowidgets" %} 2 | {% set version = "0.1.1" %} 3 | 4 | package: 5 | name: "{{ name|lower }}" 6 | version: "{{ version }}" 7 | 8 | source: 9 | url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz" 10 | sha256: ddaac075a74a6cf28c4f4c3c0addf09fa5686d5620760bfbbf4f2838cf188c12 11 | 12 | build: 13 | noarch: python 14 | number: 0 15 | script: "{{ PYTHON }} -m pip install . -vv" 16 | 17 | requirements: 18 | host: 19 | - pip 20 | - python >=3.6 21 | run: 22 | - aggdraw 23 | - astropy 24 | - ginga 25 | - ipyevents >=0.6.3 26 | - ipywidgets >=7.5 27 | - jupyterlab >=1 28 | - pillow 29 | - python >=3.6 30 | 31 | test: 32 | imports: 33 | - astrowidgets 34 | 35 | about: 36 | home: "https://astrowidgets.readthedocs.io" 37 | license: "BSD 3-Clause" 38 | license_family: "BSD" 39 | license_file: "LICENSE.rst" 40 | summary: "Astronomy widgets for the Jupyter notebook and JupyterLab" 41 | description: | 42 | astrowidgets provides an image viewer Jupyter widget for the Jupyter 43 | notebook and JupyterLab. 44 | doc_url: "https://astrowidgets.readthedocs.io" 45 | dev_url: "https://github.com/astropy/astrowidgets" 46 | 47 | extra: 48 | recipe-maintainers: 49 | - mwcraig 50 | -------------------------------------------------------------------------------- /.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 | set -xeuo pipefail 9 | export PYTHONUNBUFFERED=1 10 | export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}" 11 | export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" 12 | export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" 13 | export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" 14 | 15 | cat >~/.condarc </dev/null && pwd )" 11 | PROVIDER_DIR="$(basename $THISDIR)" 12 | 13 | FEEDSTOCK_ROOT=$(cd "$(dirname "$0")/.."; pwd;) 14 | RECIPE_ROOT="${FEEDSTOCK_ROOT}/recipe" 15 | 16 | docker info 17 | 18 | # In order for the conda-build process in the container to write to the mounted 19 | # volumes, we need to run with the same id as the host machine, which is 20 | # normally the owner of the mounted volumes, or at least has write permission 21 | export HOST_USER_ID=$(id -u) 22 | # Check if docker-machine is being used (normally on OSX) and get the uid from 23 | # the VM 24 | if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then 25 | export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) 26 | fi 27 | 28 | ARTIFACTS="$FEEDSTOCK_ROOT/build_artifacts" 29 | 30 | if [ -z "$CONFIG" ]; then 31 | set +x 32 | FILES=`ls .ci_support/linux_*` 33 | CONFIGS="" 34 | for file in $FILES; do 35 | CONFIGS="${CONFIGS}'${file:12:-5}' or "; 36 | done 37 | echo "Need to set CONFIG env variable. Value can be one of ${CONFIGS:0:-4}" 38 | exit 1 39 | fi 40 | 41 | if [ -z "${DOCKER_IMAGE}" ]; then 42 | SHYAML_INSTALLED="$(shyaml -h || echo NO)" 43 | if [ "${SHYAML_INSTALLED}" == "NO" ]; then 44 | echo "WARNING: DOCKER_IMAGE variable not set and shyaml not installed. Falling back to condaforge/linux-anvil-comp7" 45 | DOCKER_IMAGE="condaforge/linux-anvil-comp7" 46 | else 47 | DOCKER_IMAGE="$(cat "${FEEDSTOCK_ROOT}/.ci_support/${CONFIG}.yaml" | shyaml get-value docker_image.0 condaforge/linux-anvil-comp7 )" 48 | fi 49 | fi 50 | 51 | mkdir -p "$ARTIFACTS" 52 | DONE_CANARY="$ARTIFACTS/conda-forge-build-done-${CONFIG}" 53 | rm -f "$DONE_CANARY" 54 | 55 | if [ -z "${CI}" ]; then 56 | DOCKER_RUN_ARGS="-it " 57 | fi 58 | 59 | export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" 60 | docker run ${DOCKER_RUN_ARGS} \ 61 | -v "${RECIPE_ROOT}":/home/conda/recipe_root:ro,z \ 62 | -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z \ 63 | -e CONFIG \ 64 | -e BINSTAR_TOKEN \ 65 | -e HOST_USER_ID \ 66 | -e UPLOAD_PACKAGES \ 67 | -e GIT_BRANCH \ 68 | -e UPLOAD_ON_BRANCH \ 69 | -e CI \ 70 | $DOCKER_IMAGE \ 71 | bash \ 72 | /home/conda/feedstock_root/${PROVIDER_DIR}/build_steps.sh 73 | 74 | # verify that the end of the script was reached 75 | test -f "$DONE_CANARY" -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | About astrowidgets 2 | ================== 3 | 4 | Home: https://astrowidgets.readthedocs.io 5 | 6 | Package license: BSD 3-Clause 7 | 8 | Feedstock license: BSD 3-Clause 9 | 10 | Summary: Astronomy widgets for the Jupyter notebook and JupyterLab 11 | 12 | astrowidgets provides an image viewer Jupyter widget for the Jupyter 13 | notebook and JupyterLab. 14 | 15 | 16 | Current build status 17 | ==================== 18 | 19 | 20 | 21 | 26 | 27 |
All platforms: 22 | 23 | 24 | 25 |
28 | 29 | Current release info 30 | ==================== 31 | 32 | | Name | Downloads | Version | Platforms | 33 | | --- | --- | --- | --- | 34 | | [![Conda Recipe](https://img.shields.io/badge/recipe-astrowidgets-green.svg)](https://anaconda.org/conda-forge/astrowidgets) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/astrowidgets.svg)](https://anaconda.org/conda-forge/astrowidgets) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/astrowidgets.svg)](https://anaconda.org/conda-forge/astrowidgets) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/astrowidgets.svg)](https://anaconda.org/conda-forge/astrowidgets) | 35 | 36 | Installing astrowidgets 37 | ======================= 38 | 39 | Installing `astrowidgets` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: 40 | 41 | ``` 42 | conda config --add channels conda-forge 43 | ``` 44 | 45 | Once the `conda-forge` channel has been enabled, `astrowidgets` can be installed with: 46 | 47 | ``` 48 | conda install astrowidgets 49 | ``` 50 | 51 | It is possible to list all of the versions of `astrowidgets` available on your platform with: 52 | 53 | ``` 54 | conda search astrowidgets --channel conda-forge 55 | ``` 56 | 57 | 58 | About conda-forge 59 | ================= 60 | 61 | [![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org) 62 | 63 | conda-forge is a community-led conda channel of installable packages. 64 | In order to provide high-quality builds, the process has been automated into the 65 | conda-forge GitHub organization. The conda-forge organization contains one repository 66 | for each of the installable packages. Such a repository is known as a *feedstock*. 67 | 68 | A feedstock is made up of a conda recipe (the instructions on what and how to build 69 | the package) and the necessary configurations for automatic building using freely 70 | available continuous integration services. Thanks to the awesome service provided by 71 | [CircleCI](https://circleci.com/), [AppVeyor](https://www.appveyor.com/) 72 | and [TravisCI](https://travis-ci.org/) it is possible to build and upload installable 73 | packages to the [conda-forge](https://anaconda.org/conda-forge) 74 | [Anaconda-Cloud](https://anaconda.org/) channel for Linux, Windows and OSX respectively. 75 | 76 | To manage the continuous integration and simplify feedstock maintenance 77 | [conda-smithy](https://github.com/conda-forge/conda-smithy) has been developed. 78 | Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of 79 | this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``. 80 | 81 | For more information please check the [conda-forge documentation](https://conda-forge.org/docs/). 82 | 83 | Terminology 84 | =========== 85 | 86 | **feedstock** - the conda recipe (raw material), supporting scripts and CI configuration. 87 | 88 | **conda-smithy** - the tool which helps orchestrate the feedstock. 89 | Its primary use is in the construction of the CI ``.yml`` files 90 | and simplify the management of *many* feedstocks. 91 | 92 | **conda-forge** - the place where the feedstock and smithy live and work to 93 | produce the finished article (built conda distributions) 94 | 95 | 96 | Updating astrowidgets-feedstock 97 | =============================== 98 | 99 | If you would like to improve the astrowidgets recipe or build a new 100 | package version, please fork this repository and submit a PR. Upon submission, 101 | your changes will be run on the appropriate platforms to give the reviewer an 102 | opportunity to confirm that the changes result in a successful build. Once 103 | merged, the recipe will be re-built and uploaded automatically to the 104 | `conda-forge` channel, whereupon the built conda packages will be available for 105 | everybody to install and use from the `conda-forge` channel. 106 | Note that all branches in the conda-forge/astrowidgets-feedstock are 107 | immediately built and any created packages are uploaded, so PRs should be based 108 | on branches in forks and branches in the main repository should only be used to 109 | build distinct package versions. 110 | 111 | In order to produce a uniquely identifiable distribution: 112 | * If the version of a package **is not** being increased, please add or increase 113 | the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string). 114 | * If the version of a package **is** being increased, please remember to return 115 | the [``build/number``](https://conda.io/docs/user-guide/tasks/build-packages/define-metadata.html#build-number-and-string) 116 | back to 0. 117 | 118 | Feedstock Maintainers 119 | ===================== 120 | 121 | * [@mwcraig](https://github.com/mwcraig/) 122 | 123 | --------------------------------------------------------------------------------