Native Shell
Native Shell은 모든 플랫폼의 앱 안에서 만들어지는 AI UI입니다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗RADICAL AsyncFlow (RAF) is a fast asynchronous scripting library built on top of asyncio for building powerful async/sync workflows on HPC, clusters, and local machines. It supports pluggable execution backends with intuitive task dependencies and workflow composition.
⚡ Powerful asynchronous workflows — Compose complex async and sync workflows easily, with intuitive task dependencies and campaign orchestration.
🌐 Portable across environments — Run seamlessly on HPC systems, clusters, and local machines with pluggable execution backends.
🧩 Flexible and extensible — Supports campaign management and advanced workflow patterns, built on Python’s asyncio and RADICAL Cybertools expertise.
AsyncFlow ships with the following built-in execution backends:
LocalExecutionBackend — local execution using Python's concurrent.futures (ThreadPoolExecutor / ProcessPoolExecutor)NoopExecutionBackend — no-op backend for testing and dry_run modeFor HPC execution, install RHAPSODY which provides additional backends that plug directly into AsyncFlow:
Radical AsyncFlow package is available on PyPI.
pip install radical-asyncflow
For HPC execution via RHAPSODY:
pip install rhapsody-py
For developers:
git clone https://github.com/radical-cybertools/radical.asyncflow
cd radical.asyncflow
pip install -e .[dev,lint,doc]
👉 AsyncFlow Documentation and API References
import asyncio
from radical.asyncflow import WorkflowEngine, LocalExecutionBackend
from concurrent.futures import ThreadPoolExecutor
async def main():
# Create backend and workflow
backend = await LocalExecutionBackend(ThreadPoolExecutor())
flow = await WorkflowEngine.create(backend=backend)
@flow.executable_task
async def task1():
return "/bin/echo 5"
@flow.function_task
async def task2(t1_result):
return int(t1_result.strip()) * 2 * 2
# create the workflow
t1_fut = task1()
t2_result = await task2(t1_fut) # t2 depends on t1 (waits for it)
print(t2_result)
# shutdown the execution backend
await flow.shutdown()
if __name__ == "__main__":
asyncio.run(main())