1
- .PHONY : setup compile-deps sync-deps clean test lint init-tools local-dev first-time-setup update-deps dev-setup sync-all first-time-local-setup
1
+ .PHONY : setup sync clean test lint update-lock local-dev first-time-setup dev-setup sync-all first-time-local-setup
2
2
3
3
# Environment variable for local SDK path (optional)
4
4
SOCKET_SDK_PATH ?= ../socketdev
@@ -16,44 +16,37 @@ first-time-local-setup:
16
16
$(MAKE ) clean
17
17
$(MAKE ) USE_LOCAL_SDK=true dev-setup
18
18
19
- # Update dependencies after changing pyproject.toml
20
- update-deps : compile-deps sync-deps
19
+ # Update lock file after changing pyproject.toml
20
+ update-lock :
21
+ uv lock
21
22
22
23
# Setup for local development
23
24
dev-setup : clean local-dev setup
24
25
25
26
# Sync all dependencies after pulling changes
26
- sync-all : sync-deps
27
+ sync-all : sync
27
28
28
29
# === Implementation targets ===
29
30
30
- # Creates virtual environment and installs uv
31
- init-tools :
32
- python3 -m venv .venv
33
- . .venv/bin/activate && pip install uv
34
-
35
31
# Installs dependencies needed for local development
36
32
# Currently: socketdev from test PyPI or local path
37
- local-dev : init-tools
33
+ local-dev :
38
34
ifeq ($(USE_LOCAL_SDK ) ,true)
39
- . .venv/bin/activate && uv pip install -e $(SOCKET_SDK_PATH)
35
+ uv add --editable $(SOCKET_SDK_PATH)
40
36
endif
41
37
42
- # Creates/updates requirements.txt files with locked versions based on pyproject.toml
43
- compile-deps : local-dev
44
- . .venv/bin/activate && uv pip compile --output-file=requirements.txt pyproject.toml
45
- . .venv/bin/activate && uv pip compile --extra=dev --output-file=requirements-dev.txt pyproject.toml
46
- . .venv/bin/activate && uv pip compile --extra=test --output-file=requirements-test.txt pyproject.toml
47
-
48
- # Creates virtual environment and installs dependencies from pyproject.toml
49
- setup : compile-deps
50
- . .venv/bin/activate && uv pip install -e " .[dev,test]"
38
+ # Creates virtual environment and installs dependencies from uv.lock
39
+ setup : update-lock
40
+ uv sync --all-extras
41
+ ifeq ($(USE_LOCAL_SDK ) ,true)
42
+ uv add --editable $(SOCKET_SDK_PATH)
43
+ endif
51
44
52
- # Installs exact versions from requirements.txt into your virtual environment
53
- sync-deps :
54
- . .venv/bin/activate && uv pip sync requirements.txt requirements-dev.txt requirements-test.txt
45
+ # Installs exact versions from uv.lock into your virtual environment
46
+ sync :
47
+ uv sync --all-extras
55
48
ifeq ($(USE_LOCAL_SDK ) ,true)
56
- . .venv/bin/activate && uv pip install -e $(SOCKET_SDK_PATH)
49
+ uv add --editable $(SOCKET_SDK_PATH)
57
50
endif
58
51
59
52
# Removes virtual environment and cache files
62
55
find . -type d -name " __pycache__" -exec rm -rf {} +
63
56
64
57
test :
65
- pytest
58
+ uv run pytest
66
59
67
60
lint :
68
- ruff check .
69
- ruff format --check .
61
+ uv run ruff check .
62
+ uv run ruff format --check .
0 commit comments