From 5fc1b81c625c3595c466004fcaf89c6976b8eaa3 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 19 Jul 2026 16:31:37 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20drop=20the=20pymupdf=20extra=20?= =?UTF-8?q?=E2=80=94=20image=20extraction=20detects=20the=20library=20at?= =?UTF-8?q?=20runtime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pageindex/index/utils.py | 2 +- pageindex/parser/pdf.py | 2 +- pyproject.toml | 5 ----- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/pageindex/index/utils.py b/pageindex/index/utils.py index 5539ffd..d5d3830 100644 --- a/pageindex/index/utils.py +++ b/pageindex/index/utils.py @@ -816,7 +816,7 @@ def get_page_tokens(pdf_path, model=None, pdf_parser="PyPDF2"): page_list.append((page_text, token_length)) return page_list elif pdf_parser == "PyMuPDF": - import pymupdf # optional dependency: pip install pageindex[pymupdf] + import pymupdf # optional dependency if isinstance(pdf_path, BytesIO): pdf_stream = pdf_path doc = pymupdf.open(stream=pdf_stream, filetype="pdf") diff --git a/pageindex/parser/pdf.py b/pageindex/parser/pdf.py index 14d00d4..b72eb2d 100644 --- a/pageindex/parser/pdf.py +++ b/pageindex/parser/pdf.py @@ -56,7 +56,7 @@ class PdfParser: if not _warned_no_pymupdf: logging.getLogger(__name__).warning( "PyMuPDF is not installed; skipping image extraction. " - 'Install with: pip install "pageindex[pymupdf]"') + "Install with: pip install pymupdf") _warned_no_pymupdf = True return {} diff --git a/pyproject.toml b/pyproject.toml index 4ecc1ee..a79c297 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,8 +22,6 @@ packages = [{include = "pageindex"}] [tool.poetry.dependencies] python = ">=3.10" litellm = ">=1.83.0" -# AGPL-licensed; optional so the default install stays permissively licensed. -pymupdf = {version = ">=1.26.0", optional = true} PyPDF2 = ">=3.0.0" python-dotenv = ">=1.0.0" pyyaml = ">=6.0" @@ -34,9 +32,6 @@ httpx = {extras = ["socks"], version = ">=0.28.1"} typing-extensions = ">=4.9.0" pydantic = ">=2.5.0,<3.0.0" -[tool.poetry.extras] -pymupdf = ["pymupdf"] - [tool.poetry.group.dev.dependencies] pytest = ">=7.0"