flyteorg/flytekit
Extensible Python SDK for developing Flyte tasks and workflows. Simple to get started and learn and highly extensible.
Flytekit Python – 무엇인가요
Flytekit는 Flyte의 공식 Python SDK로, 오픈소스 플랫폼을 통해 데이터 및 ML 중심 워크플로우를 재사용 가능한 작업, 워크플로우, 런치 플랜으로 작성, 테스트, 패키징, 실행할 수 있게 해줍니다. 이 라이브러리는 일반 함수를 Flyte 호환 단위로 변환하고 Flyte 백엔드와의 통신을 처리하는 Python 데코레이터(@task, @workflow)를 제공합니다.
핵심 기능
| 기능 | README 설명 |
|---|---|
| 워크플로우 작성 | @task 및 @workflow 데코레이터를 사용하여 재사용 가능한 컴포넌트를 정의하고 파이프라인으로 조합합니다. |
| 캐시 및 재시도 | cache=True로 선언하고 cache_version과 재시도 횟수를 지정함으로써 결과 재사용과 장애 내성 가능합니다. |
| 로컬 테스트 및 배포 | 동일한 Python 코드를 로컬에서 빠르게 반복하고, 나중에 변경 없이 Flyte 클러스터에 배포할 수 있습니다. |
| 플러그인을 통한 확장성 | plugins/ 디렉터리(또는 외부 플러그인)를 통해 통합(예: Spark, Kubernetes, 사용자 정의 실행기)이 가능합니다. |
| 문서 및 예제 | 빠른 시작 가이드, API 문서, "예제로 배우는 Flytekit" 튜토리얼 링크 제공. |
| 커뮤니티 지원 | Slack 채널 배지, 기여 가이드, 이슈 제출 지침 제공. |
빠른 시작 예제 (README에서)
from flytekit import task, workflow
@task(cache=True, cache_version="1", retries=3)
def sum(x: int, y: int) -> int:
return x + y
@task(cache=True, cache_version="1", retries=3)
def square(z: int) -> int:
return z*z
@workflow
def my_workflow(x: int, y: int) -> int:
return sum(x=square(z=x), y=square(z=y))
이 스니펫은 두 개의 캐시된 작업을 생성하고 워크플로우 내에서 연결하는 데 필요한 최소한의 코드를 보여줍니다.
시작하기
- 설치 –
pip install flytekit. - 빠른 시작 가이드 읽기 – https://docs.flyte.org/en/latest/user_guide/quickstart_guide.html.
- API 문서 탐색 – https://docs.flyte.org/en/latest/api/flytekit/docs_index.html.
- 커뮤니티 참여 – 배지에 제공된 Slack 링크 사용.
기여 및 확장성
- 상세한 기여 가이드는 https://docs.flyte.org/en/latest/api/flytekit/contributing.html 에 있습니다.
- 플러그인은
plugins/README.md에 목록되어 있으며, 핵심 유지보수팀이 목록을 관리하지만 외부 플러그인도 존재할 수 있습니다. - 이슈는 Flyte 코어 리포지토리의 이슈 섹션 링크에 따라 제출해야 합니다.
누구에게 적합한가요?
- 재현 가능한 파이프라인을 Python 중심으로 정의하고 싶은 데이터 과학자 및 ML 엔지니어.
- 내부 AI/ML 오케스트레이션 서비스를 구축하는 플랫폼 팀.
- 로컬 노트북에서 프로덕션 수준 워크플로우 엔진으로 이동할 수 있는 가벼운 방법이 필요한 개발자.
- 위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.*
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트