|
|
from setuptools import find_packages, setup |
|
|
|
|
|
|
|
|
def get_version() -> str: |
|
|
rel_path = "src/huggingface_hub/__init__.py" |
|
|
with open(rel_path, "r") as fp: |
|
|
for line in fp.read().splitlines(): |
|
|
if line.startswith("__version__"): |
|
|
delim = '"' if '"' in line else "'" |
|
|
return line.split(delim)[1] |
|
|
raise RuntimeError("Unable to find version string.") |
|
|
|
|
|
|
|
|
install_requires = [ |
|
|
"filelock", |
|
|
"fsspec>=2023.5.0", |
|
|
"requests", |
|
|
"tqdm>=4.42.1", |
|
|
"pyyaml>=5.1", |
|
|
"typing-extensions>=3.7.4.3", |
|
|
"packaging>=20.9", |
|
|
] |
|
|
|
|
|
extras = {} |
|
|
|
|
|
extras["cli"] = [ |
|
|
"InquirerPy==0.3.4", |
|
|
|
|
|
] |
|
|
|
|
|
extras["inference"] = [ |
|
|
"aiohttp", |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"pydantic>1.1,<3.0; python_version>'3.8'", |
|
|
"pydantic>1.1,<2.0; python_version=='3.8'", |
|
|
] |
|
|
|
|
|
extras["torch"] = [ |
|
|
"torch", |
|
|
] |
|
|
|
|
|
extras["fastai"] = [ |
|
|
"toml", |
|
|
"fastai>=2.4", |
|
|
"fastcore>=1.3.27", |
|
|
] |
|
|
|
|
|
extras["tensorflow"] = ["tensorflow", "pydot", "graphviz"] |
|
|
|
|
|
|
|
|
extras["testing"] = ( |
|
|
extras["cli"] |
|
|
+ extras["inference"] |
|
|
+ [ |
|
|
"jedi", |
|
|
"Jinja2", |
|
|
"pytest", |
|
|
"pytest-cov", |
|
|
"pytest-env", |
|
|
"pytest-xdist", |
|
|
"pytest-vcr", |
|
|
"pytest-asyncio", |
|
|
"urllib3<2.0", |
|
|
"soundfile", |
|
|
"Pillow", |
|
|
"gradio", |
|
|
"numpy", |
|
|
] |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
extras["typing"] = [ |
|
|
"typing-extensions>=4.8.0", |
|
|
"types-PyYAML", |
|
|
"types-requests", |
|
|
"types-simplejson", |
|
|
"types-toml", |
|
|
"types-tqdm", |
|
|
"types-urllib3", |
|
|
] |
|
|
|
|
|
extras["quality"] = [ |
|
|
"ruff>=0.1.3", |
|
|
"mypy==1.5.1", |
|
|
] |
|
|
|
|
|
extras["all"] = extras["testing"] + extras["quality"] + extras["typing"] |
|
|
|
|
|
extras["dev"] = extras["all"] |
|
|
|
|
|
extras["docs"] = extras["all"] + [ |
|
|
|
|
|
"hf-doc-builder @ git+https://github.com/huggingface/doc-builder@main", |
|
|
"watchdog", |
|
|
] |
|
|
|
|
|
|
|
|
setup( |
|
|
name="huggingface_hub", |
|
|
version=get_version(), |
|
|
author="Hugging Face, Inc.", |
|
|
author_email="julien@huggingface.co", |
|
|
description="Client library to download and publish models, datasets and other repos on the huggingface.co hub", |
|
|
long_description=open("README.md", "r", encoding="utf-8").read(), |
|
|
long_description_content_type="text/markdown", |
|
|
keywords="model-hub machine-learning models natural-language-processing deep-learning pytorch pretrained-models", |
|
|
license="Apache", |
|
|
url="https://github.com/huggingface/huggingface_hub", |
|
|
package_dir={"": "src"}, |
|
|
packages=find_packages("src"), |
|
|
extras_require=extras, |
|
|
entry_points={ |
|
|
"console_scripts": ["huggingface-cli=huggingface_hub.commands.huggingface_cli:main"], |
|
|
"fsspec.specs": "hf=huggingface_hub.HfFileSystem", |
|
|
}, |
|
|
python_requires=">=3.8.0", |
|
|
install_requires=install_requires, |
|
|
classifiers=[ |
|
|
"Intended Audience :: Developers", |
|
|
"Intended Audience :: Education", |
|
|
"Intended Audience :: Science/Research", |
|
|
"License :: OSI Approved :: Apache Software License", |
|
|
"Operating System :: OS Independent", |
|
|
"Programming Language :: Python :: 3", |
|
|
"Programming Language :: Python :: 3 :: Only", |
|
|
"Programming Language :: Python :: 3.8", |
|
|
"Programming Language :: Python :: 3.9", |
|
|
"Programming Language :: Python :: 3.10", |
|
|
"Programming Language :: Python :: 3.11", |
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence", |
|
|
], |
|
|
include_package_data=True, |
|
|
) |
|
|
|