Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
6b9c189
Upload classification smart annotation
woshimajintao Feb 25, 2026
8709b8a
Update viewer.py
woshimajintao Feb 25, 2026
32bb1af
Add inference control
woshimajintao Feb 25, 2026
1203c5d
Update editor.py
woshimajintao Feb 25, 2026
96d3ece
Update release.yml
woshimajintao Feb 25, 2026
33db09a
Update ci.yml
woshimajintao Feb 25, 2026
d3c5e1f
Update ci.yml
woshimajintao Feb 25, 2026
fed3c19
Update requirements.txt
woshimajintao Feb 25, 2026
39b98cc
Update ci.yml
woshimajintao Feb 25, 2026
905967b
Update deploy_docs.yml
woshimajintao Feb 25, 2026
81e0a1e
Update release.yml
woshimajintao Feb 25, 2026
9f06816
Update config.yaml
woshimajintao Feb 25, 2026
74a67ad
Update requirements.txt
woshimajintao Feb 25, 2026
5459df7
Update ci.yml
woshimajintao Feb 25, 2026
a2a3a73
Update release.yml
woshimajintao Feb 25, 2026
c1cad6f
Update requirements.txt
woshimajintao Feb 25, 2026
8c8f99c
Update ci.yml
woshimajintao Feb 25, 2026
5e22aa4
Update release.yml
woshimajintao Feb 25, 2026
dda1317
Update ci.yml
woshimajintao Feb 25, 2026
baf79da
Update inference_manager.py
woshimajintao Feb 25, 2026
2e9b057
Update inference_manager.py
woshimajintao Feb 25, 2026
bf4c1e6
Update requirements.txt
woshimajintao Feb 25, 2026
5376bb5
Update ci.yml
woshimajintao Feb 25, 2026
e5f38a2
Update release.yml
woshimajintao Feb 25, 2026
5d3fd66
Update main.py
woshimajintao Feb 25, 2026
7e05fae
Update inference_manager.py
woshimajintao Feb 25, 2026
cad4bf5
Update inference_manager.py
woshimajintao Mar 2, 2026
d236237
Update editor.py
woshimajintao Mar 2, 2026
72d075a
Update history_manager.py
woshimajintao Mar 2, 2026
8c5b58e
Update app_state.py
woshimajintao Mar 2, 2026
50b864d
Update README.md
woshimajintao Mar 6, 2026
19f99d1
Update viewer.py
woshimajintao Mar 7, 2026
cf823bd
Update welcome_widget.py
woshimajintao Mar 7, 2026
7f0f32e
Update README.md
woshimajintao Mar 8, 2026
69cc106
Update annotation_tool: Integrated Smart Annotation, Batch Processing…
Mar 9, 2026
54219ad
Update ci.yml
woshimajintao Mar 9, 2026
2214936
Update release.yml
woshimajintao Mar 9, 2026
fed88f9
Update release.yml
woshimajintao Mar 9, 2026
eefb3fb
Update requirements.txt
woshimajintao Mar 9, 2026
b3c52d2
Update mkdocs.yml
woshimajintao Mar 10, 2026
b9922d3
Update about.md
woshimajintao Mar 10, 2026
622331b
Update index.md
woshimajintao Mar 10, 2026
d3823f3
Update deploy_docs.yml
woshimajintao Mar 10, 2026
e1840e8
Update deploy_docs.yml
woshimajintao Mar 10, 2026
3b8eb83
Update README.md
woshimajintao Mar 10, 2026
4eeecd9
Update mkdocs.yml
woshimajintao Mar 10, 2026
ac5c136
Delete annotation_tool/temp_workspace/checkpoints/mvit_v2_s directory
woshimajintao Mar 10, 2026
8ee6048
Update editor.py
woshimajintao Mar 10, 2026
22f9386
Update viewer.py
woshimajintao Mar 10, 2026
daf11f1
Update history_manager.py
woshimajintao Mar 10, 2026
c023f71
Update class_navigation_manager.py
woshimajintao Mar 10, 2026
843d7b9
Update class_file_manager.py
woshimajintao Mar 10, 2026
2446216
Update class_annotation_manager.py
woshimajintao Mar 10, 2026
6564477
Update inference_manager.py
woshimajintao Mar 10, 2026
b49a91c
Update README.md
woshimajintao Mar 11, 2026
bc1b7e0
Update viewer.py
woshimajintao Mar 11, 2026
4cfb647
Update index.md
woshimajintao Mar 15, 2026
5d557f4
Upload OSL JSON format file document
woshimajintao Mar 15, 2026
fe5ad97
Update README.md
woshimajintao Mar 15, 2026
4ace55b
Update README.md
woshimajintao Mar 15, 2026
af103a3
Update Classification Train Progress and Localization
Mar 30, 2026
e22b980
Update train_manager.py
woshimajintao Mar 31, 2026
7a8f936
Delete .DS_Store
woshimajintao Mar 31, 2026
b7d3631
Merge branch 'main' into smart-annotation
meryusha Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
43 changes: 29 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
branches:
- main
- dev-jintao
- smart-annotation
workflow_dispatch:

