Spaces:
Running
Running
| # Lint as: python3 | |
| """ HuggingFace/Evaluate is an open library for evaluation. | |
| Note: | |
| VERSION needs to be formatted following the MAJOR.MINOR.PATCH convention | |
| (we need to follow this convention to be able to retrieve versioned scripts) | |
| To create the package for pypi. | |
| 1. Open a PR and change the version in: | |
| - __init__.py | |
| - setup.py | |
| Then merge the PR once it's approved. | |
| 3. Add a tag "vVERSION" (e.g. v0.4.1) in git to mark the release : "git tag vVERSION -m 'Add tag vVERSION for pypi'" | |
| Push the tag to remote: git push --tags origin main | |
| Then verify that the 'Python release' CI job runs and succeeds. | |
| 4. Fill release notes in the tag in github once everything is looking hunky-dory. | |
| 5. Open a PR to change the version in __init__.py and setup.py to X.X.X+1.dev0 (e.g. VERSION=0.4.1 -> 0.4.2.dev0). | |
| Then merge the PR once it's approved. | |
| """ | |
| import os | |
| from setuptools import find_packages, setup | |
| REQUIRED_PKGS = [ | |
| # We need datasets as a backend | |
| "datasets>=2.0.0", | |
| # We use numpy>=1.17 to have np.random.Generator (Dataset shuffling) | |
| "numpy>=1.17", | |
| # For smart caching dataset processing | |
| "dill", | |
| # For performance gains with apache arrow | |
| "pandas", | |
| # for downloading datasets over HTTPS | |
| "requests>=2.19.0", | |
| # progress bars in download and scripts | |
| "tqdm>=4.62.1", | |
| # for fast hashing | |
| "xxhash", | |
| # for better multiprocessing | |
| "multiprocess", | |
| # to get metadata of optional dependencies such as torch or tensorflow for Python versions that don't have it | |
| "importlib_metadata;python_version<'3.8'", | |
| # to save datasets locally or on any filesystem | |
| # minimum 2021.05.0 to have the AbstractArchiveFileSystem | |
| "fsspec[http]>=2021.05.0", | |
| # To get datasets from the Datasets Hub on huggingface.co | |
| "huggingface-hub>=0.7.0", | |
| # Utilities from PyPA to e.g., compare versions | |
| "packaging", | |
| ] | |
| TEMPLATE_REQUIRE = [ | |
| # to populate metric template | |
| "cookiecutter", | |
| # for the gradio widget | |
| "gradio>=3.0.0" | |
| ] | |
| EVALUATOR_REQUIRE = [ | |
| "transformers", | |
| # for bootstrap computations in Evaluator | |
| "scipy>=1.7.1", | |
| ] | |
| TESTS_REQUIRE = [ | |
| # test dependencies | |
| "absl-py", | |
| "charcut>=1.1.1", # for charcut_mt | |
| "cer>=1.2.0", # for characTER | |
| "nltk", # for NIST and probably others | |
| "pytest", | |
| "pytest-datadir", | |
| "pytest-xdist", | |
| # optional dependencies | |
| "tensorflow>=2.3,!=2.6.0,!=2.6.1, <=2.10", | |
| "torch", | |
| # metrics dependencies | |
| "accelerate", # for frugalscore (calls transformers' Trainer) | |
| "bert_score>=0.3.6", | |
| "rouge_score>=0.1.2", | |
| "sacrebleu", | |
| "sacremoses", | |
| "scipy", | |
| "seqeval", | |
| "scikit-learn", | |
| "jiwer", | |
| "sentencepiece", # for bleurt | |
| "transformers", # for evaluator | |
| "mauve-text", | |
| "trectools", | |
| # to speed up pip backtracking | |
| "toml>=0.10.1", | |
| "requests_file>=1.5.1", | |
| "tldextract>=3.1.0", | |
| "texttable>=1.6.3", | |
| "unidecode>=1.3.4", | |
| "Werkzeug>=1.0.1", | |
| "six~=1.15.0", | |
| ] | |
| QUALITY_REQUIRE = ["black~=22.0", "flake8>=3.8.3", "isort>=5.0.0", "pyyaml>=5.3.1"] | |
| EXTRAS_REQUIRE = { | |
| "tensorflow": ["tensorflow>=2.2.0,!=2.6.0,!=2.6.1"], | |
| "tensorflow_gpu": ["tensorflow-gpu>=2.2.0,!=2.6.0,!=2.6.1"], | |
| "torch": ["torch"], | |
| "dev": TESTS_REQUIRE + QUALITY_REQUIRE, | |
| "tests": TESTS_REQUIRE, | |
| "quality": QUALITY_REQUIRE, | |
| "docs": [ | |
| # Might need to add doc-builder and some specific deps in the future | |
| "s3fs", | |
| ], | |
| "template": TEMPLATE_REQUIRE, | |
| "evaluator": EVALUATOR_REQUIRE | |
| } | |
| setup( | |
| name="evaluate", | |
| version="0.4.2.dev0", # expected format is one of x.y.z.dev0, or x.y.z.rc1 or x.y.z (no to dashes, yes to dots) | |
| description="HuggingFace community-driven open-source library of evaluation", | |
| long_description=open("README.md", encoding="utf-8").read(), | |
| long_description_content_type="text/markdown", | |
| author="HuggingFace Inc.", | |
| author_email="leandro@huggingface.co", | |
| url="https://github.com/huggingface/evaluate", | |
| download_url="https://github.com/huggingface/evaluate/tags", | |
| license="Apache 2.0", | |
| package_dir={"": "src"}, | |
| packages=find_packages("src"), | |
| entry_points={"console_scripts": ["evaluate-cli=evaluate.commands.evaluate_cli:main"]}, | |
| install_requires=REQUIRED_PKGS, | |
| extras_require=EXTRAS_REQUIRE, | |
| python_requires=">=3.7.0", | |
| classifiers=[ | |
| "Development Status :: 5 - Production/Stable", | |
| "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.7", | |
| "Programming Language :: Python :: 3.8", | |
| "Programming Language :: Python :: 3.9", | |
| "Programming Language :: Python :: 3.10", | |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", | |
| ], | |
| keywords="metrics machine learning evaluate evaluation", | |
| zip_safe=False, # Required for mypy to find the py.typed file | |
| ) | |