Skip to content

Commit 32138fd

Browse files
authored
Merge pull request #5 from allnes/an/fix-ci-install
remove `poetry.lock` to prepare for dependency management changes
2 parents 3ee2048 + 13f581a commit 32138fd

22 files changed

+910
-1715
lines changed

.github/workflows/bench.yml

Lines changed: 50 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,38 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@v4
19-
19+
2020
- name: Set up Python
2121
uses: actions/setup-python@v4
2222
with:
2323
python-version: '3.11'
24-
24+
2525
- name: Cache pip
2626
uses: actions/cache@v3
2727
with:
2828
path: ~/.cache/pip
2929
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
3030
restore-keys: |
3131
${{ runner.os }}-pip-
32-
33-
- name: Install Poetry
34-
run: |
35-
curl -sSL https://install.python-poetry.org | python3 -
36-
echo "$HOME/.local/bin" >> $GITHUB_PATH
37-
32+
3833
- name: Install dependencies
39-
run: poetry install
40-
34+
run: |
35+
pip install --upgrade pip
36+
pip install -r requirements.txt
37+
pip install -e .
38+
4139
- name: Run Black
42-
run: poetry run black --check ovmobilebench tests
43-
40+
run: black --check ovmobilebench tests
41+
4442
- name: Run Ruff
45-
run: poetry run ruff check ovmobilebench tests
46-
43+
run: ruff check ovmobilebench tests
44+
4745
- name: Run MyPy
48-
run: poetry run mypy ovmobilebench
49-
46+
run: mypy ovmobilebench --ignore-missing-imports
47+
5048
- name: Run tests
51-
run: poetry run pytest tests/ -v --cov=ovmobilebench --cov-report=xml
52-
49+
run: pytest tests/ -v --cov=ovmobilebench --cov-report=xml
50+
5351
- name: Upload coverage
5452
uses: codecov/codecov-action@v3
5553
with:
@@ -61,20 +59,20 @@ jobs:
6159
runs-on: ubuntu-latest
6260
steps:
6361
- uses: actions/checkout@v4
64-
62+
6563
- name: Set up Python
6664
uses: actions/setup-python@v4
6765
with:
6866
python-version: '3.11'
69-
70-
- name: Install Poetry
67+
68+
- name: Install build dependencies
7169
run: |
72-
curl -sSL https://install.python-poetry.org | python3 -
73-
echo "$HOME/.local/bin" >> $GITHUB_PATH
74-
70+
pip install --upgrade pip
71+
pip install build setuptools wheel
72+
7573
- name: Build package
76-
run: poetry build
77-
74+
run: python -m build
75+
7876
- name: Upload artifacts
7977
uses: actions/upload-artifact@v4
8078
with:
@@ -87,62 +85,58 @@ jobs:
8785
runs-on: ubuntu-latest
8886
steps:
8987
- uses: actions/checkout@v4
90-
88+
9189
- name: Set up Python
9290
uses: actions/setup-python@v4
9391
with:
9492
python-version: '3.11'
95-
96-
- name: Install Poetry
97-
run: |
98-
curl -sSL https://install.python-poetry.org | python3 -
99-
echo "$HOME/.local/bin" >> $GITHUB_PATH
100-
93+
10194
- name: Install dependencies
102-
run: poetry install
103-
95+
run: |
96+
pip install --upgrade pip
97+
pip install -r requirements.txt
98+
pip install -e .
99+
104100
- name: Validate example config
105101
run: |
106-
poetry run python -c "from ovmobilebench.config.loader import load_experiment; load_experiment('experiments/android_example.yaml')"
107-
102+
python -c "from ovmobilebench.config.loader import load_experiment; load_experiment('experiments/android_example.yaml')"
103+
108104
- name: CLI help test
109105
run: |
110-
poetry run ovmobilebench --help
111-
poetry run ovmobilebench build --help
112-
poetry run ovmobilebench run --help
106+
ovmobilebench --help
107+
ovmobilebench build --help
108+
ovmobilebench run --help
113109
114-
# Optional: Run on self-hosted runner with real device
115-
device-test:
116-
if: github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.message, '[device-test]')
110+
# Optional: Run on a self-hosted runner with a real device
111+
device-test-adb:
112+
if: github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.message, '[device-test-adb]')
117113
needs: build-package
118114
runs-on: self-hosted
119115
steps:
120116
- uses: actions/checkout@v4
121-
117+
122118
- name: Set up Python
123119
uses: actions/setup-python@v4
124120
with:
125121
python-version: '3.11'
126-
127-
- name: Install Poetry
128-
run: |
129-
curl -sSL https://install.python-poetry.org | python3 -
130-
echo "$HOME/.local/bin" >> $GITHUB_PATH
131-
122+
132123
- name: Install dependencies
133-
run: poetry install
134-
124+
run: |
125+
pip install --upgrade pip
126+
pip install -r requirements.txt
127+
pip install -e .
128+
135129
- name: Check ADB devices
136130
run: adb devices
137-
131+
138132
- name: Run minimal benchmark
139133
env:
140134
DEVICE_SERIAL: ${{ github.event.inputs.device_serial || 'emulator-5554' }}
141135
run: |
142-
poetry run ovmobilebench list-devices
136+
ovmobilebench list-devices
143137
# Uncomment when ready:
144-
# poetry run ovmobilebench all -c experiments/android_example.yaml --dry-run
145-
138+
# ovmobilebench all -c experiments/android_example.yaml --dry-run
139+
146140
- name: Upload results
147141
if: always()
148142
uses: actions/upload-artifact@v4

ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ report:
348348
- Ninja 1.11+
349349

350350
### Development
351-
- poetry: Dependency management
351+
- pip: Dependency management
352352
- pytest: Testing framework
353353
- black: Code formatting
354354
- ruff: Linting

