Skip to content

Commit 10a7bba

Browse files
authored
Merge pull request #243 from nyu-mlab/inspector3
IoT Inspector 3
2 parents 6235631 + 15af820 commit 10a7bba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+3263
-174006
lines changed

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Always checkout with LF
2+
*.sh text eol=lf
3+
*.bash text eol=lf
4+
5+
# Always checkout with CRLF
6+
*.bat text eol=crlf

.github/workflows/create_release.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,52 @@ jobs:
2121
increment: major
2222

2323
build:
24-
runs-on: ubuntu-latest
24+
runs-on: ${{ matrix.os }}
2525
needs: [create_release]
26+
strategy:
27+
fail-fast: false
28+
matrix:
29+
os: [ macos-latest, ubuntu-latest, windows-latest ]
30+
2631
steps:
2732
- name: Checkout project sources
2833
uses: actions/checkout@v4
2934

3035
- name: Create wheel file
36+
if: runner.os == 'Linux'
3137
run: |
3238
python3 -m pip install --upgrade pip
3339
python3 -m pip install setuptools wheel build setuptools_scm
3440
PRETEND_VERSION=${{ needs.create_release.outputs.v-version }} python3 -m build --wheel .
3541
3642
- name: Store the IoT Inspector Python wheel
43+
if: runner.os == 'Linux'
3744
uses: actions/upload-artifact@v4
3845
with:
3946
name: iot-inspector
4047
path: dist/*.whl
4148
if-no-files-found: error
4249

50+
- name: Install NSIS
51+
if: runner.os == 'Windows'
52+
shell: pwsh
53+
run: |
54+
choco install nsis --no-progress
55+
56+
- name: Create Windows IoT Inspector launcher
57+
if: runner.os == 'Windows'
58+
shell: pwsh
59+
run: |
60+
.\nsis.ps1
61+
62+
- name: Store the IoT Inspector executable
63+
if: runner.os == 'Windows'
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: iot-exe
67+
path: ./*.exe
68+
if-no-files-found: error
69+
4370
publish-to-pypi:
4471
name: Publish Python 🐍 distribution 📦 to PyPI
4572
if: github.repository == 'nyu-mlab/iot-inspector-client'
@@ -53,7 +80,7 @@ jobs:
5380
contents: write # Required for creating releases
5481

5582
steps:
56-
- name: Download all the wheel file
83+
- name: Download the wheel file
5784
uses: actions/download-artifact@v4
5885
with:
5986
name: iot-inspector
@@ -64,11 +91,18 @@ jobs:
6491
with:
6592
verbose: true
6693

94+
- name: Download all the IoT Inspector executable
95+
uses: actions/download-artifact@v4
96+
with:
97+
name: iot-exe
98+
path: dist/
99+
67100
- name: Upload wheel and debian packages to release
68101
uses: softprops/action-gh-release@v2
69102
env:
70103
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
71104
with:
72105
tag_name: ${{ needs.create_release.outputs.v-version }}
73106
files: |
107+
dist/*.exe
74108
dist/*.whl

.github/workflows/inspector_test.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,21 @@ jobs:
2525
with:
2626
python-version: ${{ matrix.python-version }}
2727

28-
- name: Install dependencies
28+
- name: Install dependencies (Linux/macOS)
29+
if: runner.os != 'Windows'
2930
run: |
3031
python -m pip install --upgrade pip
3132
python -m pip install pytest coverage ruff
3233
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
34+
35+
- name: Install dependencies (Windows)
36+
if: runner.os == 'Windows'
37+
run: |
38+
python -m pip install --upgrade pip
39+
python -m pip install pytest coverage ruff
40+
if (Test-Path requirements.txt) { pip install -r requirements.txt }
41+
shell: pwsh
42+
3343
# https://github.com/astral-sh/ruff
3444
- name: Lint with ruff
3545
run: |

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
*~
22
.*
3-
!.github/
3+
!.gitattributes
4+
!.github
45
user-data*
56
3rd-party-software
67
*.zip
7-
8+
*.db
89

910
# Byte-compiled / optimized / DLL files
1011
__pycache__/
1112
*.py[cod]
1213
*$py.class
14+
*.exe
15+
IoT_Inspector_Installer
1316

1417
# C extensions
1518
*.so

.streamlit/config.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[client]
2+
toolbarMode = "viewer"
3+
4+
[server]
5+
port = 33721
6+
fileWatcherType = "none"
7+
headless = true
8+
enableStaticServing = true
9+
10+
[browser]
11+
gatherUsageStats = false
12+
13+
[theme]
14+
base="light"

IoT-Inspector-Package/3rd-party-software/README.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.
-2.47 KB
Binary file not shown.

IoT-Inspector-Package/README.txt

Lines changed: 0 additions & 7 deletions
This file was deleted.

IoT-Inspector-Package/script/start.py

Lines changed: 0 additions & 158 deletions
This file was deleted.

LICENSE

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
MIT License
2-
31
Copyright (c) 2024 NYU mLab
42

5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
116

12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
7+
http://www.apache.org/licenses/LICENSE-2.0
148

15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
9+
Unless required by applicable law or agreed to in writing, software
10+
distributed under the License is distributed on an "AS IS" BASIS,
11+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
See the License for the specific language governing permissions and
13+
limitations under the License.

0 commit comments

Comments
 (0)