Spaces:
Build error
Build error
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| from pathlib import Path | |
| import re | |
| from typing import List, Tuple | |
| from setuptools import setup, find_packages | |
| NAME = "dinov2" | |
| DESCRIPTION = "PyTorch code and models for the DINOv2 self-supervised learning method." | |
| URL = "https://github.com/facebookresearch/dinov2" | |
| AUTHOR = "FAIR" | |
| REQUIRES_PYTHON = ">=3.9.0" | |
| HERE = Path(__file__).parent | |
| try: | |
| with open(HERE / "README.md", encoding="utf-8") as f: | |
| long_description = "\n" + f.read() | |
| except FileNotFoundError: | |
| long_description = DESCRIPTION | |
| def get_requirements(path: str = HERE / "requirements.txt") -> Tuple[List[str], List[str]]: | |
| requirements = [] | |
| extra_indices = [] | |
| with open(path) as f: | |
| for line in f.readlines(): | |
| line = line.rstrip("\r\n") | |
| if line.startswith("--extra-index-url "): | |
| extra_indices.append(line[18:]) | |
| continue | |
| requirements.append(line) | |
| return requirements, extra_indices | |
| def get_package_version() -> str: | |
| with open(HERE / "dinov2/__init__.py") as f: | |
| result = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", f.read(), re.M) | |
| if result: | |
| return result.group(1) | |
| raise RuntimeError("Can't get package version") | |
| requirements, extra_indices = get_requirements() | |
| version = get_package_version() | |
| dev_requirements, _ = get_requirements(HERE / "requirements-dev.txt") | |
| setup( | |
| name=NAME, | |
| version=version, | |
| description=DESCRIPTION, | |
| long_description=long_description, | |
| long_description_content_type="text/markdown", | |
| author=AUTHOR, | |
| python_requires=REQUIRES_PYTHON, | |
| url=URL, | |
| packages=find_packages(), | |
| package_data={ | |
| "": ["*.yaml"], | |
| }, | |
| install_requires=requirements, | |
| dependency_links=extra_indices, | |
| extras_require={ | |
| "dev": dev_requirements, | |
| }, | |
| install_package_data=True, | |
| license="CC-BY-NC", | |
| license_files=("LICENSE",), | |
| classifiers=[ | |
| # Trove classifiers: https://github.com/pypa/trove-classifiers/blob/main/src/trove_classifiers/__init__.py | |
| "Development Status :: 3 - Alpha", | |
| "Intended Audience :: Developers", | |
| "Intended Audience :: Science/Research", | |
| "License :: Other/Proprietary License", | |
| "Programming Language :: Python :: 3.9", | |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", | |
| "Topic :: Software Development :: Libraries :: Python Modules", | |
| ], | |
| ) | |