runtime.notebooks Runtime observed

Colab · Molab · 로컬 marimo 노트북

같은 dartlab 코드를 Colab (Google) · Molab (marimo cloud) · 로컬 marimo 세 경로로 실행하는 노트북 카탈로그와 작성·운영 규칙이다.

이 스킬

Colab · Molab · 로컬 marimo 노트북

같은 dartlab 코드를 Colab (Google) · Molab (marimo cloud) · 로컬 marimo 세 경로로 실행하는 노트북 카탈로그와 작성·운영 규칙이다.

Runtime observed runtime.notebooks

절차

실행 순서

  1. 1

    환경을 고른다 (브라우저 즉시 → Colab/Molab, 로컬 영구 → marimo).

  2. 2

    노트북 카탈로그에서 분석 대상에 맞는 항목을 연다.

  3. 3

    첫 셀에서 의존성 추가 (`!pip install dartlab` 또는 `uv add dartlab`).

  4. 4

    코드 실행 - 데이터는 자동 다운로드.

  5. 5

    새 노트북 작성 시 작성 규칙 (Colab 마크다운 / marimo 주석) 을 따른다.

예시

이런 질문이 들어오면 이 skill 을 쓴다

  • dartlab Colab 으로 시도
  • 로컬 marimo 에서 Company 분석
  • Molab 으로 무료 실행
  • 새 노트북 작성 규칙 확인

출력

기대 결과

  • 노트북 진입 링크
  • 실행 환경별 의존성 설치 결과
  • 작성 규칙 충족 여부

노트북 카탈로그

Colab 은 브라우저에서 바로 실행 (Google 계정). Molab 은 marimo 클라우드 (무료).

노트북 파일명은 notebooks/colab/{@html String.fromCharCode(123)}name{@html String.fromCharCode(125)}.ipynbnotebooks/marimo/{@html String.fromCharCode(123)}name{@html String.fromCharCode(125)}.py 가 1:1 로 같다. 축 개수는 각 엔진 카탈로그(인자 없이 호출) 실측값이다.

노트북기능설명
01_companyCompanyCompany("005930") 로 회사를 잡고 c.panel · c.select · c.trace
02_gatherGathergather() 16 축. 주가 · 수급 · 거시 · 뉴스 (네트워크 필요, 로컬 전용)
03_scanScanscan() 27 축 전 종목 횡단 스캔
04_quantQuantc.quant() 48 축. 기술적 지표 · 신호 · 백테스트
05_analysisAnalysisc.analysis() 22 축. 수익성 · 성장성 · 안정성 · 밸류에이션
06_macroMacromacro() 15 축. 사이클 · 금리 · 시나리오
07_creditCreditc.credit() dCR 등급 + 7 축 위험
08_storyStoryc.story() 구조화 보고서
09_aiAsk (AI)ask("...") 자연어 LLM 분석
10_searchSearchsearch() 공시 제목 · 본문 검색
11_listingListinglisting() 상장사 · 공시 · 토픽 목록
  • Colab: https://colab.research.google.com/github/eddmpython/dartlab/blob/master/notebooks/colab/{@html String.fromCharCode(123)}name{@html String.fromCharCode(125)}.ipynb
  • Molab: https://molab.marimo.io/github/eddmpython/dartlab/blob/master/notebooks/marimo/{@html String.fromCharCode(123)}name{@html String.fromCharCode(125)}.py

브라우저 노트북 (설치 0)

landing/notebooks 는 pyodide 로 브라우저 안에서 도는 별도 표면이다. Colab/Molab 과 달리 계정도 설치도 필요 없고, 코드와 결과가 바깥으로 나가지 않는다. 노트북은 IndexedDB 에 저장된다.

