Release 4.16.0 - DataFrame Export & Multi-Entity Support
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
columnsparameter - 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 filingsfiling.all_ciks- Get all CIKs in filingfiling.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 edgartoolsWhat'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