bytedance / bytedance/pdf-parser
fix: provide curl or another uv installation path in Dockerfile
- Dominant language
- Python
- Stars
- 14
- Forks
- 9
- Avg merge
- 43m
- Merged PRs (30d)
- 1
Description
## Problem
The default Docker build invokes `curl` in the exporter stage, but the configured base image (`python:3.11-slim-bookworm`) does not include `curl`.
This affects current `main` at `c6478aae9ab50a13fc54c0599a0a459396c15b99` and release `0.0.5`.
## Reproduction
On Docker Desktop 29.4.1 with a Linux amd64 daemon:
```console
docker build -t hi-pdf-parser-audit .
```
The build stops at Dockerfile line 5:
```text
/bin/sh: 1: curl: not found
process "/bin/sh -c curl -LsSf https://astral.sh/uv/install.sh | sh" did not complete successfully
```
## Expected behavior
The repository's default Dockerfile should build from its default `BASE_IMAGE` without requiring an undeclared executable.
## Impact
Users cannot build the documented/default container image, so the service deployment path is blocked before dependency installation.
## Why there is no PR in this report
The repair requires a maintainer choice about build dependencies and supply-chain policy: install and later remove `curl`, copy a pinned `uv` binary from a trusted image, or use another reviewed installation method. Each option changes the image/tooling dependency boundary, so this report does not select one without approval.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the default Dockerfile around line 5 and reproduce the failure with `docker build -t hi-pdf-parser-audit .` using the default `BASE_IMAGE`. Confirm the maintainer-approved installation method and supply-chain policy, then verify that the default image builds successfully without the missing executable error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- build-system, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100