pax_global_header 0000666 0000000 0000000 00000000064 13531566667 0014534 g ustar 00root root 0000000 0000000 52 comment=290ef952e69df4efe8292134f6458cf864f2543f
labelme-3.16.7/ 0000775 0000000 0000000 00000000000 13531566667 0013233 5 ustar 00root root 0000000 0000000 labelme-3.16.7/.github/ 0000775 0000000 0000000 00000000000 13531566667 0014573 5 ustar 00root root 0000000 0000000 labelme-3.16.7/.github/workflows/ 0000775 0000000 0000000 00000000000 13531566667 0016630 5 ustar 00root root 0000000 0000000 labelme-3.16.7/.github/workflows/main.yml 0000664 0000000 0000000 00000011564 13531566667 0020306 0 ustar 00root root 0000000 0000000 name: CI
on: [push]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macOS-latest, ubuntu-latest]
PYTEST_QT_API: [pyqt5, pyqt4v2, pyside2]
PYTHON_VERSION: ['2.7', '3.6']
exclude:
- os: macOS-latest
PYTEST_QT_API: pyqt4v2
- os: macOS-latest
PYTEST_QT_API: pyside2
- PYTHON_VERSION: '3.6'
PYTEST_QT_API: pyqt4v2
steps:
- uses: actions/checkout@v1
- name: Update submodules
run: |
git submodule update --init --recursive
- name: Install system dependencies
run: |
if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
sudo apt-get install -y coreutils
sudo apt-get install -y xvfb herbstluftwm
else
brew install coreutils
brew cask install xquartz
fi
- name: Set up Miniconda
run: |
if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
curl -L -o miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
else
curl -L -o miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
fi
bash miniconda.sh -b -p $HOME/miniconda
rm -f miniconda.sh
export PATH="$HOME/miniconda/bin:$PATH"
conda config --set always_yes yes --set changeps1 no
conda update -q conda
conda info -a
- name: Set up Python
env:
PYTHON_VERSION: ${{ matrix.PYTHON_VERSION }}
run: |
export PATH="$HOME/miniconda/bin:$PATH"
conda install -y python=$PYTHON_VERSION
which python
python --version
pip --version
- name: Install dependencies
run: |
export PATH="$HOME/miniconda/bin:$PATH"
if [ "${{ matrix.PYTEST_QT_API }}" = "pyside2" ]; then
if [ "${{ matrix.PYTHON_VERSION }}" = "2.7" ]; then
conda install -y 'pyside2!=5.12.4' -c conda-forge
else
conda install -y pyside2 -c conda-forge
fi
elif [ "${{ matrix.PYTEST_QT_API }}" = "pyqt4v2" ]; then
conda install -y pyqt=4 -c conda-forge
else # pyqt5
conda install -y pyqt=5
fi
conda install -y help2man
pip install flake8 pytest pytest-qt
- name: Install main
run: |
export PATH="$HOME/miniconda/bin:$PATH"
pip install .
- name: Lint with flake8
run: |
export PATH="$HOME/miniconda/bin:$PATH"
flake8 .
- name: Test with pytest
env:
PYTEST_QT_API: ${{ matrix.PYTEST_QT_API }}
run: |
# open virtual display
if [ "${{ matrix.os }}" = "ubuntu-latest" ]; then
export DISPLAY=:99.0
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1920x1200x24 -ac +extension GLX +render -noreset
(herbstluftwm )&
else
(sudo Xvfb :99 -ac -screen 0 1024x768x8 )&
fi
# run test
export PATH="$HOME/miniconda/bin:$PATH"
MPLBACKEND='agg' pytest tests -m 'not gpu'
- name: Run examples
env:
MPLBACKEND: agg
run: |
export PATH="$HOME/miniconda/bin:$PATH"
labelme --help
labelme --version
(cd examples/primitives && labelme_json_to_dataset primitives.json && rm -rf primitives_json)
(cd examples/tutorial && rm -rf apc2016_obj3_json && labelme_json_to_dataset apc2016_obj3.json && python load_label_png.py && git checkout -- .)
(cd examples/semantic_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)
(cd examples/instance_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)
(cd examples/video_annotation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)
pip install lxml # for bbox_detection/labelme2voc.py
(cd examples/bbox_detection && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .)
pip install cython && pip install pycocotools # for instance_segmentation/labelme2coco.py
(cd examples/instance_segmentation && rm -rf data_dataset_coco && ./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt && git checkout -- .)
- name: Run pyinstaller
run: |
if [ "${{ matrix.PYTEST_QT_API }}" = "pyqt5" -a "${{ matrix.PYTHON_VERSION }}" = "3.6" ]; then
export PATH="$HOME/miniconda/bin:$PATH"
# Build the standalone executable
pip install 'pyinstaller!=3.4' # 3.4 raises error
pyinstaller labelme.spec
dist/labelme --version
fi
labelme-3.16.7/.gitignore 0000664 0000000 0000000 00000000114 13531566667 0015217 0 ustar 00root root 0000000 0000000 /.cache/
/.pytest_cache/
/build/
/dist/
/*.egg-info/
*.py[cdo]
.DS_Store
labelme-3.16.7/.gitmodules 0000664 0000000 0000000 00000000141 13531566667 0015404 0 ustar 00root root 0000000 0000000 [submodule "github2pypi"]
path = github2pypi
url = https://github.com/wkentaro/github2pypi.git
labelme-3.16.7/LICENSE 0000664 0000000 0000000 00000001264 13531566667 0014243 0 ustar 00root root 0000000 0000000 Copyright (C) 2016-2018 Kentaro Wada.
Copyright (C) 2011 Michael Pitidis, Hussein Abdulwahid.
Labelme is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Labelme is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Labelme. If not, see