허브에는 예제도 레슨도 없다. 실습장이지 교재가 아니다. 배우는 곳은 블로그 연재 dartlab 이야기(blog/03-dartlab-stories/)다. 그 글의 python 코드펜스는 처음부터 편집 가능한 노트북 셀로 보이며, 실행 버튼을 누른 뒤에만 공용 Python worker를 준비한다. 독자는 글 안에서 코드를 고치고 바로 재실행할 수 있다. 첫 셀의 “전체 화면”은 긴 실습이 필요할 때만 글 한 편을 노트북 한 권 (post:<slug>)으로 투영하는 보조 진입점이다. 사본을 굽지 않는다. 글이 SSOT이고 노트북은 그 투영이다. 글에서 투영한 노트북은 원문의 셀 순서를 보존하는 sequential 모드이며, 열기만 해서는 어느 셀도 실행하지 않는다. 같은 변수를 여러 셀에서 다시 정의해도 순차 실행 계약에서는 오류가 아니다. 사용자가 툴바에서 reactive 모드로 바꾼 경우에만 일반 브라우저 노트북과 같은 reactive 규칙을 적용한다.

  • 연재 운영 규약: blog/03-dartlab-stories/PIPELINE.md
  • 노트북 편집 화면 좌측 사이드바의 첫 아이콘이 이 연재 목록과 검색이다.
  • 기계 가드: tests/audit/notebookContract.py 가 colab · marimo 예제와 dartlab 이야기 본문 코드펜스를 AST 로 훑어 공개 호출 계약 밖 심볼을 막는다. CI fast notebooks 게이트.
  • 저장된 옛 post:<slug> 노트북도 로드 시 sequential, autoRun: false로 정규화한다. reactive 중복 정의에서 생긴 옛 오류 출력만 제거하고 실제 실행 결과와 사용자가 고친 코드는 보존한다.

브라우저에서 되는 것과 안 되는 것, pyproc capability와 업그레이드 게이트는 runtime.pyodideBrowser가 정본이다.

로컬 marimo 실행

uv run --with marimo marimo edit notebooks/marimo/01_company.py

같은 코드 (notebooks/marimo/{@html String.fromCharCode(123)}name{@html String.fromCharCode(125)}.py) 가 Molab 클라우드에서도 동작한다.

Colab (.ipynb) 과 marimo (.py) 는 1:1 대응 - 같은 분석을 두 노트북 형식으로 유지한다. 한쪽만 갱신 금지.

노트북 작성 규칙

Colab - 마크다운 허용

  • 학습·공유용 독자가 맥락을 빠르게 잡게 마크다운 셀로 섹션 설명.
  • 3~4 코드 셀마다 1 마크다운. 너무 잦으면 흐름 끊고, 너무 드물면 맥락 사라진다.
  • 노트북 최상단 1 장: 제목 + 한 줄 요약 + “이 노트북에서 다루는 것” 2~3 줄.
  • 주요 섹션 전환점에만 1 장씩.

marimo - 코드 + 짧은 주석

  • 실습·실행용. 설명은 코드 옆 짧은 주석으로.
  • 첫 줄 한글 주석으로 셀 의도 표시.
  • 마크다운 셀 자제 - reactive 모델은 코드 흐름이 본체다.

공통 규칙

  • 같은 분석은 같은 코드·같은 순서로 두 노트북에 동기화.
  • 셀 순서에 의존하는 비결정 코드 금지 (marimo 가 reactive 라 의도와 다른 결과 낳는다).
  • 큰 데이터 셋 (Company 3 개 이상 동시 로드) 금지 - OOM 위험.

다음 단계

런타임

실행 환경별 호환성

환경상태비고 / 제한
Local Python supported
  • uv run --with marimo marimo edit notebooks/marimo/{name}.py 로 실행.
Server limited·
MCP limited·
Web AI supported
  • Colab / Molab 둘 다 브라우저에서 즉시.
Pyodide limited
  • marimo wasm 빌드는 별도 - 본 카탈로그 외 항목.

실패 회피

흔한 실패 · 절대 금지

흔한 실패
  • Colab 노트북을 로컬 jupyter 와 혼동
  • marimo 의 reactive 모델을 jupyter 의 셀 순서 모델로 오해
  • 노트북에서 큰 데이터 셋을 메모리 폭주시킴
  • 셀 순서에 의존하는 비결정 코드 작성 (marimo reactive 모델 위반)
  • colab (.ipynb) 과 marimo (.py) 의 1:1 대응을 깨고 한쪽만 갱신
절대 금지
  • 셀 순서에 의존하는 비결정 코드 작성
  • colab/marimo 한쪽만 갱신한 채 변경 완료 처리