From 4169dc84bf0072a26f10096a187907d661dcc383 Mon Sep 17 00:00:00 2001 From: Xuehai Pan Date: Tue, 4 Apr 2023 02:03:41 +0800 Subject: [PATCH] [setup] migrate setup script to `pyproject.toml` (#22539) * [setup] migrate setup script to `pyproject.toml` * [setup] cleanup configurations * remove unused imports --- pyproject.toml | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 17 ------------- setup.py | 31 +---------------------- 3 files changed, 69 insertions(+), 47 deletions(-) delete mode 100644 setup.cfg diff --git a/pyproject.toml b/pyproject.toml index dfb41c24d5..ef3be4606e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,68 @@ +# Package ###################################################################### + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "transformers" +description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" +readme = "README.md" +requires-python = ">= 3.7" +authors = [ + { name = "The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/transformers/graphs/contributors)", email = "transformers@huggingface.co" }, +] +license = { text = "Apache 2.0 License" } +keywords = [ + "NLP", + "vision", + "speech", + "deep learning", + "transformer", + "pytorch", + "tensorflow", + "jax", + "BERT", + "GPT-2", + "Wav2Vec2", + "ViT", +] +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", +] +dynamic = ["dependencies", "optional-dependencies", "version"] + +[project.scripts] +transformers-cli = "transformers.commands.transformers_cli:main" + +[project.urls] +Homepage = "https://huggingface.co" +Repository = "https://github.com/huggingface/transformers" +Documentation = "https://huggingface.co/docs/transformers" +"Bug Report" = "https://github.com/huggingface/transformers/issues" + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.packages.find] +where = ["src"] + +[tool.setuptools.package-data] +transformers = ["*.cu", "*.cpp", "*.cuh", "*.h", "*.pyx"] + +# Linter tools ################################################################# + [tool.black] line-length = 119 target-version = ['py37'] @@ -17,3 +82,6 @@ line-length = 119 [tool.ruff.isort] lines-after-imports = 2 known-first-party = ["transformers"] + +[tool.pytest] +doctest_optionflags="NUMBER NORMALIZE_WHITESPACE ELLIPSIS" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 9a56ddc2fc..0000000000 --- a/setup.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[isort] -default_section = FIRSTPARTY -ensure_newline_before_comments = True -force_grid_wrap = 0 -include_trailing_comma = True -known_first_party = transformers -line_length = 119 -lines_after_imports = 2 -multi_line_output = 3 -use_parentheses = True - -[flake8] -ignore = E203, E501, E741, W503, W605 -max-line-length = 119 - -[tool:pytest] -doctest_optionflags=NUMBER NORMALIZE_WHITESPACE ELLIPSIS \ No newline at end of file diff --git a/setup.py b/setup.py index b24a572073..0c42fb3f20 100644 --- a/setup.py +++ b/setup.py @@ -78,7 +78,7 @@ import re import shutil from pathlib import Path -from setuptools import find_packages, setup, Command +from setuptools import setup, Command # Remove stale transformers.egg-info directory to avoid https://github.com/pypa/pip/issues/5466 @@ -425,36 +425,7 @@ install_requires = [ setup( name="transformers", version="4.28.0.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) - author="The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/transformers/graphs/contributors)", - author_email="transformers@huggingface.co", - description="State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow", - long_description=open("README.md", "r", encoding="utf-8").read(), - long_description_content_type="text/markdown", - keywords="NLP vision speech deep learning transformer pytorch tensorflow jax BERT GPT-2 Wav2Vec2 ViT", - license="Apache 2.0 License", - url="https://github.com/huggingface/transformers", - package_dir={"": "src"}, - packages=find_packages("src"), - include_package_data=True, - package_data={"transformers": ["*.cu", "*.cpp", "*.cuh", "*.h", "*.pyx"]}, - zip_safe=False, extras_require=extras, - entry_points={"console_scripts": ["transformers-cli=transformers.commands.transformers_cli:main"]}, - python_requires=">=3.7.0", install_requires=install_requires, - 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", - ], cmdclass={"deps_table_update": DepsTableUpdateCommand}, )