Changelog#
All notable changes to call-report are documented on this page, newest
release first. See the Release Process for how this page fits into
cutting a release.
Unreleased#
code_valueis now a nullableInt64in long format, the code grain, and domain datasets. It wasFloat64. A plain field’scode_valueis null. pandas shows it as<NA>rather thanNaN.convert_long_format_to_wide_format()andconvert_long_format_to_code_grain_format()still accept aFloat64code_valueholding whole numbers.to_domain_dataset()withinclude_totals=Falseno longer raises under polars 2.0 (#120).The minimum supported versions are now narwhals 2.10.1, pandas 2.2.0, and pyarrow 20.0. polars stays at 1.0. Earlier versions do not work with this package (#125).
With pandas 2.x,
to_long_format()returns a nullcode_columnwhen no requested schedule is coded. It returned the text"None".convert_long_format_to_code_grain_format()now raisesReshapeErrorfor such a frame, as documented (#125).The FCA archive now covers 2026Q2. It also holds FCA’s 2026-08-31 regeneration of 2023Q2 through 2026Q1, which amends a few values and leaves some fields empty that were
0. The shipped schedule metadata and institution registry are regenerated to match. The regenerated releases show six institutions’ current addresses in every one of those quarters. The registry keeps the addresses the institutions reported at the time (#130).Every transport now has an
available_periods()method, which returns the periods it can supply.fetch()accepts a range that starts and ends within those periods, andavailable_periods()returns them. So a quarter extracted into a folder, or added to an archive, can be read without a new package release (#119).Breaking: a transport written for 0.1 needs an
available_periods()method to work withFCACallReport. SeeFCATransport(#119).Breaking:
call_report.fca.catalog.LATEST_KNOWN_PERIODandcall_report.fca.catalog.EARLIEST_PERIODare removed.construct_fca_download_url()accepts any quarter from 2000Q1 through the quarter containing today (#119).PackagedArchiveTransportraisesZipArchiveUnpackingErrorfor a zip it cannot unpack, including one with a member whose path would land outside its folder.fetch()records the error inerrors_(#119).New
fca_release_stem()andparse_fca_release_filename()convert between a period and the name of its FCA release zip (#119).New
FCAReleaseCataloglists the FCA release zips a source holds and the URL of each. It reads FCA’s download page, or this project’s GitHub mirror of every release, which also gives each zip’s SHA-256. Newconstruct_fca_mirror_url()builds the mirror URL of a period’s zip. A manifest or page whose text cannot be read as a list of releases raises the newReleaseCatalogError, which is both aDownloadErrorand aValueError(#119).New
default_download_dir()gives the folder downloaded files are kept in. Set theCALL_REPORT_DOWNLOAD_DIRenvironment variable to choose another (#119).
0.1.0 (2026-07-26)#
Initial release.
Package configuration (
call_report.config): choose the dataframe backend a reader returns native frames of (pandas,polars, orpyarrow), and whether frames are returned eager or lazy, viaget_config(),set_config(), andconfig_context().Shared, source-agnostic core vocabulary (
call_report.core): the calendar-quarter reporting-period objectsReportingPeriodandPeriodRange, the cross-sourceQuarter,Source, andFileTypeenums, andBaseCallReport, the abstract, scikit-learn-style interface every source-specific entry point implements.A shared exception hierarchy (
call_report.exceptions).The first regulatory source,
call_report.fca:FCACallReportreads already-extracted Farm Credit Administration Call Report releases from a local directory, with lower-level building blocks (layout parsing, schedule and institution data reading, and pluggable transports) available on their own. Live downloading directly from FCA is not yet supported; this repository ships every quarterly release since 2000 as a packaged archive, usable immediately viaPackagedArchiveTransport.Supports Python 3.11 through 3.14 on Linux, macOS, and Windows.
Live downloading from FCA and the FFIEC, FDIC, and NCUA sources are
planned for later releases – see the project’s CLAUDE.md for the
current roadmap.