bytedance / bytedance/pdf-parser

fix: declare a dependency set that keeps the published CLI runnable

Open
#18 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
14
Forks
9
Avg merge
43m
Merged PRs (30d)
1

Description

## Problem

A fresh installation of the published `hi-pdf-parser==0.0.5` can no longer start its CLI with the current dependency resolution. The package imports `click` directly, but only declares `typer>=0.12.5`; current Typer 0.27.1 no longer declares Click as a transitive dependency.

This affects current `main` at `c6478aae9ab50a13fc54c0599a0a459396c15b99` and the published release `0.0.5`.

## Reproduction

On Windows with uv 0.11.14 and CPython 3.11:

```console
uvx --from hi-pdf-parser==0.0.5 hi-pdf-parser --help
```

Current resolution installs Typer 0.27.1 and then fails before showing help:

```text
File ".../hi_pdf_parser/__main__.py", line 24, in
import click
ModuleNotFoundError: No module named 'click'
```

The published wheel metadata contains `typer>=0.12.5` but no direct Click requirement.

## Expected behavior

The README's base installation command (`pip install hi-pdf-parser`) should install a dependency set that can start `hi-pdf-parser` without requiring the optional server extra or an undeclared manual package.

## Impact

New users receive a runtime import failure from the package's primary console entry point even though installation succeeds.

## Why there is no PR in this report

The fix requires a dependency compatibility decision: declare Click directly, constrain Typer to a compatible range, or remove the direct Click dependency using supported Typer APIs. This report does not change `pyproject.toml` or `uv.lock` without maintainer approval of that dependency policy.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with pyproject.toml and uv.lock, then inspect the direct click import in hi_pdf_parser/__main__.py and reproduce the README base installation command with uvx. Compare the resolved metadata with the published wheel; done means the base install starts the CLI without the server extra, after the maintainer selects the supported dependency policy.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.