Should the dependencies of marker_gui and marker_server be exposed as optional extras?
The package publishes marker_gui and marker_server as command-line entry points (pyproject.toml:48-52). The GUI entry point directly launches Streamlit (run_streamlit_app.py:6-21). The server imports fastapi, and uvicorn (server.py:13-20, server.py:173-184).
However, streamlit, fastapi, uvicorn, and python-multipart are currently listed only in the repository's dev dependency group (pyproject.toml:54-64). This group is not exposed as an installable package extra, so the README asks users to install the dependencies manually before using the published commands (GUI, server).
Proposed Fix
Add feature-specific extras under [project.optional-dependencies] in pyproject.toml:
[project.optional-dependencies]
full = [
# existing dependencies
]
gui = [
"streamlit>=1.37.1",
"streamlit-ace>=0.1.1",
]
server = [
"fastapi>=0.115.4",
"uvicorn>=0.32.0",
"python-multipart>=0.0.16",
]Users could install them with pip install marker-pdf[gui] or pip install marker-pdf[server].
Source: datalab-to/marker