
종목코드 하나 →
기업의 전체 이야기
AI 가 dartlab 엔진을 직접 호출해 분석한다. 사람도 같은 엔진을 한 줄로 쓴다.
한국 DART + 미국 SEC EDGAR 공시, 미리 정리된 데이터.
panel 로 공시를 수평화하고, 공시 뷰어로 브라우저에서 바로 비교 — 1분 50초
구조화 완료, 바로 사용
2,600개 회사를 한 테이블에서 바로 비교
산업·수익성·재무건전성·가치·공시 변화까지 같은 화면에서 정렬하고, 자동 발굴 신호로 후보군을 먼저 좁힌 뒤 회사별 재무 그래프와 최근 정기공시를 확인한다.
기업의 모든 진실은 이미 공시에 있다
단지 읽기 어려울 뿐. 사업보고서는 200쪽이 넘고, 분기보고서는 쌓여가고, 필요한 데이터는 문서·포맷·연도에 흩어져 묻혀 있다.

# 1. DART 에서 PDF 다운로드
pdf = download_report("005930", "2024")
# 2. PDF 에서 표 추출
tables = parse_pdf_tables(pdf)
# 3. 수동 계정 매핑
mapped = manual_map(tables, my_schema)
# 4. 분기마다 반복...
# 5. 종목마다 반복...
# 6. 포맷 일치를 기도import dartlab
c = dartlab.Company("005930")
c.show("BS") # 표준화된 재무상태표
c.show("ratios") # 47 개 재무비율
c.diff() # 5년치 변화34,249 계정 매핑. 수작업 0.
기업마다 다른 XBRL 계정 ID 로 공시한다. DartLab 은 4 단계 파이프라인으로 정규화해 회사간 비교가 자동으로 동작한다.
revenue 로 — 회사간 비교가 그냥 동작세로로 쌓인 공시를 하나의 수평 맵으로
진짜 제품은 파서 목록이 아니라 지도다.
그 수평 맵을, 브라우저에서 직접
panel 은 제각각인 공시를 항목 × 기간 한 격자로 수평화한다 — 비교의 좌표축이다. 공시 뷰어는 그 격자를 설치도 코드도 없이 브라우저에서 만지게 한다. 셀을 누르면 공시 원문 근거로, 비교 모드를 켜면 여러 회사가 같은 행에 나란히 선다.
전문 금융 자율 작업대 + 분석 엔진 + Skill OS 환류
1 차 데이터 (DART · SEC EDGAR · 향후 EDINET) → 분석 엔진 → 자율 작업대 → 시장 검증 → 사람 환류.
① 사람·외부 LLM (MCP) → ② 입구 두 갈래 → ③ 자율 작업대 + 운용 자원 3 종 (Skill OS · Capability · Tools 11) → ④ story 종합 → ⑤ 분석 엔진 5 → ⑥ 횡단 처리 3 → ⑦ core → ⑧ 외부 1 차 소스 · ⑨ 3 자 진화 루프
하나의 회사, 4 개 네임스페이스
지도는 그대로. 소스 책임만 다르다.
구조 spine
섹션 경계, 서술형 본문, retrieval 블록, 그리고 회사 지도가 공시에 발붙이게 하는 원본 증거 레이어를 관리한다.
공식 숫자
재무상태표·손익계산서·현금흐름표·비율·비교 가능 시계열을 관리한다. 숫자 토픽은 여기 값이 우선.
정형 공시
감사·배당·임직원·임원 등 정기보고서 정형 API 관리. 이 토픽은 docs 가 1차 권위가 아니다.
머지된 Company 레이어
사용자가 기본으로 보는 것: 같은 panel spine 위에 만든 단일 Company 표면. 지금은 Python 워크플로우, 다음은 AI 인터페이스.
종목코드에서 회사 지도까지
파서 목록을 먼저 보지 않는다. Company 보드에서 시작한다.
설치
한 줄 — uv add dartlab. 별도 데이터 준비 불필요.
Company 생성
공개 진입점에서 시작. 없는 데이터는 HuggingFace 에서 자동 다운로드.
panel = 회사
topics 로 catalog 를 보고 panel(topic) 으로 같은 기간 축의 공시·재무 보드를 연다. show · diff · trace 는 그 위의 뷰다.
sections 가 곧 회사 전체
DataFrame 하나. 모든 토픽. 모든 기간. 실제로 받는 게 이렇다.
samsung = Company("005930")
board = samsung.sections
board # 표준 회사 지도
board.shape # (329, 106)
| chapter | topic | blockType | 2024 | 2023 |
|---|---|---|---|---|
| I | companyOverview | text | 1969년 설립… | 1969년 설립… |
| II | businessOverview | text | 반도체 사업… | 반도체 사업… |
| II | businessOverview | table | 매출 (5×3) | 매출 (5×3) |
| III | riskManagement | text | 환율 위험… | 환율 위험… |
| V | auditOpinion | text | 적정 의견 | 적정 의견 |
코드 불필요. 그냥 물어본다.
DartLab 이 데이터를 구조화해 LLM 에 먹인다. 자연어로 질문 — 터미널에서도, Python 에서도.
2 단 아키텍처가 구조화된 회사 데이터를 어떤 LLM 에든 먹인다. 기본 분석은 모든 provider 에서 동작. Tool-calling provider 는 더 깊이 들어간다.
삼성전자 — 실제 출력
Company("005930") 한 줄로 받아보는 결과
| chapter | topic | blockType | 2024 | 2023 | 2022 |
|---|---|---|---|---|---|
| I | companyOverview | text | 1969년 설립… | 1969년 설립… | 1969년 설립… |
| II | businessOverview | text | 반도체·디스플레이… | 반도체·디스플레이… | 반도체·디스플레이… |
| II | businessOverview | table | 매출 비중 (5×3) | 매출 비중 (5×3) | 매출 비중 (5×3) |
| III | riskManagement | text | 환율 위험 노출… | 환율 위험 노출… | — |
| V | auditOpinion | text | 적정 | 적정 | 적정 |
42 개 모듈, 단일 구조
모든 모듈이 같은 sections spine 위. 별도 스키마 0.
서술 구조 · 섹션 경계 · retrieval 블록
분석과 운영은 Skills에서 시작한다
종목 분석, 공시 검토, 신용 위험, 매크로, 차트뿐 아니라 테스트, 릴리즈, 아키텍처, UI 같은 운영 규칙까지 같은 skill resolver에서 확인한다.
목적 검색
분석과 운영 질문을 skill catalog에서 먼저 찾고 절차를 고른다.
원천 연결
엔진 능력은 capability, 운영 규칙은 sourceRef로 연결한다.
검증 게이트
실행 환경, 근거 요구사항, 작업별 검증 기준을 함께 확인한다.
DART + EDGAR — 동일한 인터페이스
한국 DART 와 미국 SEC EDGAR 를 하나의 Company 인터페이스로
c = Company("005930")
c.topics
c.panel("businessOverview")
c.show("businessOverview")
c.show("BS")
c.show("ratios")
c.diff("businessOverview")
c.insights.grades()c = Company("AAPL")
c.panel()
c.show("business")
c.show("BS")
c.show("ratios")
c.diff("10-K::item7Mdna")
c.insights.grades()| Feature | DART | EDGAR |
|---|---|---|
| panel 수평화 | ✓ | ✓ |
| show(topic) | ✓ | ✓ |
| trace(topic) | ✓ | ✓ |
| diff(topic) | ✓ | ✓ |
| BS · IS · CF 정규화 | ✓ | ✓ |
| 재무비율 시계열 | ✓ | ✓ |
| timeseries | ✓ | ✓ |
| report API (28 종) | ✓ | — |
| insights (7 영역 등급) | ✓ | — |
| 섹터 분류 | ✓ | — |
| 시가총액 순위 | ✓ | — |
| AI 기업 분석 | ✓ | ✓ |
| Excel export | ✓ | ✓ |
| Desktop GUI | ✓ | ✓ |
Company("005930") for DART · Company("AAPL") for EDGAR — same interface, same methods
단순하기 때문에 빠르다
Polars + Parquet + 단일 구조 = 불필요한 변환 0
단일 구조. 모든 쿼리가 sections 위에서 실행 — 데이터 변환 불필요.
Polars. Pandas 대비 5~10 배 빠른 DataFrame 연산.
Parquet. 컬럼나 포맷 — 필요한 컬럼만 읽는다.
투명한 안정성 등급
무엇이 안정이고 무엇이 실험인지 명확히
- Company facade
- DART panel / show / trace / diff
- DART panel / finance / report
- search / listing
- BS · IS · CF · ratios · timeseries
- EDGAR Company (sections · finance)
- insights (7 영역 등급)
- rank / sector
- Excel export
- Server API (FastAPI 40+ 엔드포인트)
- MCP 서버 (60 도구)
- AI 분석 (7 provider)
- AI GUI (Desktop)
- 네트워크 스캐너 (신규)
로드맵
- panel 텍스트 구조
- EDGAR panel 정합성
- 네트워크 스캐너
- panel 머지 뷰
- TopicView 구현
- show() 완성
- EDINET 엔진
- AI GUI 개선
- Rust 파이프라인 (panel)
DartLab 이 답하는 질문
모든 질문이 같은 회사 지도에서 시작한다. glue 코드도, 컨텍스트 전환도 없다.
"이 회사의 진짜 신용위험은?"
공시 데이터만으로 재구성한 독립 신용평가 (dCR) — 상환능력 · 자본구조 · 유동성 · 현금흐름 품질 · 공시 리스크. 신평사 등급도, 블랙박스도 아님. 한 줄: c.credit().
"맥락 속의 숫자를 보여줘"
재무제표만 보면 절반의 이야기를 놓친다. DartLab 은 BS/IS/CF 옆에 그 숫자를 설명하는 서술을 같이 둔다 — 같은 회사 · 같은 타임라인 · 같은 객체.
"전 시장을 스크리닝"
전 상장사 2,700 개를 거버넌스 · 인력 추세 · 자본 환원 · 부채 리스크로 스캔. 한 줄: dartlab.governance("all"). 필터링·랭킹·비교.
"연구용 데이터셋 만들기"
수백 개 기업의 정규화된 텍스트 + 재무 데이터. NLP · ML 학습 · 학술 연구 즉시 사용. 클렌징·정렬 불필요 — 이미 끝나 있음.
"실제 증거 기반 AI 분석"
원본 PDF 가 아니라 구조화된 회사 컨텍스트를 LLM 에 먹인다. 7 개 provider 지원. AI 가 hallucinate 하지 않고 실제 공시 위에서 추론.
"한국·미국 동일 도구"
한국 DART 와 미국 EDGAR 가 같은 Company 인터페이스. 한 번 배워 양 시장 적용. 같은 API 로 삼성과 Apple 비교.
설치
설치 직후 바로 분석 시작
별도 데이터 준비 불필요. 종목코드만 넘기면 없는 데이터는 HuggingFace 에서 자동 다운로드.
3줄이면 끝
종목코드 하나면 회사 이름·공시 상태·전 분기 재무제표가 자동으로 딸려온다.
import
dartlab
c = dartlab.Company("005930") # 삼성전자
c.show("IS") # 손익계산서 전 분기
c.show("CF") # 현금흐름표 — 문자열만 바꾸면 끝Colab · Molab · 로컬 마리모 — 같은 코드를 세 경로로 바로 돌려볼 수 있다.
실습 노트북
11개 주제, Colab · Molab · 로컬 마리모 — 같은 코드로 돌려볼 수 있다.
Marimo 노트북은 로컬에서 편집하는 게 가장 빠르다. 아래 명령어를 실행하면 브라우저에 편집기가 자동으로 뜬다. 파일 이름만 바꾸면 다른 노트북도 같은 방식.
Marimo 는 코드만, Colab 은 마크다운 설명 + 코드 — 같은 구성을 두 포맷으로 유지한다.

PDF 가 아니라 기업을 읽는다
종목코드 하나. 모든 공시 구조화. 모든 기간 비교 가능.
PDF 며칠 분량의 작업이 Python 한 줄로 끝난다.