concurrency:
Expand Down Expand Up @@ -43,6 +44,7 @@ jobs:
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements.txt

- name: Cleanup before PyInstaller
Expand All @@ -56,26 +58,30 @@ jobs:
shell: pwsh
run: >
python -m PyInstaller --noconfirm --clean --windowed --onefile
--name "SoccerNetProAnalyzer"
--name "VideoAnnotationTool"
--add-data "style;style"
--add-data "ui;ui"
--add-data "controllers;controllers"
--add-data "image;image"
--add-data "config.yaml;."
--collect-all "soccernetpro"
--collect-all "wandb"
--collect-all "torch_geometric"
"main.py"

- name: Zip Windows binary (manual runs only)
if: github.event_name == 'workflow_dispatch'
shell: pwsh
run: |
Move-Item -Force dist\SoccerNetProAnalyzer.exe dist\SoccerNetProAnalyzer-win.exe
Compress-Archive -Path dist\SoccerNetProAnalyzer-win.exe -DestinationPath dist\SoccerNetProAnalyzer-win.zip -Force
Move-Item -Force dist\VideoAnnotationTool.exe dist\VideoAnnotationTool-win.exe
Compress-Archive -Path dist\VideoAnnotationTool-win.exe -DestinationPath dist\VideoAnnotationTool-win.zip -Force

- name: Upload artifact (manual runs only)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: SoccerNetProAnalyzer-Windows
path: annotation_tool/dist/SoccerNetProAnalyzer-win.zip
name: VideoAnnotationTool-Windows
path: annotation_tool/dist/VideoAnnotationTool-win.zip
retention-days: 3

build-macos:
Expand Down Expand Up @@ -116,25 +122,29 @@ jobs:
shell: bash
run: >
python -m PyInstaller --noconfirm --clean --windowed
--name "SoccerNetProAnalyzer"
--name "VideoAnnotationTool"
--add-data "style:style"
--add-data "ui:ui"
--add-data "controllers:controllers"
--add-data "image:image"
--add-data "config.yaml:."
--collect-all "soccernetpro"
--collect-all "wandb"
--collect-all "torch_geometric"
"main.py"

- name: Zip macOS app (manual runs only)
if: github.event_name == 'workflow_dispatch'
shell: bash
run: |
ditto -c -k --sequesterRsrc --keepParent "dist/SoccerNetProAnalyzer.app" "dist/SoccerNetProAnalyzer-mac.zip"
ditto -c -k --sequesterRsrc --keepParent "dist/VideoAnnotationTool.app" "dist/VideoAnnotationTool-mac.zip"

- name: Upload artifact (manual runs only)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: SoccerNetProAnalyzer-macOS
path: annotation_tool/dist/SoccerNetProAnalyzer-mac.zip
name: VideoAnnotationTool-macOS
path: annotation_tool/dist/VideoAnnotationTool-mac.zip
retention-days: 3

