Skip to content

v1.0.0: pypdfium2 rewrite, dedicated per-issuer parsers, MIT license

Choose a tag to compare

@codereverser codereverser released this 08 Jun 12:21
· 36 commits to main since this release
92e2f31

casparser 1.0.0 is a major release. The PDF backend was rewritten from scratch on pypdfium2, and each of the four supported issuers (CAMS, KFintech, NSDL, CDSL) now has a dedicated parser tuned to its template family.

⚠️ Breaking changes

  • pdfminer.six and PyMuPDF backends removed. read_cas_pdf no longer dispatches between them; the mupdf / fast extras are gone. The --force-pdfminer flag and force_pdfminer= kwarg are now no-ops (the kwarg emits a DeprecationWarning).
  • License is now pure MIT. With PyMuPDF (GPL/AGPL) gone, the bundled GPL/AGPL licenses/ are removed. pypdfium2 is Apache-2.0 / BSD-3 — no copyleft obligation on downstream users.
  • Minimum Python is now 3.11 (3.9 / 3.10 dropped).
  • CASData.investor_info is now Optional[InvestorInfo]. Populated on every supported issuer, but guard for None on unfamiliar templates.
  • Internal casparser.process package removed. Its helpers now live at casparser.parsers._classify (get_parsed_scheme_name, get_transaction_type) and casparser.parsers._isin (isin_search).

Full Changelog: v0.9.1...v1.0.0