From 54d4b50859156f037415405a80eb90a453422db9 Mon Sep 17 00:00:00 2001 From: Andre Merzky Date: Thu, 13 Aug 2026 15:18:14 +0200 Subject: [PATCH 1/3] packaging: add conda recipe (conda-forge staged-recipes candidate) Pure-python noarch; deps pydantic/typeguard/requests/cloudpickle. Co-Authored-By: Claude Fable 5 --- recipe/meta.yaml | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 recipe/meta.yaml diff --git a/recipe/meta.yaml b/recipe/meta.yaml new file mode 100644 index 0000000..9bb664a --- /dev/null +++ b/recipe/meta.yaml @@ -0,0 +1,54 @@ +{% set name = "radical.asyncflow" %} +{% set version = "0.5.0" %} +{% set python_min = python_min | default("3.9") %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://pypi.org/packages/source/r/{{ name }}/radical_asyncflow-{{ version }}.tar.gz + sha256: e7a0d203fb0731d21f064ac913ecd4b50876436050be7f91a04771a45ea332c9 + +build: + noarch: python + script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation + number: 0 + +requirements: + host: + - python {{ python_min }} + - setuptools >=61.0 + - wheel + - pip + run: + - python >={{ python_min }} + - pydantic + - typeguard + - requests + - cloudpickle + +test: + imports: + - radical.asyncflow + commands: + - pip check + requires: + - python {{ python_min }} + - pip + +about: + home: https://github.com/radical-cybertools/radical.asyncflow + summary: A high performance asynchronous workflow scripting library + description: | + RADICAL-AsyncFlow is an asyncio-based workflow scripting library + for expressing dynamic task graphs in plain Python. HPC execution + backends are provided by RHAPSODY (rhapsody-py) and are optional. + license: MIT + license_file: LICENSE + doc_url: https://radical-cybertools.github.io/radical.asyncflow/ + dev_url: https://github.com/radical-cybertools/radical.asyncflow + +extra: + recipe-maintainers: + - andre-merzky From 960bc59b428f2d4851906f6dfaa40b21e969e189 Mon Sep 17 00:00:00 2001 From: Andre Merzky Date: Wed, 19 Aug 2026 01:41:05 +0200 Subject: [PATCH 2/3] packaging: exclude conda recipe from check-yaml pre-commit hook conda meta.yaml is jinja-templated YAML; check-yaml cannot parse it. conda-forge lints recipes with its own tooling. Co-Authored-By: Claude Fable 5 --- .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 3ea6901..3eb92e9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,7 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - exclude: ^mkdocs\.yml$ + exclude: ^(mkdocs\.yml|recipe/meta\.yaml)$ - id: check-toml - id: debug-statements - id: check-merge-conflict From 22e35aa0ee5f47fca012917d06f3d7f1b452ac9d Mon Sep 17 00:00:00 2001 From: Andre Merzky Date: Wed, 19 Aug 2026 02:43:50 +0200 Subject: [PATCH 3/3] =?UTF-8?q?packaging:=20address=20local=20review=20?= =?UTF-8?q?=E2=80=94=20raise=20python=20floor=20to=203.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On CPython 3.9 importlib.metadata does not normalize dots in distribution names, so version('radical.asyncflow') fails at import time - a 3.9 build would be broken. 3.10 is also conda-forge's floor. Co-Authored-By: Claude Fable 5 --- recipe/meta.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 9bb664a..1513192 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ {% set name = "radical.asyncflow" %} {% set version = "0.5.0" %} -{% set python_min = python_min | default("3.9") %} +{% set python_min = python_min | default("3.10") %} package: name: {{ name|lower }} @@ -43,7 +43,8 @@ about: description: | RADICAL-AsyncFlow is an asyncio-based workflow scripting library for expressing dynamic task graphs in plain Python. HPC execution - backends are provided by RHAPSODY (rhapsody-py) and are optional. + backends are provided by RHAPSODY (rhapsody-py; conda-forge + feedstock planned) and are optional. license: MIT license_file: LICENSE doc_url: https://radical-cybertools.github.io/radical.asyncflow/