build-linux:
Expand Down Expand Up @@ -168,6 +178,7 @@ jobs:
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements.txt

- name: Cleanup before PyInstaller
Expand All @@ -180,26 +191,30 @@ jobs:
shell: bash
run: >
python -m PyInstaller --noconfirm --clean --windowed --onefile
--name "SoccerNetProAnalyzer"
--name "VideoAnnotationTool"
--add-data "style:style"
--add-data "ui:ui"
--add-data "controllers:controllers"
--add-data "image:image"
--add-data "config.yaml:."
--collect-all "soccernetpro"
--collect-all "wandb"
--collect-all "torch_geometric"
"main.py"

- name: Zip Linux binary (manual runs only)
if: github.event_name == 'workflow_dispatch'
shell: bash
run: |
mv -f dist/SoccerNetProAnalyzer dist/SoccerNetProAnalyzer-linux
mv -f dist/VideoAnnotationTool dist/VideoAnnotationTool-linux
cd dist
zip -r SoccerNetProAnalyzer-linux.zip SoccerNetProAnalyzer-linux
zip -r VideoAnnotationTool-linux.zip VideoAnnotationTool-linux
cd ..

- name: Upload artifact (manual runs only)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: SoccerNetProAnalyzer-Linux
path: annotation_tool/dist/SoccerNetProAnalyzer-linux.zip
name: VideoAnnotationTool-Linux
path: annotation_tool/dist/VideoAnnotationTool-linux.zip
retention-days: 3
2 changes: 1 addition & 1 deletion .github/workflows/deploy_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches:
- main
- dev-jintao
- smart-annotation
workflow_dispatch:


Expand Down
94 changes: 75 additions & 19 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,13 @@ on:
permissions:
contents: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
generate-release-notes:
name: Generate release notes
runs-on: ubuntu-latest
outputs:
changelog: ${{ steps.notes.outputs.changelog }}
Expand All @@ -31,17 +36,19 @@ jobs:
} >> "$GITHUB_OUTPUT"

create-release:
name: Create GitHub Release
needs: generate-release-notes
runs-on: ubuntu-latest
steps:
- name: Create/Update GitHub Release (body only)
- name: Create/Update GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
name: ${{ github.ref_name }}
body: ${{ needs.generate-release-notes.outputs.changelog }}

build-windows:
name: Build on Windows
needs: create-release
runs-on: windows-latest
defaults:
Expand All @@ -54,9 +61,22 @@ jobs:
with:
python-version: "3.11"

- name: Cache pip
uses: actions/cache@v4
with:
path: |
~\AppData\Local\pip\Cache
~\AppData\Local\pip\cache
~\AppData\Roaming\pip\Cache
key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Install requirements
shell: pwsh
run: |
python -m pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements.txt

- name: Cleanup before PyInstaller
Expand All @@ -68,32 +88,37 @@ jobs:

- name: Build exe
shell: pwsh
run: |
python -m PyInstaller --noconfirm --clean --windowed --onefile `
--name "SoccerNetProAnalyzer" `
--add-data "style;style" `
--add-data "ui;ui" `
--add-data "controllers;controllers" `
--add-data "image;image" `
"main.py"
run: >
python -m PyInstaller --noconfirm --clean --windowed --onefile
--name "VideoAnnotationTool"
--add-data "style;style"
--add-data "ui;ui"
--add-data "controllers;controllers"
--add-data "image;image"
--add-data "config.yaml;."
--collect-all "soccernetpro"
--collect-all "wandb"
--collect-all "torch_geometric"
"main.py"

- name: Rename binary
shell: pwsh
run: |
Move-Item -Force dist\SoccerNetProAnalyzer.exe dist\SoccerNetProAnalyzer-win.exe
Move-Item -Force dist\VideoAnnotationTool.exe dist\VideoAnnotationTool-win.exe

