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))

이 스니펫은 두 개의 캐시된 작업을 생성하고 워크플로우 내에서 연결하는 데 필요한 최소한의 코드를 보여줍니다.

시작하기

  1. 설치pip install flytekit.
  2. 빠른 시작 가이드 읽기https://docs.flyte.org/en/latest/user_guide/quickstart_guide.html.
  3. API 문서 탐색https://docs.flyte.org/en/latest/api/flytekit/docs_index.html.
  4. 커뮤니티 참여 – 배지에 제공된 Slack 링크 사용.

기여 및 확장성

  • 상세한 기여 가이드는 https://docs.flyte.org/en/latest/api/flytekit/contributing.html 에 있습니다.
  • 플러그인은 plugins/README.md 에 목록되어 있으며, 핵심 유지보수팀이 목록을 관리하지만 외부 플러그인도 존재할 수 있습니다.
  • 이슈는 Flyte 코어 리포지토리의 이슈 섹션 링크에 따라 제출해야 합니다.

누구에게 적합한가요?

  • 재현 가능한 파이프라인을 Python 중심으로 정의하고 싶은 데이터 과학자 및 ML 엔지니어.
  • 내부 AI/ML 오케스트레이션 서비스를 구축하는 플랫폼 팀.
  • 로컬 노트북에서 프로덕션 수준 워크플로우 엔진으로 이동할 수 있는 가벼운 방법이 필요한 개발자.

  • 위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.*

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트