Initial commit

This commit is contained in:
kdusek
2025-12-09 12:13:01 +01:00
commit 8e654ed209
13332 changed files with 2695056 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
"""
Constants for entity classification and form types.
This module contains constants used throughout the entity package for
determining entity types and form classifications.
"""
# Performance optimization: use set for O(1) lookups
COMPANY_FORMS = {
# Registration statements
"S-1", "S-3", "S-4", "S-8", "S-11",
# Foreign issuers registration forms
"F-1", "F-3", "F-4", "F-6", "F-7", "F-8", "F-9", "F-10", "F-80",
# Foreign form amendments and effectiveness
"F-6EF", "F-6 POS", "F-3ASR", "F-4MEF", "F-10EF", "F-3D", "F-3MEF",
# Exchange Act registration
"10-12B", "10-12G",
# Periodic reports
"10-K", "10-Q", "10-K/A", "10-Q/A",
"20-F", "40-F", # Foreign issuers
"11-K", # Employee benefit plans
# Current reports
"8-K", "6-K",
# Proxy materials
"DEF 14A", "PRE 14A", "DEFA14A", "DEFM14A",
# Other corporate filings
"424B1", "424B2", "424B3", "424B4", "424B5",
"ARS", "NT 10-K", "NT 10-Q",
"SC 13D", "SC 13G", "SC TO-I", "SC TO-T",
"SD", "PX14A6G",
# Specialized corporate filings
"N-CSR", "N-Q", "N-MFP", "N-CEN",
"X-17A-5", "17-H",
"TA-1", "TA-2",
"ATS-N",
# Corporate disclosures
"EFFECT", "FWP", "425", "CB",
"POS AM", "CORRESP", "UPLOAD"
}
# Fund-specific form types
FUND_FORMS = {
# Investment company registration
"N-1A", "N-2", "N-3", "N-4", "N-5", "N-6",
# Investment company periodic reports
"N-CSR", "N-Q", "N-CEN", "N-MFP",
# Investment adviser forms
"ADV", "ADV-E", "ADV-H", "ADV-NR", "ADV-W",
# Private fund forms
"PF", "CPO-PQR", "CTA-PR",
# Municipal advisor forms
"MA", "MA-I", "MA-NR", "MA-W",
# Investment company shareholder reports
"N-30B-2", "N-30D", "485APOS", "485BPOS",
# Variable insurance products
"N-3/A", "N-4/A", "N-6/A",
# Closed-end funds
"N-2/A", "N-5/A",
# Business development companies
"N-6F", "N-54A", "N-54C",
# Exchange-traded funds
"N-1A/A",
# Portfolio holdings
"NPORT-P", "NPORT-EX", "N-PORT", "N-PORT/A"
}
# Individual/insider forms
INDIVIDUAL_FORMS = {
# Ownership reports
"3", "4", "5", "3/A", "4/A", "5/A",
# Beneficial ownership
"SC 13D", "SC 13G", "SC 13D/A", "SC 13G/A",
# Tender offer schedules
"SC TO-I", "SC TO-C", "SC TO-T",
# Investment adviser representatives
"ADV-E", "DRS"
}
# All known form types for validation
ALL_FORM_TYPES = COMPANY_FORMS | FUND_FORMS | INDIVIDUAL_FORMS