Repository navigation
Releases
v0.2.1
Cleaner text from older plain-text filings, and more section fixes. No API changes. Every change is described in bench/README.md (changes 53 to 61).
Text:
- Running headers and footers that print no page number are dropped where a text filing marks its page breaks. In 380 checked documents, 125 lose about 9,000 header lines and no heading or content line.
- A page number joined to the end of a page's last line is taken off the line.
Sections:
- The last exhibits Item ends at the financial schedules printed after it, when its list gives the schedule with a page.
- An Item printed only as lettered sub-headings ("Item 1. a.", "Item 1. b.") is found.
- A list of statement pages with no heading after the exhibits caption ends the Item.
- An Item heading misprinted as "Exhibit 12." is read as the Item, in annual reports.
Titles (with dates only):
- A title applies only if it was in effect by the original due date of the period, so an amendment is titled like the report it amends.
- A filer's own section under an Item number the form did not have yet gets an empty
title.
All seven label sets now score 1.000, but bench/fresh4 is no longer a blind set, since four of the section rules were written from its misses. Its one blind score stays the 0.2.0 one (F1 0.998, span accuracy 0.983). The rules were checked instead by reading 770 filings from no label set. Splitting is about 4 to 6 percent slower on real filings.
v0.2.0
Section splitting is more accurate on older and unusual filings, and much faster on large ones. Every change is described in bench/README.md, with how many benchmark filings each rule rests on.
On a new set of 34 filings labeled before any scoring (bench/fresh4), this version finds 438 of 440 Item starts (F1 0.998, span accuracy 0.983). On the 30 of them that 0.1.1 can read, span accuracy goes from 0.953 to 0.981.
New:
- 10-KSB and 10-QSB filings are split with their own forms' Items.
extract_sections_dated(Rust) and thefiling_dateandreport_datekeywords ofextract_sections(Python) title each section as the form titled its Item for those dates.Client::filing_sections, thesections,tablesandcrawlcommands and the MCP server pass the filing's dates.- Tables have
columnsandspans, so values line up with their headers.
Breaking changes:
Client::companies()returnsArc<[Company]>instead of&[Company].CompanyProfile.exchangesisVec<Option<String>>, one entry per ticker.FormKindis#[non_exhaustive]and hasTenKsbandTenQsb; amatchon it needs a wildcard arm.Tablehas the new fieldscolumnsandspans, so code that builds one with a struct literal must set them.
v0.1.1
The benchmark documentation link in the crates.io READMEs now opens the guide at the repository root.
v0.1.0
Full Changelog: https://github.com/ciscoriordan/parsec-edgar/commits/v0.1.0