Skip to content

Release 4.16.0 - DataFrame Export & Multi-Entity Support

Choose a tag to compare

@dgunning dgunning released this 01 Oct 00:28
· 2094 commits to main since this release

New Features

EntityFacts DataFrame Export

Direct DataFrame export capability for custom financial analysis and ML workflows.

New Method: EntityFacts.to_dataframe()

  • Export all financial facts to pandas DataFrame
  • Optional metadata inclusion with include_metadata=True
  • Custom column selection with columns parameter
  • Enables custom analysis beyond standard statements

Example:

from edgar import Company
from edgar.enums import PeriodType

company = Company("AAPL")
facts = company.get_facts(period_type=PeriodType.ANNUAL)

# Basic export
df = facts.to_dataframe()

# With metadata
df_full = facts.to_dataframe(include_metadata=True)

# Custom columns
df_slim = facts.to_dataframe(columns=['concept', 'fiscal_year', 'numeric_value'])

# Filter and analyze
revenue = df[df['concept'].str.contains('Revenue')]

Multi-Entity Filing Support

Comprehensive support for filings covering multiple entities (Issue #400).

New Properties:

  • filing.is_multi_entity - Detect multi-entity filings
  • filing.all_ciks - Get all CIKs in filing
  • filing.all_entities - Get all entity details

Visual Enhancements:

  • Entity count badges in filing displays
  • Box-drawing character grouping indicators
  • Entity detail tables in rich display

Example:

from edgar import find

filing = find("0001193125-24-000123")
if filing.is_multi_entity:
    print(f"Filing covers {len(filing.all_ciks)} entities:")
    for entity in filing.all_entities:
        print(f"  - {entity.company_name} (CIK: {entity.cik})")

Bug Fixes

Issue #408: Empty String Period Filtering

Fixed confusing empty columns in older XBRL filings (2016-2018).

Problem: Older filings included periods with only empty strings, creating blank columns in financial statements.

Solution: Enhanced period filtering to detect and remove periods containing only empty string values.

Impact: Cleaner financial statement displays for historical filings.

Enhancements

  • Multi-Entity Visual Grouping: Improved display clarity with visual separators for multi-entity filings
  • Header Access Logging: Informative diagnostic messages for filing access troubleshooting

Compatibility

  • Python: 3.9, 3.10, 3.11, 3.12, 3.13
  • Breaking Changes: None - all changes are backward compatible
  • Dependencies: No new dependencies

Installation

pip install --upgrade edgartools

What's Changed Since 4.15.0

  • feat: add to_dataframe() method to EntityFacts for direct DataFrame export by @dgunning in 45aa927
  • feat: add multi-entity filing support (issue #400) by @dgunning in 68c2e5d
  • feat: add visual multi-entity indicator to Filing display by @dgunning in ca21c1f
  • feat: add informative logging for header access failures by @dgunning in 60e2338
  • Add visual grouping indicators for multi-entity filings in tables by @dgunning in 271c604
  • Fix Issue #408: Filter empty string periods in financial statements by @dgunning in 31482d8

Full Changelog: v4.15.0...v4.16.0


🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com