Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

FinPanel

Research infrastructure for reproducible point-in-time SEC fundamentals.

FinPanel builds financial research panels from SEC filings and XBRL facts while preserving which evidence supports each result. Choose a historical cutoff, pin the captured evidence, and replay the result later. Unavailable or conflicting facts remain explicit states instead of silently becoming numbers.

The alpha pre-release supports six metrics for ordinary US-GAAP operating companies: revenue, net income, assets, liabilities, cash and cash equivalents, and operating cash flow. It supports reported periods and conservative Q2/Q3/Q4 derivations. Banks, insurers, IFRS normalization, segment aggregation, FX normalization, prices, and returns are outside scope. Historical/original-XBRL evidence is incomplete for some issuers; extension-heavy or dimension-heavy disclosures may remain unresolved.

Alpha.2: this source tree builds package 0.1.0a2, with Git label v0.1.0-alpha.2. Python 3.12 is required. Check the release list and PyPI project for publication availability; source preparation alone does not imply that a release has been published. The existing a1 GitHub pre-release (package 0.1.0a1) remains unchanged. See validation evidence and release notes. This is experimental research software, not a stable production release.

Installation

Once version 0.1.0a2 is available on production PyPI, install that exact version in a clean Python 3.12 environment with python -m pip install finpanel==0.1.0a2. Before publication, use only a verified candidate wheel supplied with its SHA256SUMS.txt. Do not substitute an a1 artifact or rename its wheel. For published a1 users, follow the a1 installation instructions.

The verified-wheel workflow below also works for a2 GitHub release assets when available. Maintainers build fresh artifacts from the exact authorized source; the a2 wheel is named finpanel-0.1.0a2-py3-none-any.whl.

In the artifact folder, print the wheel hash:

# macOS
shasum -a 256 finpanel-0.1.0a2-py3-none-any.whl
# Linux
sha256sum finpanel-0.1.0a2-py3-none-any.whl
# Windows PowerShell
Get-FileHash finpanel-0.1.0a2-py3-none-any.whl -Algorithm SHA256

Manually compare the printed hash with the wheel's row in the supplied checksum file (case-insensitively); stop on a mismatch. Comparison is not automatic.

Create and activate a clean Python 3.12 environment:

# macOS/Linux
python3.12 -m venv .venv
source .venv/bin/activate
# Windows PowerShell
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1

Then install the candidate and verify:

python -m pip install ./finpanel-0.1.0a2-py3-none-any.whl
python -c "import finpanel; print(finpanel.__version__)"
python -m finpanel.cli --help

Expected candidate version: 0.1.0a2. Dependencies may download from PyPI; the FinPanel package comes from the supplied wheel. The example below is offline. If PowerShell activation is unavailable, invoke .\.venv\Scripts\python.exe in place of python without changing execution policy.

For an intentional source clone, see the developer/source workflow.

Quick Start — no SEC credentials

After installation, run this from your own working directory. Choose a fresh output directory each time:

python -m finpanel.example output/quickstart

This uses bundled, hash-verified H&R Block SEC captures. It creates six FY2022 cells, CSV/Parquet/DuckDB exports, provenance sidecars, and a replay receipt. Three cells resolve under the example's cutoff and conservative contracts; three remain unresolved. That is coverage, not an accuracy percentage. No network access or large corpus download is needed. Choose a fresh output directory each time.

from finpanel import panel

rows = panel.read_export("output/quickstart/panel.parquet")
for row in rows:
    print(row["metric"], row["state"], row["value"])

See the researcher guide for a custom panel, historical cutoffs, original XBRL verification, pinned replay, and troubleshooting.

What reproducibility means here

  • A filing-availability proxy limits facts, filings, and calendar anchors before interpretation. Today's fiscal-year-end cannot explain all historical years.
  • first_reported and latest_available choose temporal candidates within exact source identities. Different concepts or incompatible scopes are not merged.
  • Derived quarters retain both cumulative operands. Incompatible revision states produce a conflict rather than plausible arithmetic.
  • CompanyFacts is a captured aggregate feed. Filing-time eligibility does not establish when that aggregate feed first delivered a fact. Snapshot capture time and historical information cutoff are different dimensions.
  • Exact replay requires the original snapshot and matching software/contracts. CSV semantic rows are deterministic; container bytes and performance timing are not cross-platform reproducibility promises.

Validation and release status

  • Alpha.2 package: 0.1.0a2, Git label v0.1.0-alpha.2. Check the release list for publication availability.
  • Existing public GitHub release: a1, package 0.1.0a1, unchanged.
  • Production PyPI: not published. TestPyPI rehearsal is conditional on gates and account setup; it is not a production release.
  • Supported Python: 3.12. A2 software CI passed macOS/Linux/Windows with 814 tests / 0 skipped each on the TestPyPI-tested software candidate. Final release-only documentation/workflow changes additionally require successful CI on the exact final commit before publication.

The audited population contains 100 ordinary US-GAAP operating companies and 24,000 financial cells. 69.61% scalar coverage is not accuracy. All 255 independently audited golden expectations, 2,435,238 invariant checks and 500 future-evidence mutation checks passed, with zero unexpected mismatches within that specified audited population. This is not a universal accuracy or market-wide support claim.

Read the validation evidence, API/support policy, and current release status. The earlier gate and earlier checklist are explicitly historical records; their original Windows failures are preserved, not current release blockers.

Development

python -m pip install -e '.[dev]'
pytest
ruff check .
ruff format --check .
python -m build
python scripts/validate_install.py dist

Routine tests and the clean-install example use frozen evidence. Live SEC acquisition is a separate, explicitly configured operation. Never commit an SEC contact identity, credentials, or the local Tier B corpus.

Detailed references: accounting/API workflows, panels, broad validation, historical/revision audit, resume, changelog, third-party notices, and MIT license.

Metadata

Release files for finpanel 0.1.0a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for finpanel 0.1.0a2
File Size Uploaded Provenance
finpanel-0.1.0a2.tar.gz 10.6 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for finpanel 0.1.0a2
File Interpreter ABI Platform
finpanel-0.1.0a2-py3-none-any.whl Python 3 none any Details

Total release size: 11.1 MB

Release files / finpanel-0.1.0a2.tar.gz

Download URL finpanel-0.1.0a2.tar.gz
Size 10.6 MB
Tags Source
SHA-256 checksum
How to use checksums
044fd223cf508fdc4425056821e7d1af33252601d935f19a4ba7d2ace7e3314e
BLAKE2b-256 checksum
How to use checksums
323b5a3d9cbcb7c7545af0f1edaece20cdfc2ea8bbb2ff37a60225a27d7ba791
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Release files / finpanel-0.1.0a2-py3-none-any.whl

Download URL finpanel-0.1.0a2-py3-none-any.whl
Size 521.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed894478eb55bb7905abfe334a44dd51c2cd551f793a66d290d5e94a7c59d626
BLAKE2b-256 checksum
How to use checksums
cc6a449a43f47ffbcca5f5c82eedefa3b662dd83b8496ae64509f9c70ddffe48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

Security for finpanel 0.1.0a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for finpanel-0.1.0a2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page