Skip to content

Commit 2e2007d

Browse files
committed
fix: remove dev-latest extra that prevents PyPI upload
PyPI rejects packages with direct URL dependencies (git+https://). The dev-latest extra contained git dependencies for testing with unreleased WAMP packages, which caused the release workflow to fail at the PyPI upload step with "Can't have direct dependency". Changes: - Remove dev-latest extra from pyproject.toml - Remove allow-direct-references from [tool.hatch.metadata] - Remove install-dev-latest recipe from justfile - Remove dev-latest references from analyze-uvlock recipe - Update docs/uvlock.rst to remove dev-latest examples - Regenerate uv.lock without git dependencies For development with unreleased WAMP packages, use the existing install-dev-local recipe which installs from local editable checkouts. Note: This work was completed with AI assistance (Claude Code).
1 parent 0c571f2 commit 2e2007d

File tree

4 files changed

+59
-56
lines changed

4 files changed

+59
-56
lines changed

docs/uvlock.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,15 +150,13 @@ Example output:
150150
uv sync Runtime deps only (153 packages)
151151
uv sync --extra dev Runtime + dev tools (247 packages)
152152
uv sync --extra docs Runtime + docs tools (186 packages)
153-
uv sync --extra dev-latest Runtime + latest from GitHub (153 packages)
154153
uv sync --all-extras All packages (257 packages)
155154
156155
Extra markers in uv.lock (dependency graph entries):
157156
─────────────────────────────────────────────────────────────────────────────
158157
159158
extra == 'dev': 29 entries
160159
extra == 'docs': 12 entries
161-
extra == 'dev-latest': 5 entries
162160
163161
Note: Packages with extra markers are only installed when that extra is
164162
requested. The markers ensure selective installation.

justfile

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -346,22 +346,6 @@ install-dev-all:
346346
just install-dev ${venv}
347347
done
348348

349-
# Install with latest unreleased WAMP packages from GitHub (usage: `just install-dev-latest cpy312` or `just install-dev-latest`)
350-
install-dev-latest venv="": (create venv)
351-
#!/usr/bin/env bash
352-
set -e
353-
VENV_NAME="{{ venv }}"
354-
if [ -z "${VENV_NAME}" ]; then
355-
echo "==> No venv name specified. Auto-detecting from system Python..."
356-
VENV_NAME=$(just --quiet _get-system-venv-name)
357-
echo "==> Defaulting to venv: '${VENV_NAME}'"
358-
fi
359-
VENV_PATH="{{ VENV_DIR }}/${VENV_NAME}"
360-
VENV_PYTHON=$(just --quiet _get-venv-python "${VENV_NAME}")
361-
echo "==> Installing package in editable mode with [dev,dev-latest] extras in ${VENV_NAME}..."
362-
echo "==> This will install WAMP packages from GitHub master (unreleased versions)..."
363-
${VENV_PYTHON} -m pip install -e .[dev,dev-latest]
364-
365349
# Install with locally editable WAMP packages for cross-repo development (usage: `just install-dev-local cpy312` or `just install-dev-local`)
366350
install-dev-local venv="": (create venv)
367351
#!/usr/bin/env bash
@@ -851,7 +835,6 @@ analyze-uvlock:
851835
RUNTIME_COUNT=$(uv export --frozen --no-dev --no-hashes 2>/dev/null | grep -c '==' || echo "0")
852836
DEV_COUNT=$(uv export --frozen --extra dev --no-hashes 2>/dev/null | grep -c '==' || echo "0")
853837
DOCS_COUNT=$(uv export --frozen --extra docs --no-hashes 2>/dev/null | grep -c '==' || echo "0")
854-
DEV_LATEST_COUNT=$(uv export --frozen --extra dev-latest --no-hashes 2>/dev/null | grep -c '==' || echo "0")
855838
ALL_COUNT=$(uv export --frozen --all-extras --no-hashes 2>/dev/null | grep -c '==' || echo "0")
856839

857840
echo "Installation modes (using uv sync):"
@@ -860,21 +843,18 @@ analyze-uvlock:
860843
printf " %-28s %s\n" "uv sync" "Runtime deps only (${RUNTIME_COUNT} packages)"
861844
printf " %-28s %s\n" "uv sync --extra dev" "Runtime + dev tools (${DEV_COUNT} packages)"
862845
printf " %-28s %s\n" "uv sync --extra docs" "Runtime + docs tools (${DOCS_COUNT} packages)"
863-
printf " %-28s %s\n" "uv sync --extra dev-latest" "Runtime + latest from GitHub (${DEV_LATEST_COUNT} packages)"
864846
printf " %-28s %s\n" "uv sync --all-extras" "All packages (${ALL_COUNT} packages)"
865847
echo ""
866848

867849
# Count extra marker entries in lock file
868850
DEV_ENTRIES=$(grep -c "extra == 'dev'" uv.lock 2>/dev/null || echo "0")
869851
DOCS_ENTRIES=$(grep -c "extra == 'docs'" uv.lock 2>/dev/null || echo "0")
870-
DEV_LATEST_ENTRIES=$(grep -c "extra == 'dev-latest'" uv.lock 2>/dev/null || echo "0")
871852

872853
echo "Extra markers in uv.lock (dependency graph entries):"
873854
echo "─────────────────────────────────────────────────────────────────────────────"
874855
echo ""
875856
echo " extra == 'dev': ${DEV_ENTRIES} entries"
876857
echo " extra == 'docs': ${DOCS_ENTRIES} entries"
877-
echo " extra == 'dev-latest': ${DEV_LATEST_ENTRIES} entries"
878858
echo ""
879859
echo "Note: Packages with extra markers are only installed when that extra is"
880860
echo " requested. The markers ensure selective installation."

pyproject.toml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ classifiers = [
4646

4747
dependencies = [
4848
# WAMP ecosystem packages (using currently available PyPI versions)
49-
# NOTE: For development/testing with unreleased versions, use: pip install -e .[dev,dev-latest]
5049
"autobahn[twisted,encryption,compress,serialization,scram]>=25.12.2",
5150
"txaio>=25.12.2",
5251
"zlmdb>=25.12.3",
@@ -186,17 +185,6 @@ dev = [
186185
"pyinstaller>=4.2",
187186
]
188187

189-
# For testing with unreleased WAMP packages from GitHub master branches
190-
# Usage: pip install -e .[dev,dev-latest]
191-
# This installs the latest development versions from GitHub instead of PyPI
192-
dev-latest = [
193-
"txaio @ git+https://github.com/crossbario/txaio.git@master",
194-
"autobahn[twisted,encryption,compress,serialization,scram] @ git+https://github.com/crossbario/autobahn-python.git@master",
195-
"zlmdb @ git+https://github.com/crossbario/zlmdb.git@master",
196-
"cfxdb @ git+https://github.com/crossbario/cfxdb.git@master",
197-
"xbr @ git+https://github.com/wamp-proto/wamp-xbr.git@master",
198-
]
199-
200188
# For testing with locally editable WAMP packages (cross-repo development)
201189
# Usage: First install WAMP packages in editable mode from local checkouts,
202190
# then: pip install -e .[dev,dev-local]
@@ -248,10 +236,6 @@ Forum = "https://crossbar.discourse.group/"
248236
crossbar = "crossbar:run"
249237

250238
# Hatchling build configuration
251-
[tool.hatch.metadata]
252-
# Allow git+https:// dependencies in dev-latest for cross-repo development
253-
allow-direct-references = true
254-
255239
[tool.hatch.build.targets.wheel]
256240
packages = ["src/crossbar"]
257241

0 commit comments

Comments
 (0)