You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The [tool.uv.build-backend] table (source include/exclude) is silently ignored because the build backend is hatchling, so sdists ship repo internals the config tries to exclude.
httpx and python-multipart are declared as runtime dependencies but are not used by the application.
warning: `mt5api` defines settings for `uv_build` in `tool.uv.build-backend`, but uses `hatchling.build` as build backend instead
The produced mt5api-1.0.0.tar.gz contains tests/ (22 files), .github/ (workflows, dependabot/renovate configs), .agents/, CLAUDE.md, AGENTS.md, uv.lock, and mkdocs.yml — the opposite of the configured intent.
grep -rn "httpx\|multipart" mt5api/ finds no usage in the package; httpx is used only by tests (tests/test_connection.py:8 and transitively by fastapi.testclient), and python-multipart is used nowhere (the API has no Form/File endpoints). Both sit in [project.dependencies] (pyproject.toml:16-17), so every production install on the Windows host pulls them for nothing.
Impact
Published sdists are bloated with development/agent tooling files, and the build config gives a false sense of what ships.
Either switch [build-system] to uv_build so [tool.uv.build-backend] takes effect, or delete that table and express the exclusions with hatchling config (e.g. [tool.hatch.build.targets.sdist] include/exclude).
Move httpx to the dev dependency group; remove python-multipart (re-add only if a form/upload endpoint appears).
Validation
uv build produces no backend-mismatch warning; tar tzf dist/mt5api-*.tar.gz no longer lists tests/, .github/, .agents/.
uv sync (runtime only) followed by uv run python -c "import mt5api.main" still works; uv run pytest passes with httpx available via the dev group.
Problem
Two packaging-metadata defects in
pyproject.toml:[tool.uv.build-backend]table (source include/exclude) is silently ignored because the build backend is hatchling, so sdists ship repo internals the config tries to exclude.httpxandpython-multipartare declared as runtime dependencies but are not used by the application.Evidence
pyproject.toml:53-55setssource-include = ["mt5api/**", "LICENSE"]/source-exclude = ["tests/**"]under[tool.uv.build-backend], but[build-system](pyproject.toml:195-197) useshatchling.build.uv build --sdistwarns explicitly:The produced
mt5api-1.0.0.tar.gzcontainstests/(22 files),.github/(workflows, dependabot/renovate configs),.agents/,CLAUDE.md,AGENTS.md,uv.lock, andmkdocs.yml— the opposite of the configured intent.grep -rn "httpx\|multipart" mt5api/finds no usage in the package;httpxis used only by tests (tests/test_connection.py:8and transitively byfastapi.testclient), andpython-multipartis used nowhere (the API has noForm/Fileendpoints). Both sit in[project.dependencies](pyproject.toml:16-17), so every production install on the Windows host pulls them for nothing.Impact
python-multipartbumps Bump python-multipart from 0.0.22 to 0.0.26 in the uv group across 1 directory #26/Bump python-multipart from 0.0.26 to 0.0.27 in the uv group across 1 directory #28/Bump python-multipart from 0.0.27 to 0.0.31 in the uv group across 1 directory #39/Update dependency python-multipart to v0.0.31 [SECURITY] - autoclosed #40) for packages the server never imports.Suggested fix
[build-system]touv_buildso[tool.uv.build-backend]takes effect, or delete that table and express the exclusions with hatchling config (e.g.[tool.hatch.build.targets.sdist] include/exclude).httpxto thedevdependency group; removepython-multipart(re-add only if a form/upload endpoint appears).Validation
uv buildproduces no backend-mismatch warning;tar tzf dist/mt5api-*.tar.gzno longer liststests/,.github/,.agents/.uv sync(runtime only) followed byuv run python -c "import mt5api.main"still works;uv run pytestpasses withhttpxavailable via the dev group.