From c8e8f9ffa8936619eddeac3db06d1f20fa46943c Mon Sep 17 00:00:00 2001 From: beckermr Date: Sun, 24 Nov 2024 06:38:42 -0600 Subject: [PATCH] fix: allow grayskull to run on github urls --- conda_forge_tick/update_deps.py | 45 +- tests/test_update_deps.py | 13 + tests/test_yaml/ngmix.json | 1756 +++++++++++++++++++++++++++++++ 3 files changed, 1813 insertions(+), 1 deletion(-) create mode 100644 tests/test_yaml/ngmix.json diff --git a/conda_forge_tick/update_deps.py b/conda_forge_tick/update_deps.py index f99ccd43a..5bda5f11d 100644 --- a/conda_forge_tick/update_deps.py +++ b/conda_forge_tick/update_deps.py @@ -313,7 +313,50 @@ def make_grayskull_recipe(attrs, version_key="version"): pkg_version = attrs.get("version_pr_info", {}).get(version_key) else: pkg_version = attrs[version_key] - pkg_name = attrs["name"] + + src = attrs["meta_yaml"].get("source", {}) or {} + if isinstance(src, dict): + src = [src] + is_pypi = False + is_github = False + for s in src: + if "url" in s: + if any( + pypi_slug in s["url"] + for pypi_slug in [ + "/pypi.io/", + "/pypi.org/", + "/pypi.python.org/", + "/files.pythonhosted.org/", + ] + ): + is_pypi = True + break + + if not is_pypi: + for s in src: + if "url" in s: + if "github.com/" in s["url"]: + is_github = True + github_url = s["url"] + break + # we don't know so assume pypi + if not is_pypi and not is_github: + is_pypi = True + + if is_pypi: + pkg_name = attrs["name"] + elif is_github: + url_parts = github_url.split("/") + if len(url_parts) < 5: + logger.warning( + "github url %s for grayskull dep update is too short! assuming pypi...", + github_url, + ) + pkg_name = attrs["name"] + else: + pkg_name = "/".join(url_parts[:5]) + is_noarch = "noarch: python" in attrs["raw_meta_yaml"] logger.info( "making grayskull recipe for pkg %s w/ version %s", diff --git a/tests/test_update_deps.py b/tests/test_update_deps.py index a215ac2e2..fe82e4424 100644 --- a/tests/test_update_deps.py +++ b/tests/test_update_deps.py @@ -106,7 +106,20 @@ def test_make_grayskull_recipe(): ) as f: attrs = load(f) recipe = make_grayskull_recipe(attrs) + print(recipe, flush=True) assert recipe != "" + assert attrs["version"] in recipe + + +def test_make_grayskull_recipe_github_url(): + with open( + os.path.join(os.path.dirname(__file__), "test_yaml", "ngmix.json"), + ) as f: + attrs = load(f) + recipe = make_grayskull_recipe(attrs) + print(recipe, flush=True) + assert recipe != "" + assert attrs["version"] in recipe def test_get_grayskull_comparison(): diff --git a/tests/test_yaml/ngmix.json b/tests/test_yaml/ngmix.json new file mode 100644 index 000000000..81e969000 --- /dev/null +++ b/tests/test_yaml/ngmix.json @@ -0,0 +1,1756 @@ +{ + "archived": false, + "branch": "main", + "conda-forge.yml": { + "build_platform": { + "linux_aarch64": "linux_64", + "osx_arm64": "osx_64" + }, + "conda_build": { + "pkg_format": "2" + }, + "conda_forge_output_validation": true, + "github": { + "branch_name": "main", + "tooling_branch_name": "main" + }, + "test": "native_and_emulated" + }, + "feedstock_name": "ngmix", + "hash_type": "sha256", + "linux_64_meta_yaml": { + "about": { + "home": "https://github.com/esheldon/ngmix", + "license": "GPL-2.0-only", + "license_family": "GPL", + "license_file": "gpl.txt", + "summary": "Gaussian mixtures and image processing implemented in python and numba" + }, + "build": { + "number": "0" + }, + "extra": { + "recipe-maintainers": [ + "beckermr" + ] + }, + "outputs": [ + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + } + ], + "package": { + "name": "ngmix-split", + "version": "2.3.2" + }, + "schema_version": 0, + "source": { + "sha256": "0e1cb66643ef8a75a5b993b257d58c90fb30e1ba5b34e2cb5345d674f616d82c", + "url": "https://github.com/esheldon/ngmix/archive/v2.3.2.tar.gz" + } + }, + "linux_64_requirements": { + "build": { + "__set__": true, + "elements": [] + }, + "host": { + "__set__": true, + "elements": [ + "pip", + "python", + "setuptools" + ] + }, + "run": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba", + "numpy", + "python", + "scipy" + ] + }, + "test": { + "__set__": true, + "elements": [] + } + }, + "linux_aarch64_meta_yaml": { + "about": { + "home": "https://github.com/esheldon/ngmix", + "license": "GPL-2.0-only", + "license_family": "GPL", + "license_file": "gpl.txt", + "summary": "Gaussian mixtures and image processing implemented in python and numba" + }, + "build": { + "number": "0" + }, + "extra": { + "recipe-maintainers": [ + "beckermr" + ] + }, + "outputs": [ + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + } + ], + "package": { + "name": "ngmix-split", + "version": "2.3.2" + }, + "schema_version": 0, + "source": { + "sha256": "0e1cb66643ef8a75a5b993b257d58c90fb30e1ba5b34e2cb5345d674f616d82c", + "url": "https://github.com/esheldon/ngmix/archive/v2.3.2.tar.gz" + } + }, + "linux_aarch64_requirements": { + "build": { + "__set__": true, + "elements": [] + }, + "host": { + "__set__": true, + "elements": [ + "pip", + "python", + "setuptools" + ] + }, + "run": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba", + "numpy", + "python", + "scipy" + ] + }, + "test": { + "__set__": true, + "elements": [] + } + }, + "meta_yaml": { + "about": { + "home": "https://github.com/esheldon/ngmix", + "license": "GPL-2.0-only", + "license_family": "GPL", + "license_file": "gpl.txt", + "summary": "Gaussian mixtures and image processing implemented in python and numba" + }, + "build": { + "number": "0" + }, + "extra": { + "recipe-maintainers": [ + "beckermr" + ] + }, + "outputs": [ + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + } + ], + "package": { + "name": "ngmix-split", + "version": "2.3.2" + }, + "schema_version": 0, + "source": { + "sha256": "0e1cb66643ef8a75a5b993b257d58c90fb30e1ba5b34e2cb5345d674f616d82c", + "url": "https://github.com/esheldon/ngmix/archive/v2.3.2.tar.gz" + } + }, + "name": "ngmix-split", + "osx_64_meta_yaml": { + "about": { + "home": "https://github.com/esheldon/ngmix", + "license": "GPL-2.0-only", + "license_family": "GPL", + "license_file": "gpl.txt", + "summary": "Gaussian mixtures and image processing implemented in python and numba" + }, + "build": { + "number": "0" + }, + "extra": { + "recipe-maintainers": [ + "beckermr" + ] + }, + "outputs": [ + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + } + ], + "package": { + "name": "ngmix-split", + "version": "2.3.2" + }, + "schema_version": 0, + "source": { + "sha256": "0e1cb66643ef8a75a5b993b257d58c90fb30e1ba5b34e2cb5345d674f616d82c", + "url": "https://github.com/esheldon/ngmix/archive/v2.3.2.tar.gz" + } + }, + "osx_64_requirements": { + "build": { + "__set__": true, + "elements": [] + }, + "host": { + "__set__": true, + "elements": [ + "pip", + "python", + "setuptools" + ] + }, + "run": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba", + "numpy", + "python", + "scipy" + ] + }, + "test": { + "__set__": true, + "elements": [] + } + }, + "osx_arm64_meta_yaml": { + "about": { + "home": "https://github.com/esheldon/ngmix", + "license": "GPL-2.0-only", + "license_family": "GPL", + "license_file": "gpl.txt", + "summary": "Gaussian mixtures and image processing implemented in python and numba" + }, + "build": { + "number": "0" + }, + "extra": { + "recipe-maintainers": [ + "beckermr" + ] + }, + "outputs": [ + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + }, + { + "name": "ngmix-core", + "requirements": { + "build": [], + "host": [ + "python", + "pip", + "setuptools" + ], + "run": [ + "python", + "numpy", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "scipy", + "galsim" + ] + }, + "script": "build_core.sh", + "test": { + "imports": [ + "ngmix" + ] + } + }, + { + "name": "ngmix", + "requirements": { + "host": [ + "python" + ], + "run": [ + "python", + "ngmix-core", + "meds" + ] + }, + "test": { + "imports": [ + "ngmix", + "ngmix.medsreaders" + ] + } + } + ], + "package": { + "name": "ngmix-split", + "version": "2.3.2" + }, + "schema_version": 0, + "source": { + "sha256": "0e1cb66643ef8a75a5b993b257d58c90fb30e1ba5b34e2cb5345d674f616d82c", + "url": "https://github.com/esheldon/ngmix/archive/v2.3.2.tar.gz" + } + }, + "osx_arm64_requirements": { + "build": { + "__set__": true, + "elements": [] + }, + "host": { + "__set__": true, + "elements": [ + "pip", + "python", + "setuptools" + ] + }, + "run": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba", + "numpy", + "python", + "scipy" + ] + }, + "test": { + "__set__": true, + "elements": [] + } + }, + "outputs_names": { + "__set__": true, + "elements": [ + "ngmix", + "ngmix-core" + ] + }, + "parsing_error": false, + "platforms": [ + "linux_64", + "linux_aarch64", + "osx_64", + "osx_arm64" + ], + "pr_info": { + "__lazy_json__": "pr_info/ngmix.json" + }, + "raw_meta_yaml": "{% set name = \"ngmix-split\" %}\n{% set version = \"2.3.2\" %}\n\npackage:\n name: {{ name|lower }}\n version: {{ version }}\n\nsource:\n url: https://github.com/esheldon/ngmix/archive/v{{ version }}.tar.gz\n sha256: 0e1cb66643ef8a75a5b993b257d58c90fb30e1ba5b34e2cb5345d674f616d82c\n\nbuild:\n number: 0\n skip: true # [win]\n\noutputs:\n - name: ngmix-core\n script: build_core.sh\n requirements:\n build:\n - python # [build_platform != target_platform]\n - cross-python_{{ target_platform }} # [build_platform != target_platform]\n host:\n - python\n - pip\n - setuptools\n run:\n - python\n - numpy\n - numba <0.41.0a|>=0.43.0,!=0.54.0 # bug in these numbas\n - scipy\n - galsim\n\n test:\n imports:\n - ngmix\n\n - name: ngmix\n requirements:\n host:\n - python\n run:\n - python\n - {{ pin_subpackage(\"ngmix-core\", exact=True) }}\n - meds\n test:\n imports:\n - ngmix\n - ngmix.medsreaders\n\nabout:\n home: https://github.com/esheldon/ngmix\n license: GPL-2.0-only\n license_family: GPL\n license_file: gpl.txt\n summary: Gaussian mixtures and image processing implemented in python and numba\n\nextra:\n recipe-maintainers:\n - beckermr\n", + "req": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba", + "numpy", + "pip", + "python", + "scipy", + "setuptools" + ] + }, + "requirements": { + "build": { + "__set__": true, + "elements": [] + }, + "host": { + "__set__": true, + "elements": [ + "pip", + "python", + "setuptools" + ] + }, + "run": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba", + "numpy", + "python", + "scipy" + ] + }, + "test": { + "__set__": true, + "elements": [] + } + }, + "strong_exports": false, + "total_requirements": { + "build": { + "__set__": true, + "elements": [] + }, + "host": { + "__set__": true, + "elements": [ + "pip", + "python", + "setuptools" + ] + }, + "run": { + "__set__": true, + "elements": [ + "galsim", + "meds", + "ngmix-core", + "numba <0.41.0a|>=0.43.0,!=0.54.0", + "numpy", + "python", + "scipy" + ] + }, + "test": { + "__set__": true, + "elements": [] + } + }, + "url": "https://github.com/esheldon/ngmix/archive/v2.3.2.tar.gz", + "version": "2.3.2", + "version_pr_info": { + "__lazy_json__": "version_pr_info/ngmix.json" + } + }