- name: Zip Windows binary
shell: pwsh
run: |
Compress-Archive -Path dist\SoccerNetProAnalyzer-win.exe -DestinationPath dist\SoccerNetProAnalyzer-win.zip -Force
Compress-Archive -Path dist\VideoAnnotationTool-win.exe -DestinationPath dist\VideoAnnotationTool-win.zip -Force

- name: Upload Release Asset (Windows)
uses: softprops/action-gh-release@v2
with:
files: annotation_tool/dist/SoccerNetProAnalyzer-win.zip
tag_name: ${{ github.ref_name }}
files: annotation_tool/dist/VideoAnnotationTool-win.zip

build-macos:
name: Build on macOS
needs: create-release
runs-on: macos-latest
defaults:
Expand All @@ -106,7 +131,18 @@ jobs:
with:
python-version: "3.11"

- name: Cache pip
uses: actions/cache@v4
with:
path: |
~/Library/Caches/pip
~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Install requirements
shell: bash
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
Expand All @@ -121,25 +157,30 @@ jobs:
shell: bash
run: >
python -m PyInstaller --noconfirm --clean --windowed
--name "SoccerNetProAnalyzer"
--name "VideoAnnotationTool"
--add-data "style:style"
--add-data "ui:ui"
--add-data "controllers:controllers"
--add-data "image:image"
--add-data "config.yaml:."
--collect-all "soccernetpro"
--collect-all "wandb"
--collect-all "torch_geometric"
"main.py"

- name: Zip macOS app
shell: bash
run: |
ditto -c -k --sequesterRsrc --keepParent "dist/SoccerNetProAnalyzer.app" "dist/SoccerNetProAnalyzer-mac.zip"
ditto -c -k --sequesterRsrc --keepParent "dist/VideoAnnotationTool.app" "dist/VideoAnnotationTool-mac.zip"

- name: Upload Release Asset (macOS)
uses: softprops/action-gh-release@v2
with:
files: annotation_tool/dist/SoccerNetProAnalyzer-mac.zip
tag_name: ${{ github.ref_name }}
files: annotation_tool/dist/VideoAnnotationTool-mac.zip

build-linux:
name: Build on Linux
needs: create-release
runs-on: ubuntu-latest
defaults:
Expand All @@ -158,9 +199,20 @@ jobs:
sudo apt-get update
sudo apt-get install -y libgl1 libglib2.0-0 libxcb-cursor0

- name: Cache pip
uses: actions/cache@v4
with:
path: |
~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('annotation_tool/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-

- name: Install requirements
shell: bash
run: |
python -m pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements.txt

- name: Cleanup before PyInstaller
Expand All @@ -173,27 +225,31 @@ jobs:
shell: bash
run: >
python -m PyInstaller --noconfirm --clean --windowed --onefile
--name "SoccerNetProAnalyzer"
--name "VideoAnnotationTool"
--add-data "style:style"
--add-data "ui:ui"
--add-data "controllers:controllers"
--add-data "image:image"
--add-data "config.yaml:."
--collect-all "soccernetpro"
--collect-all "wandb"
--collect-all "torch_geometric"
"main.py"

- name: Rename binary
shell: bash
run: |
mv -f dist/SoccerNetProAnalyzer dist/SoccerNetProAnalyzer-linux
mv -f dist/VideoAnnotationTool dist/VideoAnnotationTool-linux

- name: Zip Linux binary
shell: bash
run: |
cd dist
zip -r SoccerNetProAnalyzer-linux.zip SoccerNetProAnalyzer-linux
zip -r VideoAnnotationTool-linux.zip VideoAnnotationTool-linux
cd ..

- name: Upload Release Asset (Linux)
uses: softprops/action-gh-release@v2
with:
files: annotation_tool/dist/SoccerNetProAnalyzer-linux.zip
tag_name: ${{ github.ref_name }}
files: annotation_tool/dist/VideoAnnotationTool-linux.zip
Loading
Loading