Initial media depth project backup
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# 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",
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user