Skip to content

Latest commit

 

History

History
87 lines (64 loc) · 2.74 KB

File metadata and controls

87 lines (64 loc) · 2.74 KB

EdgarTools

Python library for SEC Edgar filings analysis.

Philosophy

  • Simple API, complex data: Hide SEC complexity behind intuitive Python objects
  • Progressive disclosure: Basic usage is easy; advanced features available when needed
  • Read before write: Understand existing patterns before modifying code

Quick Navigation

Need Location Key Classes
Filing access edgar/_filings.py Filing, Filings
Company data edgar/entity/core.py Company, Entity
XBRL parsing edgar/xbrl/xbrl.py XBRL
Statements edgar/xbrl/statements.py Statement
Documents edgar/documents/ Document, HTMLParser
Reports (10-K/Q/8-K) edgar/company_reports.py TenK, TenQ, EightK
Reference data edgar/reference/ Tickers, forms

Entry Points

from edgar import Filing, Filings, Company, find, obj
  • Company("AAPL") - Get company by ticker or CIK
  • find(form="10-K", ticker="AAPL") - Search filings
  • filing.xbrl() - Parse XBRL financials
  • filing.obj() - Get typed report object (TenK, TenQ, etc.)

Data Flow

Filing → filing.obj() → TenK/TenQ/EightK
Filing → filing.xbrl() → XBRL → statements
Company → company.get_facts() → EntityFacts → Statement
Filing → filing.document() → Document → extractors

Large Files (>30KB)

When modifying these, read in chunks:

  • _filings.py (72KB), xbrl/rendering.py (72KB), xbrl/xbrl.py (66KB)
  • entity/entity_facts.py (63KB), xbrl/facts.py (55KB), xbrl/statements.py (46KB)

Issue Tracking (Beads)

We use bd (beads) for issue tracking. Full docs: docs/beads-workflow.md

bd list --status open              # Ready/open issues
bd list --status in_progress       # Currently active
bd list --status open -p 0         # Critical priority (0=critical, 4=backlog)
bd list -t bug                     # Filter by type (bug/feature/task)
bd show ISSUE_ID                   # View details
bd update ISSUE_ID --status in_progress  # Change status
bd create --title "..." --type bug --priority P1  # Create issue

Statuses: open, in_progress, blocked, closed

Development

Task Reference
Testing docs/testing-guide.md
API examples edgar/ai/skills/core/quickstart-by-task.md
Data objects edgar/ai/skills/core/data-objects.md
Workflows edgar/ai/skills/core/workflows.md

Test Commands

hatch run test-fast          # Fast tests (no network)
hatch run test-network       # Network tests
hatch run test-regression    # Regression tests
hatch run cov                # With coverage

Only parallelize fast tests to avoid SEC rate limits.

Version

Check edgar/__about__.py