본문으로 건너뛰기

Python SDK API reference

pipelinexlab SDK 하나에서 계산 Flow는 px.Flow, Report는 px.Report로 작성합니다. 아래에서 하려는 작업을 고르면 문법, 매개변수, 반환값, 화면에서 보이는 위치와 다음 작업을 독립된 페이지에서 바로 확인할 수 있습니다.

bash
pip install pipelinexlab
python
from pipelinexlab import px

이름을 읽는 규칙

pxfrom pipelinexlab import px로 가져오는 SDK 이름입니다. 현재 facade가 제공하는 px.Flow, px.Report, px.Client, @px.function, @px.component, px.Resultspx. namespace에서 찾습니다.

current API와 contract_only data 문법

현재 facade의 px.input, px.result, px.setting은 metadata marker입니다. @px.record, px.field, px.Table, px.Artifact는 현재 facade에 없습니다. 이 reference의 해당 planned 페이지는 후속 data contract를 위한 SSOT이며 설치본에서 복사해 실행할 API 예제가 아닙니다. 현재 target input은 일반 Python parameter annotation으로, 이름 있는 result는 px.Results subclass의 annotated field로 선언합니다. Flow public boundary는 flow.input(...)flow.result(...)가 소유합니다.

flow, report, basis, strength, client는 앞 단계에서 만든 객체를 담는 예제 변수입니다. 변수 이름은 바꿀 수 있으며, 점 뒤의 메서드는 그 객체가 할 수 있는 작업을 뜻합니다.

먼저 쓰는 코드만들어지는 객체그다음 호출하는 메서드
flow = px.Flow(...)Flow 객체 flowflow.input(...), flow.node(...), flow.connect(...), flow.result(...)
report = px.Report(...)Report 객체 reportreport.section(...), report.connect_flow(...), report.save()
basis = report.section(...)Section handle basisbasis.text(...), basis.value(...), basis.table(...)
strength = report.connect_flow(...)Connected Flow handle strengthstrength.bind(...), strength.show(...)
client = px.Client(workspace=..., project=...)Client 객체 clientclient.run(...), client.run_many(...), client.run_batch(...)

현재 production 예제는 Function target을 사용합니다. package에서 import한 Function 이름을 flow.node(...)에 전달하면 FunctionRef를 가진 Node가 만들어집니다.

python
from pipelinexlab import px
from result_tools.functions import format_result

flow = px.Flow(
    "result_summary",
    label="Result summary",
    description="Displays a calculation result.",
)
value = flow.input("value", float, description="Result to display.")
formatted = flow.node("format_result", format_result)
flow.connect(value, formatted.inputs.value)
flow.result("text", formatted.results.text)

client = px.Client(workspace="engineering", project="bridge_project")
run = client.run(flow, value=0.82)

위 코드는 현재 공개 Function 실행 경로입니다. third-party Component의 current internal/test resolver primitive와 exact-ref persistence가 존재하더라도 production install·placement·activation은 exact ProjectScope data-path isolation은 구현됐지만 Project authorization과 execution-trust closure 전까지 caller/release policy로 차단됩니다. 저장돼 있던 exact ComponentRef는 read-only unsupported로 보존합니다. 두 closure 뒤의 제품 경로만 admitted exact release를 resolve해 새 ComponentRef를 저장하며, Canvas는 host-owned component.declarative@2을 사용합니다. settings를 component-declared-settings@1로 선언당 최대 8개까지 받고 host control registry가 그리며 rich surface는 RFC-016의 component-rich-surface-declaration@1 범위입니다.

현재 hosted surface, 일반 Python 파일, notebook과 자동화는 모두 px.Client(workspace="...", project="...")로 실행 범위를 명시합니다. host가 로그인과 Project 범위를 주입하는 lowercase px.client() convenience는 planned API이며 현재 공개 spelling이 아닙니다.

처음이라면

Flow와 Report를 한 예제로 처음부터 연결하려면 Python으로 Report와 Flow 함께 만들기를 읽으세요. Flow만 만들려면 Python SDK에서 Flow 만들기에서 시작합니다. 이미 API 이름을 알고 있다면 위 목록에서 바로 선택합니다.

Component를 찾고 있다면

저장 형식과 Runtime 내부 계약

이 reference는 사용자가 Python에서 호출하는 SDK 문법을 설명합니다. 저장 파일의 세부 구조나 Runtime이 실행 대상을 고정하는 방식까지 확인하려면 Python SDK 문법 명세파일 형식과 저장으로 이어가세요.