Skip to content

deps(dependabot): update camelot-py requirement from <2.0.0,>=1.0.9 to >=2.0.0,<3.0.0 in the all-dependencies group across 1 directory#9

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/main/all-dependencies-0829800f35
Closed

deps(dependabot): update camelot-py requirement from <2.0.0,>=1.0.9 to >=2.0.0,<3.0.0 in the all-dependencies group across 1 directory#9
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/main/all-dependencies-0829800f35

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 2, 2026

Copy link
Copy Markdown

Updates the requirements on camelot-py to permit the latest version.
Updates camelot-py to 2.0.0

Release notes

Sourced from camelot-py's releases.

v2.0.0

[2.0.0] — 2026-06-04

The 2.0 release rolls up a substantial backend migration, the resulting performance work, an optional neural (Table Transformer) backend for borderless and scanned tables, and a handful of small but user-visible breaking changes. Heads-up if upgrading from 1.0.x — see the migration guide:

Breaking

  • Dropped Python 3.9 (EOL October 2025). Minimum supported is now Python 3.10. (#740)
  • flavor="lattice" default line_scale changed from 40 to 15 to match the long-standing implementation (the CLI and read_pdf docstring used to say 40 but the Lattice parser always defaulted to 15). Tables that relied on the documented-but-unimplemented 40 will need read_pdf(..., line_scale=40) explicitly. (#709)
  • Table.to_excel now defaults to index=False, header=False to match Table.to_csv. Excel exports no longer carry the pandas auto-generated row index / column header by default. Opt back in with table.to_excel(path, index=True, header=True). (#711)
  • TableList constructor materialises its iterable input to a list immediately, so bool() and len() work on TableList(generator()) inputs. A generator passed in will be exhausted at construction time rather than at first access. (#710)
  • PDFHandler.pages is a property (was an attribute). Reads work unchanged; the value is now resolved lazily on first access. No callers in the wild set it, but if you subclassed and overrode it as an attribute, that no longer works. (#732)
  • PDF backend swapped from pypdf + pdfminer.six to playa-pdf. The dependency install set is smaller, encrypted-PDF handling is more accurate, and parser hot paths shed several layers of per-page-temp-PDF dance. Pure import camelot callers should see no API change.

Added

  • Optional neural flavor="ml" backend (Table Transformer / TATR). A neural model supplies the row/column/spanning-cell structure while cell text is filled from the PDF's own text layer — the model never emits cell text, so it cannot hallucinate or alter a value. Aimed at borderless tables, where the heuristic parsers plateau: on the FinTabNet borderless benchmark it roughly doubles TEDS (~0.20 → ~0.37) over network/hybrid. Heavy dependencies are optional and imported lazily — pip install "camelot-py[ml]" — so import camelot and the other flavors never load PyTorch. The box→grid post-processing and image→PDF mapping are pure (torch-free) and unit-tested. (#809)
  • flavor="ml" reads scanned / image-only PDFs via optional OCR. With no text layer (ocr="auto", the default) — or always with ocr=True — cell

... (truncated)

Changelog

Sourced from camelot-py's changelog.

[2.0.0] — 2026-06-04

The 2.0 release rolls up a substantial backend migration, the resulting performance work, an optional neural (Table Transformer) backend for borderless and scanned tables, and a handful of small but user-visible breaking changes. Heads-up if upgrading from 1.0.x — see the migration guide:

Breaking

  • Dropped Python 3.9 (EOL October 2025). Minimum supported is now Python 3.10. (#740)
  • flavor="lattice" default line_scale changed from 40 to 15 to match the long-standing implementation (the CLI and read_pdf docstring used to say 40 but the Lattice parser always defaulted to 15). Tables that relied on the documented-but-unimplemented 40 will need read_pdf(..., line_scale=40) explicitly. (#709)
  • Table.to_excel now defaults to index=False, header=False to match Table.to_csv. Excel exports no longer carry the pandas auto-generated row index / column header by default. Opt back in with table.to_excel(path, index=True, header=True). (#711)
  • TableList constructor materialises its iterable input to a list immediately, so bool() and len() work on TableList(generator()) inputs. A generator passed in will be exhausted at construction time rather than at first access. (#710)
  • PDFHandler.pages is a property (was an attribute). Reads work unchanged; the value is now resolved lazily on first access. No callers in the wild set it, but if you subclassed and overrode it as an attribute, that no longer works. (#732)
  • PDF backend swapped from pypdf + pdfminer.six to playa-pdf. The dependency install set is smaller, encrypted-PDF handling is more accurate, and parser hot paths shed several layers of per-page-temp-PDF dance. Pure import camelot callers should see no API change.

Added

  • Optional neural flavor="ml" backend (Table Transformer / TATR). A neural model supplies the row/column/spanning-cell structure while cell text is filled from the PDF's own text layer — the model never emits cell text, so it cannot hallucinate or alter a value. Aimed at borderless tables, where the heuristic parsers plateau: on the FinTabNet borderless benchmark it roughly doubles TEDS (~0.20 → ~0.37) over network/hybrid. Heavy dependencies are optional and imported lazily — pip install "camelot-py[ml]" — so import camelot and the other flavors never load PyTorch. The box→grid post-processing and image→PDF mapping are pure (torch-free) and unit-tested. (#809)
  • flavor="ml" reads scanned / image-only PDFs via optional OCR. With no text layer (ocr="auto", the default) — or always with ocr=True — cell text comes from OCR of the rendered page instead of the PDF text layer;

... (truncated)

Commits
  • eef30ac chore(release): prepare 2.0.0 (#816)
  • 42f74e3 fix(utils): content-aware text_in_bbox dedup (#288, #625) (#814)
  • 3906822 docs(comparison): verified camelot-vs-tablers head-to-head (ICDAR-2013) (#813)
  • c227afd fix(release): --clobber the GitHub-release asset upload (unblocks PyPI publis...
  • 40497a3 chore(release): prepare 2.0.0rc1 (version, CHANGELOG, migration guide) (#811)
  • 9f71cf4 docs: parser-selection guide + reflect the ml/ocr backend (benchmark, compari...
  • 15b57ed feat(ml): optional flavor='ml' Table Transformer (TATR) backend — borderless ...
  • f28d479 docs: add the missing text-elements plot to the Network section (#577) (#808)
  • 87bf13a fix(hybrid): default lattice half to engine='combined' (#807)
  • b3c2af1 feat(hybrid): render-free vector+network hybrid (engine='vector') (#806)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jul 2, 2026
Updates the requirements on [camelot-py](https://github.com/camelot-dev/camelot) to permit the latest version.

Updates `camelot-py` to 2.0.0
- [Release notes](https://github.com/camelot-dev/camelot/releases)
- [Changelog](https://github.com/camelot-dev/camelot/blob/master/CHANGELOG.md)
- [Commits](camelot-dev/camelot@v1.0.9...v2.0.0)

---
updated-dependencies:
- dependency-name: camelot-py
  dependency-version: 2.0.0
  dependency-type: direct:development
  dependency-group: all-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/main/all-dependencies-0829800f35 branch 2 times, most recently from e8bec96 to 847c486 Compare July 2, 2026 22:34
@dependabot @github

dependabot Bot commented on behalf of github Jul 6, 2026

Copy link
Copy Markdown
Author

Looks like camelot-py is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Jul 6, 2026
@dependabot dependabot Bot deleted the dependabot/pip/main/all-dependencies-0829800f35 branch July 6, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants