Skip to content

Remove unused proprietary dep pymupdf-layout #725

Description

@cbcoutinho

pymupdf-layout (1.26.6) is declared as a direct runtime dependency in pyproject.toml:44 but is not imported anywhere in nextcloud_mcp_server/ or tests/:

$ grep -rIn "pymupdf_layout\|pymupdf-layout" nextcloud_mcp_server/ tests/
(no matches)

The wheel ships with only a one-line COPYING file:

Commercial license. See artifex.com for details.

That makes it an Artifex proprietary commercial-only package — it does not carry the AGPL-3 / commercial dual-licensing terms that PyMuPDF and pymupdf4llm use. Distributing it as part of our AGPL build is at best legally murky; using it in any commercial / SaaS build requires an explicit Artifex license, which we do not have.

Proposed action

Remove the dependency:

 dependencies = [
     ...
-    "pymupdf-layout>=1.26.6",
     ...
 ]

Then uv lock and run the license-check workflow to confirm the violation clears.

Acceptance

  • pymupdf-layout removed from pyproject.toml and uv.lock.
  • License-check CI green.
  • If the package is needed in the future, replace with a permissively-licensed layout-detection library, or open a separate issue to negotiate an Artifex commercial license first.

Detected by .licenses/policy.toml (added in #724).

Metadata

Metadata

Assignees

No one assigned

    Labels

    licensingDependency licensing / dual-licensing concerns

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions