| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 | 
							- import distutils.spawn
 
- import os
 
- import re
 
- import shlex
 
- import subprocess
 
- import sys
 
- from setuptools import find_packages
 
- from setuptools import setup
 
- def get_version():
 
-     filename = "labelme/__init__.py"
 
-     with open(filename) as f:
 
-         match = re.search(
 
-             r"""^__version__ = ['"]([^'"]*)['"]""", f.read(), re.M
 
-         )
 
-     if not match:
 
-         raise RuntimeError("{} doesn't contain __version__".format(filename))
 
-     version = match.groups()[0]
 
-     return version
 
- def get_install_requires():
 
-     install_requires = [
 
-         "imgviz>=0.11",
 
-         "matplotlib<3.3",  # for PyInstaller
 
-         "natsort>=7.1.0",
 
-         "numpy",
 
-         "Pillow>=2.8",
 
-         "PyYAML",
 
-         "qtpy!=1.11.2",
 
-         "termcolor",
 
-     ]
 
-     # Find python binding for qt with priority:
 
-     # PyQt5 -> PySide2
 
-     # and PyQt5 is automatically installed on Python3.
 
-     QT_BINDING = None
 
-     try:
 
-         import PyQt5  # NOQA
 
-         QT_BINDING = "pyqt5"
 
-     except ImportError:
 
-         pass
 
-     if QT_BINDING is None:
 
-         try:
 
-             import PySide2  # NOQA
 
-             QT_BINDING = "pyside2"
 
-         except ImportError:
 
-             pass
 
-     if QT_BINDING is None:
 
-         # PyQt5 can be installed via pip for Python3
 
-         # 5.15.3, 5.15.4 won't work with PyInstaller
 
-         install_requires.append("PyQt5!=5.15.3,!=5.15.4")
 
-         QT_BINDING = "pyqt5"
 
-     del QT_BINDING
 
-     if os.name == "nt":  # Windows
 
-         install_requires.append("colorama")
 
-     return install_requires
 
- def get_long_description():
 
-     with open("README.md") as f:
 
-         long_description = f.read()
 
-     try:
 
-         import github2pypi
 
-         return github2pypi.replace_url(
 
-             slug="wkentaro/labelme", content=long_description
 
-         )
 
-     except Exception:
 
-         return long_description
 
- def main():
 
-     version = get_version()
 
-     if sys.argv[1] == "release":
 
-         if not distutils.spawn.find_executable("twine"):
 
-             print(
 
-                 "Please install twine:\n\n\tpip install twine\n",
 
-                 file=sys.stderr,
 
-             )
 
-             sys.exit(1)
 
-         commands = [
 
-             "git push origin main",
 
-             "git tag v{:s}".format(version),
 
-             "git push origin --tags",
 
-             "python setup.py sdist",
 
-             "twine upload dist/labelme-{:s}.tar.gz".format(version),
 
-         ]
 
-         for cmd in commands:
 
-             print("+ {:s}".format(cmd))
 
-             subprocess.check_call(shlex.split(cmd))
 
-         sys.exit(0)
 
-     setup(
 
-         name="labelme",
 
-         version=version,
 
-         packages=find_packages(exclude=["github2pypi"]),
 
-         description="Image Polygonal Annotation with Python",
 
-         long_description=get_long_description(),
 
-         long_description_content_type="text/markdown",
 
-         author="Kentaro Wada",
 
-         author_email="www.kentaro.wada@gmail.com",
 
-         url="https://github.com/wkentaro/labelme",
 
-         install_requires=get_install_requires(),
 
-         license="GPLv3",
 
-         keywords="Image Annotation, Machine Learning",
 
-         classifiers=[
 
-             "Development Status :: 5 - Production/Stable",
 
-             "Intended Audience :: Developers",
 
-             "Intended Audience :: Science/Research",
 
-             "Natural Language :: English",
 
-             "Operating System :: OS Independent",
 
-             "Programming Language :: Python",
 
-             "Programming Language :: Python :: 3.5",
 
-             "Programming Language :: Python :: 3.6",
 
-             "Programming Language :: Python :: 3.7",
 
-             "Programming Language :: Python :: 3.8",
 
-             "Programming Language :: Python :: 3.9",
 
-             "Programming Language :: Python :: 3 :: Only",
 
-         ],
 
-         package_data={"labelme": ["icons/*", "config/*.yaml"]},
 
-         entry_points={
 
-             "console_scripts": [
 
-                 "labelme=labelme.__main__:main",
 
-                 "labelme_draw_json=labelme.cli.draw_json:main",
 
-                 "labelme_draw_label_png=labelme.cli.draw_label_png:main",
 
-                 "labelme_json_to_dataset=labelme.cli.json_to_dataset:main",
 
-                 "labelme_on_docker=labelme.cli.on_docker:main",
 
-             ],
 
-         },
 
-     )
 
- if __name__ == "__main__":
 
-     main()
 
 
  |