@@ -45,46 +45,61 @@ If you don't want to provide the Socket API Token every time then you can use th
4545
4646This project uses ` pyproject.toml ` as the primary dependency specification.
4747
48- ### Installing dependencies with your preferred tool:
49- - ** pip** :
50- ``` bash
51- pip install -r requirements.txt # Install main dependencies
52- pip install -e " .[dev,test]" # Install development and test dependencies
53- ```
54- - ** poetry** :
55- ``` bash
56- poetry install --all-extras # Installs all dependencies including dev and test
57- ```
58- - ** Rye** :
59- ``` bash
60- rye sync --all-features # Installs all dependencies including dev and test
61- ```
62-
63- ### Changing dependencies:
64-
65- 1 . Update ` pyproject.toml ` with dependency changes
66- 2 . Run ` make sync-deps ` to update ` requirements.txt `
67- - Note: Requires dev dependencies to be installed (` pip-tools ` )
48+ ### Development Workflows
6849
69- ### Running tests :
50+ The following Make targets provide streamlined workflows for common development tasks :
7051
71- #### Run all tests:
52+ #### Initial Setup (Choose One)
53+
54+ 1 . Standard Setup (using PyPI packages):
7255``` bash
73- make test # Requires dev dependencies to be installed (`pytest`)
56+ pyenv local 3.11 # Ensure correct Python version
57+ make first-time-setup
7458```
75- Note: For any of the ` pytest ` commands below, you can substitute ` ptw ` for ` pytest ` to run tests in watch mode.
7659
77- #### Run specific tests :
60+ 2 . Local Development Setup (for SDK development) :
7861``` bash
79- # Run all tests in a file
80- pytest tests/test_socketcli.py
81-
82- # Run all tests in a directory
83- pytest tests/core
62+ pyenv local 3.11 # Ensure correct Python version
63+ SOCKET_SDK_PATH=~ /path/to/socket-sdk-python make first-time-local-setup
8464```
65+ The default SDK path is ` ../socket-sdk-python ` if not specified.
8566
67+ #### Ongoing Development Tasks
8668
87- ### Linting :
69+ After changing dependencies in pyproject.toml :
8870``` bash
89- make lint # Requires dev dependencies to be installed (`ruff`)
71+ make update-deps
72+ ```
73+
74+ After pulling changes:
75+ ``` bash
76+ make sync-all
77+ ```
78+
79+ ### Available Make targets:
80+
81+ High-level workflows:
82+ - ` make first-time-setup ` : Complete setup using PyPI packages
83+ - ` make first-time-local-setup ` : Complete setup for local SDK development
84+ - ` make update-deps ` : Update requirements.txt files and sync dependencies
85+ - ` make sync-all ` : Sync dependencies after pulling changes
86+ - ` make dev-setup ` : Setup for local development (included in first-time-local-setup)
87+
88+ Implementation targets:
89+ - ` make init-tools ` : Creates virtual environment and installs pip-tools
90+ - ` make local-dev ` : Installs dependencies needed for local development
91+ - ` make compile-deps ` : Generates requirements.txt files with locked versions
92+ - ` make setup ` : Creates virtual environment and installs dependencies
93+ - ` make sync-deps ` : Installs exact versions from requirements.txt
94+ - ` make clean ` : Removes virtual environment and cache files
95+ - ` make test ` : Runs pytest suite
96+ - ` make lint ` : Runs ruff for code formatting and linting
97+
98+ ### Environment Variables
99+
100+ - ` SOCKET_SDK_PATH ` : Path to local socket-sdk-python repository (default: ../socket-sdk-python)
101+
102+ ### Running tests:
103+
104+ #### Run all tests:
90105```
0 commit comments