# Ultralytics YOLO 🚀, AGPL-3.0 license

import re
from pathlib import Path

import pkg_resources as pkg
from setuptools import find_packages, setup

# Settings
FILE = Path(__file__).resolve()
PARENT = FILE.parent  # root directory
README = (PARENT / 'README.md').read_text(encoding='utf-8')
REQUIREMENTS = [f'{x.name}{x.specifier}' for x in pkg.parse_requirements((PARENT / 'requirements.txt').read_text())]


# Hereby note to prove that I have been here.
def get_version():
    file = PARENT / 'vehicle/__init__.py'
    return re.search(r'^__version__ = [\'"]([^\'"]*)[\'"]', file.read_text(encoding='utf-8'), re.M)[1]

# setup(
#     name='ultralytics',  # name of pypi package
#     version=get_version(),  # version of pypi package
#     python_requires='>=3.8',
#     license='AGPL-3.0',
#     description=('Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, '
#                  'pose estimation and image classification.'),
#     long_description=README,
#     long_description_content_type='text/markdown',
#     url='https://github.com/ultralytics/ultralytics',
#     project_urls={
#         'Bug Reports': 'https://github.com/ultralytics/ultralytics/issues',
#         'Funding': 'https://ultralytics.com',
#         'Source': 'https://github.com/ultralytics/ultralytics'},
#     author='Ultralytics',
#     author_email='hello@ultralytics.com',
#     packages=find_packages(),  # required
#     include_package_data=True,
#     install_requires=REQUIREMENTS,
#     extras_require={
#         'dev': [
#             'ipython',
#             'check-manifest',
#             'pytest',
#             'pytest-cov',
#             'coverage',
#             'mkdocs-material',
#             'mkdocstrings[python]',
#             'mkdocs-redirects',  # for 301 redirects
#             'mkdocs-ultralytics-plugin>=0.0.25',  # for meta descriptions and images, dates and authors
#         ],
#         'export': [
#             'coremltools>=7.0.b1',
#             'openvino-dev>=2023.0',
#             'tensorflowjs',  # automatically installs tensorflow
#         ], },
#     classifiers=[
#         'Development Status :: 4 - Beta',
#         'Intended Audience :: Developers',
#         'Intended Audience :: Education',
#         'Intended Audience :: Science/Research',
#         'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
#         'Programming Language :: Python :: 3',
#         'Programming Language :: Python :: 3.8',
#         'Programming Language :: Python :: 3.9',
#         'Programming Language :: Python :: 3.10',
#         'Programming Language :: Python :: 3.11',
#         'Topic :: Software Development',
#         'Topic :: Scientific/Engineering',
#         'Topic :: Scientific/Engineering :: Artificial Intelligence',
#         'Topic :: Scientific/Engineering :: Image Recognition',
#         'Operating System :: POSIX :: Linux',
#         'Operating System :: MacOS',
#         'Operating System :: Microsoft :: Windows', ],
#     keywords='machine-learning, deep-learning, vision, ML, DL, AI, YOLO, YOLOv3, YOLOv5, YOLOv8, HUB, Ultralytics',
#     entry_points={'console_scripts': ['yolo = ultralytics.cfg:entrypoint', 'ultralytics = ultralytics.cfg:entrypoint']})

setup(
    name='zipvehicle',  # name of pypi package
    version=get_version(),  # version of pypi package
    python_requires='>=3.7',
    license='AGPL-3.0',
    # description=('Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, '
    #              'pose estimation and image classification.'),
    # long_description=README,
    # long_description_content_type='text/markdown',
    # url='https://github.com/ultralytics/ultralytics',
    # project_urls={
    #     'Bug Reports': 'https://github.com/ultralytics/ultralytics/issues',
    #     'Funding': 'https://ultralytics.com',
    #     'Source': 'https://github.com/ultralytics/ultralytics'},
    # author='Ultralytics',
    # author_email='hello@ultralytics.com',
    # packages=find_packages(),  # required
    packages=find_packages(),
    include_package_data=True,
    install_requires=REQUIREMENTS,
    extras_require={
        'dev': [
            'check-manifest',
            'pytest',
            'pytest-cov',
            'coverage',
            'mkdocs-material',
            'mkdocstrings[python]',
            'mkdocs-redirects',  # for 301 redirects
            'mkdocs-ultralytics-plugin',  # for meta descriptions and images, dates and authors
        ],
        'export': ['coremltools>=6.0', 'openvino-dev>=2022.3', 'tensorflowjs'],  # automatically installs tensorflow
    },
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Intended Audience :: Education',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Programming Language :: Python :: 3.10',
        'Programming Language :: Python :: 3.11',
        'Topic :: Software Development',
        'Topic :: Scientific/Engineering',
        'Topic :: Scientific/Engineering :: Artificial Intelligence',
        'Topic :: Scientific/Engineering :: Image Recognition',
        'Operating System :: POSIX :: Linux',
        'Operating System :: MacOS',
        'Operating System :: Microsoft :: Windows', ],
    # keywords='machine-learning, deep-learning, vision, ML, DL, AI, YOLO, YOLOv3, YOLOv5, YOLOv8, HUB, Ultralytics',
    # entry_points={
    #     'console_scripts': ['yolo = ultralytics.yolo.cfg:entrypoint', 'ultralytics = ultralytics.yolo.cfg:entrypoint']}
    )
