transformers/setup.py

102 lines
3.8 KiB
Python
Raw Normal View History

"""
Simple check list from AllenNLP repo: https://github.com/allenai/allennlp/blob/master/setup.py
To create the package for pypi.
2019-10-10 00:14:03 +08:00
1. Change the version in __init__.py, setup.py as well as docs/source/conf.py.
2. Commit these changes with the message: "Release: VERSION"
3. Add a tag in git to mark the release: "git tag VERSION -m'Adds tag VERSION for pypi' "
Push the tag to git: git push --tags origin master
4. Build both the sources and the wheel. Do not change anything in setup.py between
creating the wheel and the source distribution (obviously).
2019-09-26 19:47:58 +08:00
For the wheel, run: "python setup.py bdist_wheel" in the top level directory.
2019-12-23 01:22:29 +08:00
(this will build a wheel for the python version you use to build it).
For the sources, run: "python setup.py sdist"
2019-09-26 19:47:58 +08:00
You should now have a /dist directory with both .whl and .tar.gz source versions.
5. Check that everything looks correct by uploading the package to the pypi test server:
twine upload dist/* -r pypitest
(pypi suggest using twine as other methods upload files via plaintext.)
Check that you can install it in a virtualenv by running:
pip install -i https://testpypi.python.org/pypi transformers
6. Upload the final version to actual pypi:
twine upload dist/* -r pypi
7. Copy the release notes from RELEASE.md to the tag in github once everything is looking hunky-dory.
"""
2018-11-16 03:56:10 +08:00
from setuptools import find_packages, setup
2019-12-04 13:52:23 +08:00
extras = {}
extras["mecab"] = ["mecab-python3"]
extras["sklearn"] = ["scikit-learn"]
extras["tf"] = ["tensorflow"]
extras["torch"] = ["torch"]
extras["serving"] = ["pydantic", "uvicorn", "fastapi"]
extras["all"] = extras["serving"] + ["tensorflow", "torch"]
extras["testing"] = ["pytest", "pytest-xdist"]
extras["quality"] = ["black", "isort", "flake8"]
extras["docs"] = ["recommonmark", "sphinx", "sphinx-markdown-tables", "sphinx-rtd-theme"]
extras["dev"] = extras["testing"] + extras["quality"] + ["mecab-python3", "scikit-learn", "tensorflow", "torch"]
2019-12-04 13:52:23 +08:00
2018-11-16 03:56:10 +08:00
setup(
name="transformers",
2019-12-21 05:22:20 +08:00
version="2.3.0",
2019-09-26 19:52:24 +08:00
author="Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Google AI Language Team Authors, Open AI team Authors, Facebook AI Authors, Carnegie Mellon University Authors",
2018-11-16 03:56:10 +08:00
author_email="thomas@huggingface.co",
2019-09-26 19:52:24 +08:00
description="State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch",
long_description=open("README.md", "r", encoding="utf-8").read(),
2018-11-16 03:56:10 +08:00
long_description_content_type="text/markdown",
keywords="NLP deep learning transformer pytorch tensorflow BERT GPT GPT-2 google openai CMU",
license="Apache",
url="https://github.com/huggingface/transformers",
2019-12-23 02:14:07 +08:00
package_dir={"": "src"},
packages=find_packages("src"),
install_requires=[
"numpy",
# accessing files from S3 directly
"boto3",
# filesystem locks e.g. to prevent parallel downloads
"filelock",
# for downloading models over HTTPS
"requests",
# progress bars in model download and training scripts
"tqdm",
# for OpenAI GPT
"regex != 2019.12.17",
# for XLNet
"sentencepiece",
# for XLM
"sacremoses",
2019-10-16 20:17:58 +08:00
],
extras_require=extras,
scripts=["transformers-cli"],
2019-12-23 02:14:07 +08:00
python_requires=">=3.5.0",
2018-11-16 03:56:10 +08:00
classifiers=[
2019-12-23 02:14:07 +08:00
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
2019-12-23 02:14:07 +08:00
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
2019-12-23 02:14:07 +08:00
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
2018-11-16 03:56:10 +08:00
],
)