용어집
처음 사용하는 사람은 먼저 처음 보는 용어를 읽으세요. 아래 첫 표는 화면에서 사용하는 말이고, 그다음 표는 SDK·API·저장 형식을 구현할 때 필요한 정확한 이름입니다. 제품 전체 핵심 객체는 SDK·명령과 화면을 함께 연결한 표에서 객체명을 눌러 바로 확인할 수 있습니다.
Component 상태 표기
현재 production Flow reader는 installed Component target을 read-only unsupported로 표시합니다. exact target/settings와 연결 사용처에서 유도한 일부 port만 보이며 package label, 전체 contract snapshot과 live renderer/editor는 없습니다. 아래에서 Component presentation, editor, App Surface를 설명하는 항목은 명시한 대로 계약 전용/계획 용어입니다. local package는 signature가 없거나 검증 전일 수 있으므로 marketplace 검증이 없는 release를 signed/verified라고 부르지 않습니다. Component contribution 저장·catalog·detail·worker data path는 exact ProjectScope data-path isolation을 적용하지만, 요청 scope를 authenticated principal의 Project 권한에 결속하는 authorization은 아직 없습니다. Component template과 packTemplate은 별도 versioned settings/template contract, RFC-014와 Project/trust P0 closure 전까지 예약 용어이며 현재 적용 기능이 아닙니다.
화면에서 사용하는 말
| 화면 용어 | 뜻 | 헷갈리기 쉬운 기술 이름 |
|---|---|---|
| Project | Report, Flow, Component dependency와 실행 결과를 함께 관리하는 작업 공간 | Workspace는 여러 Project를 묶고, Project Artifact는 Project가 보관하는 한 항목 |
| Report | 본문·작성값·표·Flow 연결과 result 표시 위치를 저장하는 문서 | 저장 형식은 .pxreport, 연결은 root flowConnections에 보관 |
| Report Workbench | Report를 작성하고 Flow input·result와 연결하는 화면 | Report content와 mapping을 편집하며 Flow 내부 구성은 PXFLOW Studio에서 편집 |
| Report–Flow connection | Report 작성값·표를 Flow input에 보내고 Flow result를 Report 위치에 표시하는 저장 관계 | .pxreport flowConnections; Canvas 연결은 .pxflow가 소유 |
| PXFLOW | Flow 작성, 검증, 실행과 Result를 다루는 제품 영역 | Project Home의 PXFLOW를 선택하면 PXFLOW Studio가 열림 |
| PXFLOW Studio | Node와 연결을 배치해 Flow를 편집하는 화면 | Studio Canvas, Definitions와 Components dock을 포함 |
| Flow | Node를 연결해 입력값으로 계산 결과를 만드는 작업 흐름 | 화면·SDK·저장 문서에서 같은 이름을 사용 |
| Node | 현재 Flow에 실제로 놓인 계산·입력·표시 단계 하나 | flow.node(...)가 만드는 Canvas 객체 |
| 연결 | 앞 Node의 result를 다음 Node의 input으로 보내는 선 | edge와 binding은 저장 구조를 구분할 때만 사용 |
| Function | 여러 Flow에서 다시 사용할 수 있는 계산 기능 | Flow에 배치하면 Function Reference Node가 됨 |
| Component | built-in 또는 설치 가능한 재사용 target | SDK의 @px.component companion symbol을 flow.node(...)로 배치하면 현재 Canvas에서는 read-only unsupported Node가 됨 |
| Run | Flow를 입력값으로 한 번 실행한 기록 | Runtime은 한 Run을 Task와 Attempt로 나누어 처리 |
| Result | Node나 Flow가 계산해 내보내는 값 | 한 Run의 보관 기록은 ResultSnapshot |
| Component package | 하나 이상의 Component companion symbol을 제공할 수 있는 Python 배포 단위 | 현재 portable Component container V1은 content/component.json declaration 하나만 포함 |
| Extension | Component 외에 editor·viewer·adapter·app surface까지 제공하는 목표 package 분류 | rich contribution host는 계약 전용 |
| Integration | 외부 제품·서비스·데이터를 연결하는 Extension | Integration 상세에서 API·credential·capability 확인 |
| Engineering Paper | 문서 작성 Extension용 Component/editor 계약 | 현재 production Flow reader에는 전용 editor bridge가 없음 |
Python SDK 이름을 읽는 법
Python SDK는 from pipelinexlab import px로 시작합니다. px.*는 PipelineXLab이 제공하는 생성자·type·marker·decorator이고, 그 뒤의 작업은 만들어진 객체가 소유합니다.
| 생성 코드 | 객체·handle | 소유한 메서드·접근자 |
|---|---|---|
flow = px.Flow(...) | Flow 객체 flow | .node(), .connect(), .result() |
report = px.Report(...) | Report 객체 report | .section(), .connect_flow(), .save() |
section = report.section(...) | Section handle section | .text(), .value(), .table(), .result_slot() |
connection = report.connect_flow(...) | Connected Flow handle connection | .bind(), .show() |
client = px.Client(workspace=..., project=...) | Client 객체 client | .run(), .run_many(), .run_batch() |
node = flow.node(...) | Node handle node | node.inputs.span, node.results.utilization |
| package import | 설치한 Component target | midas_components.model_viewer |
한 Python Flow module은 module-level public flow 객체를 정확히 하나 export합니다. 추가 Flow는 별도 module에서 각각 flow를 export하고 필요한 곳에서 import합니다. Report와 helper 코드는 객체 변수 이름으로 소유 대상을 구분합니다. 숨은 current 객체를 선택하도록 px root에 global node·connect·run을 두지 않습니다. px.client()는 hosted App Surface가 로그인과 Project 범위를 주입할 때 사용할 계획된 편의 함수이며 현재 공개 SDK에는 없습니다. 현재 standalone script와 notebook은 px.Client(workspace=..., project=...)를 사용합니다.
SDK·API·저장 형식의 정확한 이름
| 용어 | 의미 | 공식 표현 |
|---|---|---|
| Python SDK namespace | px core 진입점과 객체 소유 메서드를 구분하는 공개 이름 규칙 | px.Flow(...) → flow.node(...); third-party target은 제공 package namespace 유지 |
| Function | Canvas Node가 실행할 계산 기능 | @px.function(key=..., version=..., description=...) |
| FunctionDescriptor | Function의 이름·version·typed input/result·실행 조건을 SDK, PXFLOW와 MCP가 함께 읽는 생성 계약 | @px.function 작성 → Definitions 확인 → Function Reference Node 배치 |
| Function Reference Node | Function을 특정 nodeKey로 Flow에 배치한 Node | flow.node("node_key", function_target) |
| Component definition | Python companion symbol의 key·label·description·category와 annotation-derived typed port를 등록하는 재사용 metadata | @px.component(key=..., label=..., description=...); package declaration/executor는 자동 생성하지 않음 |
| ComponentDescriptor | 현재 SDK가 생성하는 component key, label·description, 선택적 category/subcategory와 typed input/result metadata | category는 닫힌 primary task registry(input·transform·calculate·review·deliver·control), subcategory는 그 아래 publisher가 정하는 열린 key. setting·executor·presentation·package identity는 포함하지 않음 |
| Component contract | 현재 SDK descriptor, installed V1 declaration, exact Component target과 Node settings를 구분해 참조하는 기술 경계 | rich renderer/editor와 versioned setting contract는 계획 |
| Node | target 하나를 특정 nodeKey로 Flow에 배치한 instance | flow.node("node_key", target); target은 explicit-key Function 또는 Component |
| Binding | destination input·result 위치에 literal이나 reference를 지정한 저장 값 | inputBindings, resultBindings |
| SDK package | Function, Component와 optional Extension contribution을 함께 배포하는 package release | current unsigned Component install은 absent/not-checked; signed input은 trust authority 없이는 거부하며 marketplace trust admission만 verified |
| Component package | 하나 이상의 public @px.component companion symbol을 제공할 수 있는 Python distribution | 현재 portable Component container V1은 declaration 하나와 별도 executor entry를 가짐 |
| Extension | Component 외에 editor·viewer·adapter·app surface contribution도 제공하는 목표 package 분류 | rich contribution catalog와 각 기능 owner 화면은 계약 전용 |
| Integration | 외부 제품·서비스를 연결하는 Extension 분류 | external API·driver·adapter와 필요한 capability |
| Flow | Node, 연결, Flow input과 result로 구성된 실행 가능한 계산 흐름 | 한 Python Flow module에서 public flow = px.Flow("flow_key", ...) 하나를 export |
| Subflow · Group | 같은 Flow의 기존 Node를 nested Canvas로 묶는 editable authoring membership | flow.group("group_key", members=[...], label=...) |
| Subflow · External reference | 별도 Flow를 배치한 composite Node; 현재 Flow에서는 읽기 전용으로 열림 | imported px.Flow object를 flow.subflow(...)로 배치 |
| PXFLOW App | Flow의 input·result를 사용자용 페이지에 배치한 실행 화면 | @px.app, app_surface + pxflow_app |
| App Candidate | App Surface, exact Flow revision, SDK package·project source와 asset closure를 고정한 배포 후보 | pxlab app build 결과 |
| Deployment Plan | Candidate와 대상 Workspace·environment·접근 정책을 결합한 읽기 전용 사전 검사 | pxlab deploy plan 결과 |
| Deployment Request | 검토한 Plan을 실행 환경에 활성화하라는 비동기 요청 | pxlab deploy request |
| Deployment Revision | 검증을 통과한 변경 불가능한 앱 배포 상태 | 현재 앱은 Active revision을, 기존 App Embed는 전환 전까지 servable superseded revision을 참조할 수 있음 |
| Project Artifact | artifactKey와 revision을 가진 Project 관리 객체 | Flow, Report, PDF 등 Project가 보관·공유하는 대상 |
| Share | 같은 Project 또는 Project Artifact에 사람·팀의 지속 접근 권한을 부여하는 기능 | AccessGrant, ShareLink |
| Publication | exact PXFLOW·Report·Project revision을 읽기 전용으로 전달하는 게시 단위 | stable publicationKey와 immutable Publication Version |
| Template Release | Flow·Project template의 exact source·dependency·license를 고정하려는 contract-only V2 release 개념 | full persisted shape는 아직 blocker이며 Template Marketplace 계약에서 새 identity 생성만 계획 |
Component template · packTemplate (예약) | Component setting에 template을 적용하려는 후속 계약 용어 | publication-sharing profile의 row는 미래 vocabulary 예약일 뿐이며 현재 settings application·renderer asset·install·execution 없음; Component Node 계약의 후속 version 필요 |
| Marketplace Listing | 템플릿 설명·미리보기·publisher와 현재 제안을 검색 가능하게 표시하는 항목 | CatalogListing; 가격·구매 권리와 source ACL은 별도 |
| Template License Grant | 개인 또는 조직이 exact 템플릿 범위를 다운로드·사용할 수 있는 권리 | TemplateLicenseGrant는 템플릿 사용, EntitlementLease는 제품 이용, AccessGrant는 Project 접근을 담당 |
| Organization Library | 조직이 확보한 템플릿을 구성원에게 제공하고 사용 대상·승인 정책을 관리하는 곳 | OrganizationLibraryEntry, TemplateAllocation |
| Report Output | exact Report revision과 연결된 Result를 정해진 render 조건으로 만든 출력 | PDF는 Report Workbench에서 명시적으로 만드는 export 결과 |
| Render Profile | 페이지 설정, renderer·font·template·extension 버전을 고정한 출력 조건 | RenderProfile |
| PXFLOW Viewer | Publication Version의 Flow 구조와 승인된 결과를 편집·실행 없이 탐색하는 화면 | read-only projection |
| EmbedDelivery | Publication Version Viewer 또는 exact Deployment Revision App을 허용된 외부 HTML에서 여는 전달 설정 | stable embedKey; .pxflow 밖의 control-plane record |
| Engineering Paper | 문서 작성 Extension이 제공할 Component와 전용 editor 계약 | 현재 전용 Node editor bridge는 미구현 |
| Report | px.Report 또는 Report Workbench에서 편집하는 Project document | .pxreport; content, authored value/table, flowConnections와 result slot을 저장 |
.pxreport flowConnections[] | Report와 exact Flow revision의 public input/result mapping을 묶는 저장 항목 | 사용자 화면에서는 Report–Flow connection |
| Report input mapping | Report source를 Flow public input 하나에 연결하는 명시적 mapping; 같은 source의 재사용은 destination마다 mapping을 둠 | flowConnections[].inputMappings[]와 stable mappingKey |
| Report result mapping | Flow public result 하나를 Report의 읽기 전용 위치 한 곳에 표시하는 mapping; 여러 위치에는 mapping을 각각 둠 | flowConnections[].resultMappings[]와 stable mappingKey |
| Mapping generation | 한 Report–Flow connection의 mapping 의미가 바뀔 때 증가하는 세대 | .pxreport flowConnections[].mappingGeneration |
| Projection intent generation | 같은 connection의 새 ordinary Run 또는 whole Batch가 current result 후보가 될 때 Runtime이 한 번 증가시키는 세대 | 늦게 끝난 이전 Run/Batch의 current-result overwrite를 막는 CAS 값 |
| Activity | 한 사용자 동작으로 시작한 독립 Run들을 한곳에 보여 주는 화면 grouping | Run의 owner·dependency·완료 순서를 만들지 않음 |
| Batch Run | stable caseKey별 ordinary Run을 명시적으로 묶어 실행·상태·결과 병합을 확인하는 작업 | whole Batch가 connection projection generation 하나를 공유하고 case retry는 current child Run key만 교체 |
| Component presentation | Component Node의 body·settings·editor/viewer를 위한 계약 전용 표시 경계 | 현재 reader는 unsupported fallback만 제공; declaration→renderer bridge는 미구현 |
| App Surface | Flow를 standalone 사용자 화면으로 여는 계획된 entry·상태·권한 계약 | app_surface + format, AppSurfaceDescriptor; host는 미구현 |
| AdapterDescriptor | standalone app, data source, artifact codec 같은 외부 연결을 category·format으로 검색하는 envelope | SDK Adapter 체계 |
| AppSurfaceDescriptor | standalone 사용자 화면 하나의 계획된 entry·Flow target·host capability 계약 | @px.app 또는 Streamlit package metadata; contract-only |
| Organization | 구성원, Workspace, 라이선스와 보안·공유 정책을 관리하는 격리 경계 | 사용자에게는 Organization, 내부 격리 scope는 tenant |
| Organization Membership | 조직 관리 역할과 구성원 상태를 나타내는 관계 | Project·Artifact 콘텐츠 접근은 별도의 AccessGrant가 담당 |
| Workspace Membership | 특정 Workspace에 참여하는 principal과 역할 preset의 관계 | Project·Project Artifact 접근 판정의 한 입력 |
| Organization Policy | 외부 공유, 출력, 보안과 보존 범위의 조직 상한 | Workspace·Project 설정은 이보다 넓힐 수 없음 |
| PaperDefinition (계약 전용) | 문서 작성 Extension이 제공하려는 Python template definition | @px.paper와 Component 적용 bridge는 현재 기능이 아니며 별도 settings/template contract와 RFC-014 후속 범위 |
| PaperContributionDescriptor | 문서 작성 Extension의 /·Insert·Import·Output 기능 계약 | Extension-owned contribution metadata |
| Engineering Calculation | Report 안의 typed input, FormulaExpression, solve·iteration과 check를 묶은 문서 로컬 계산 | Report Workbench의 structured calculation block |
| FormulaExpression | 계산 가능한 수식의 closed structured tree | LaTeX와 표시 문자열은 이 구조에서 생성하는 표현 |
| Reference Equation | 기준서·문헌 수식을 표시하는 비실행 문서 block | section.equation(...) |
| CalculationTrace | PXFLOW가 반환하는 수식, 대입, solver·iteration과 provenance의 immutable structured result | px.CalculationTrace |
| Port | 값을 받거나 result를 내보내는 typed 연결점 | 현재 SDK는 parameter와 px.Results field annotation에서 생성하고 px.input(...)/px.result(...) marker가 description·unit을 더함 |
| Input | Node, Function, Component 또는 Flow로 들어가는 port | UI와 wire 모두 input |
| Result | Node, Function, Component 또는 Flow에서 나오는 named port/value | UI와 wire 모두 result; output은 파일·내보내기 문맥에서 사용 |
| Node input mapping | 계획된 Component editor가 현재 Node input을 문서·viewer 위치에 표시하는 연결 | editor bridge가 구현되기 전에는 contract-only |
| Calculation Projection | CalculationTrace를 수식·대입·solver 이력으로 표시하는 Report block | Report result position이 immutable Result를 읽기 전용으로 표시 |
| Run | 고정된 Flow revision과 input으로 수행한 한 번의 사용자 실행 | SDK, Studio와 MCP가 같은 Run 계약 사용 |
| Task | ordinary Run 안에서 Node 계산을 수행하는 bounded scheduler work unit | 사용자는 Flow·Node·Run으로 작업하고 Runtime이 Task를 관리 |
| Attempt | lease와 fencing token을 가진 Task의 한 worker 시도 | stale Attempt 결과는 current로 승격할 수 없음 |
| MCP Task | 장시간 MCP 요청 진행을 추적하는 선택적 transport handle | Runtime Task와 별개 |
| ResultSnapshot | Run이 확정한 immutable named results와 provenance | 현재 Result panel이 읽고, Component editor 소비는 계획 |
| Semantic key | 사용자와 LLM이 읽고 작성하는 stable lower_snake_case 이름 | flowKey, nodeKey, portKey 등 |
| Infrastructure ID | 저장·권한·동시성에 쓰는 내부 UUIDv7 | 사용자 문법과 MCP target은 semantic ref를 사용 |
| SDK-linked | Python SDK source가 authoring owner인 Flow 또는 Extension template | Component editor의 source-safe Apply는 계획; Report mapping은 .pxreport가 소유 |
| PXFLOW-native | .pxflow direct object가 authoring owner인 Flow | Studio가 직접 저장 가능 |
connection capability | Flow public port·Component editor·AI에서 연결 후보로 노출하기 위한 계획된 계약 | 현재 ComponentDescriptor에는 이 member가 없음 |
화면과 문서에서 사용할 표준 용어
| 구분할 대상 | 사용할 용어 |
|---|---|
| 본문·작성값·표·Flow 연결과 result 위치를 저장하는 문서 | Report |
| Report source와 Flow public port를 잇는 저장 관계 | Report–Flow connection |
| Report의 값·표를 Flow로 보내는 방향 | Report authored value/table → Flow public input |
| Flow 결과를 Report에 표시하는 방향 | Flow public result → Report result position |
| 재사용 가능한 실행 정의 | Function |
| Components dock에서 고르는 설치 기능 | Component |
| Component package companion symbol의 key와 typed port metadata를 정의하는 SDK 종류 | Component definition (@px.component); UI contract는 별도 계획 |
| Flow Canvas에 배치한 실행 인스턴스 | Node |
| Node 계산을 수행하는 내부 scheduler 단위 | Task; 사용자 Flow에서는 Node로 표시 |
| Function·Node·Flow의 반환 연결점 | result port; wire field는 results, 방향은 result |
| 사용자가 지정하는 공개 identity | 종류를 밝힌 semantic key: flowKey, nodeKey, portKey 등 |
| 계획된 Component editor가 현재 Node 값을 표시하는 연결 | Node input mapping |
| Report에 표시하는 식과 문서 로컬 계산 | 각각 참고 수식, Engineering Calculation |
이름 표기
- 코드·wire key:
lower_snake_case—girder_check처럼 소문자로 쓰고 단어 사이는 밑줄로 잇습니다. - Python API:
lower_snake_case - serialized field:
lowerCamelCase—flowKey처럼 첫 단어는 소문자, 뒤따르는 단어는 첫 글자를 대문자로 쓰고 붙여 씁니다. - Python 타입·생성자:
PascalCase—px.Flow,px.Report처럼 단어마다 첫 글자를 대문자로 쓰고 붙여 씁니다. - 화면 label: 사용자가 자유롭게 바꾸는 표시 이름이며 stable key가 identity를 맡습니다.
- SemVer: Function release version과 package release version에 사용하되 두 version을 별도로 소유합니다.
- immutable revision:
revisionRef로 pin합니다. - generation: mutable aggregate의 동시 변경 확인용 CAS 번호입니다. Function·package version이나 Flow revision과 다르며, 사용자 화면에서는 “더 새로운 변경이 저장됨”으로 설명합니다.