CONTRIBUTING.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md).
3232

3333
3. **Set Up Development Environment**
3434
```bash
35-
poetry install
35+
pip install -r requirements.txt
36+
pip install -e .
3637
pre-commit install
3738
```
3839

@@ -44,16 +45,16 @@ Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md).
4445
5. **Run Quality Checks**
4546
```bash
4647
# Format code
47-
poetry run black ovmobilebench tests
48+
black ovmobilebench tests
4849

4950
# Lint
50-
poetry run ruff ovmobilebench tests
51+
ruff ovmobilebench tests
5152

5253
# Type check
53-
poetry run mypy ovmobilebench
54+
mypy ovmobilebench --ignore-missing-imports
5455

5556
# Run tests
56-
poetry run pytest tests/
57+
pytest tests/
5758
```
5859

5960
6. **Commit Changes**

Makefile

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ help:
99
@echo "Usage: make [target] CFG=path/to/config.yaml"
1010
@echo ""
1111
@echo "Targets:"
12-
@echo " install - Install dependencies using poetry"
12+
@echo " install - Install dependencies using pip"
1313
@echo " build - Build OpenVINO runtime"
1414
@echo " package - Create deployment package"
1515
@echo " deploy - Deploy to device(s)"
@@ -22,35 +22,36 @@ help:
2222
@echo " devices - List available devices"
2323

2424
install:
25-
poetry install
25+
pip install -r requirements.txt
26+
pip install -e .
2627

2728
build:
28-
poetry run ovmobilebench build -c $(CFG) --verbose
29+
ovmobilebench build -c $(CFG) --verbose
2930

3031
package:
31-
poetry run ovmobilebench package -c $(CFG) --verbose
32+
ovmobilebench package -c $(CFG) --verbose
3233

3334
deploy:
34-
poetry run ovmobilebench deploy -c $(CFG) --verbose
35+
ovmobilebench deploy -c $(CFG) --verbose
3536

3637
run:
37-
poetry run ovmobilebench run -c $(CFG) --verbose
38+
ovmobilebench run -c $(CFG) --verbose
3839

3940
report:
40-
poetry run ovmobilebench report -c $(CFG) --verbose
41+
ovmobilebench report -c $(CFG) --verbose
4142

4243
all:
43-
poetry run ovmobilebench all -c $(CFG) --verbose
44+
ovmobilebench all -c $(CFG) --verbose
4445

4546
devices:
46-
poetry run ovmobilebench list-devices
47+
ovmobilebench list-devices
4748

4849
lint:
49-
poetry run ruff ovmobilebench
50-
poetry run mypy ovmobilebench
50+
ruff check ovmobilebench
51+
mypy ovmobilebench --ignore-missing-imports
5152

5253
test:
53-
poetry run pytest tests/ -v
54+
pytest tests/ -v
5455

5556
clean:
5657
rm -rf artifacts/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ cat experiments/results/*.csv
5757
- **Python**: 3.11+
5858
- **For Android targets**:
5959
- Android NDK r26d+
60-
- Android SDK Platform Tools (adb)
6160
- CMake 3.24+
6261
- Ninja 1.11+
62+
- Android device with USB debugging enabled
6363
- **For Linux ARM targets**:
6464
- SSH access to device
6565
- Cross-compilation toolchain

docs/api-reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,13 @@ class Device(ABC):
234234

235235
### `ovmobilebench.devices.android`
236236

237-
Android device implementation using ADB.
237+
Android device implementation using Python adbutils library for direct device control.
238238

239239
#### `AndroidDevice`
240240

241241
```python
242242
class AndroidDevice(Device):
243-
"""Android device via ADB"""
243+
"""Android device via adbutils Python library"""
244244

245245
def __init__(self, serial: str, use_root: bool = False):
246246
"""

docs/architecture.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ OVMobileBench is an end-to-end benchmarking pipeline for OpenVINO on mobile devi
2424
│ │ │ │ │ │
2525
┌────▼─────────▼───────▼───────▼───────▼───────▼─────┐
2626
│ Device Abstraction Layer │
27-
(Android/ADB, Linux/SSH, iOS/stub)
27+
│ (Android/adbutils, Linux/SSH, iOS/stub) │
2828
└─────────────────────────────────────────────────────┘
2929
```
3030

@@ -74,7 +74,7 @@ OVMobileBench is an end-to-end benchmarking pipeline for OpenVINO on mobile devi
7474
**Purpose**: Uniform interface for different device types.
7575

7676
**Implementations**:
77-
- `AndroidDevice`: ADB-based Android device control
77+
- `AndroidDevice`: Python adbutils-based Android device control (no external ADB binary needed)
7878
- `LinuxDevice`: SSH-based Linux device control (planned)
7979
- `iOSDevice`: iOS device control (stub)
8080

@@ -181,7 +181,7 @@ Build Artifacts + Models → Tar Archive → Checksum Generation
181181

182182
### 4. Deployment Flow
183183
```
184-
Bundle → ADB/SSH Push → Remote Extraction → Permission Setup
184+
Bundle → Device Push → Remote Extraction → Permission Setup
185185
```
186186

187187
### 5. Execution Flow
@@ -239,7 +239,7 @@ report:
239239
- SSH key-based authentication
240240
241241
### Device Security
242-
- ADB authorization required
242+
- USB debugging authorization required
243243
- Limited command set execution
244244
- Temporary file cleanup
245245
@@ -348,7 +348,7 @@ report:
348348
- Ninja 1.11+
349349

350350
### Development
351-
- poetry: Dependency management
351+
- pip: Dependency management
352352
- pytest: Testing framework
353353
- black: Code formatting
354354
- ruff: Linting

0 commit comments

Comments
 (0)