[project] name = "pdf-card-mcp" version = "0.1.3" description = "Local-first MCP server and CLI for turning PDFs into source-linked HTML readers with notes, highlights, and static publishing." readme = "README.md" requires-python = ">=3.11" license = "MIT" license-files = ["LICENSE", "NOTICE"] authors = [{ name = "PDF Card MCP Contributors" }] keywords = [ "mcp", "model-context-protocol", "pdf", "documents", "html", "reader", "accessibility", "local-first", "annotations", "claude", ] classifiers = [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Text Processing :: Markup :: HTML", ] dependencies = [ "fastmcp>=3,<4", "mcp[cli]>=1.10.0", "pdfplumber>=0.11.0", "pillow>=10.4.0", "pydantic>=2.8.0", "pypdfium2>=5.0.0", ] [project.urls] Homepage = "https://github.com/velyan/pdf-card-mcp" Repository = "https://github.com/velyan/pdf-card-mcp" Issues = "https://github.com/velyan/pdf-card-mcp/issues" Changelog = "https://github.com/velyan/pdf-card-mcp/blob/main/CHANGELOG.md" Documentation = "https://github.com/velyan/pdf-card-mcp#readme" [project.optional-dependencies] dev = [ "build>=1.2.0", "pip-audit>=2.9.0", "pip-licenses>=5.0.0", "pytest>=8.2.0", "pytest-cov>=5.0.0", "reportlab>=4.2.0", "twine>=6.0.0", "uv>=0.11.0", ] docling = [ "docling>=2.0.0", ] ocr = [ "pytesseract>=0.3.13", ] table-ml = [ "gmft>=0.4.0", "transformers>=4.35.2,<5", "torchvision>=0.20.0", ] [project.scripts] pdf-card-mcp = "pdf_card_mcp.cli:main" pdf-card-mcp-server = "pdf_card_mcp.server:main" [build-system] requires = ["hatchling>=1.25.0"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/pdf_card_mcp"] [tool.hatch.build.targets.sdist] exclude = [ "/docs/assets", ] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q" [tool.ruff] line-length = 100 target-version = "py311"