"git@developer.sourcefind.cn:gaoqiong/flash-attention.git" did not exist on "da11d1b8535c489bb97fd16a253f38217b7d6bd5"
setup.py 3.77 KB
Newer Older
1
2
3
4
5
"""
Simple check list from AllenNLP repo: https://github.com/allenai/allennlp/blob/master/setup.py

To create the package for pypi.

LysandreJik's avatar
LysandreJik committed
6
1. Change the version in __init__.py, setup.py as well as docs/source/conf.py.
7
8
9
10
11
12
13
14
15

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).

thomwolf's avatar
thomwolf committed
16
   For the wheel, run: "python setup.py bdist_wheel" in the top level directory.
17
   (this will build a wheel for the python version you use to build it).
18
19

   For the sources, run: "python setup.py sdist"
thomwolf's avatar
thomwolf committed
20
   You should now have a /dist directory with both .whl and .tar.gz source versions.
21
22
23
24
25
26
27

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:
28
   pip install -i https://testpypi.python.org/pypi transformers
29
30
31
32
33
34
35

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.

"""
Aymeric Augustin's avatar
Aymeric Augustin committed
36

thomwolf's avatar
thomwolf committed
37
38
from setuptools import find_packages, setup

39

40
41
42
43
44
45
46
47
48
49
50
51
52
53
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"]
54

thomwolf's avatar
thomwolf committed
55
setup(
56
    name="transformers",
Lysandre's avatar
Lysandre committed
57
    version="2.3.0",
thomwolf's avatar
thomwolf committed
58
    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",
thomwolf's avatar
thomwolf committed
59
    author_email="thomas@huggingface.co",
thomwolf's avatar
thomwolf committed
60
    description="State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch",
61
    long_description=open("README.md", "r", encoding="utf-8").read(),
thomwolf's avatar
thomwolf committed
62
    long_description_content_type="text/markdown",
63
64
    keywords="NLP deep learning transformer pytorch tensorflow BERT GPT GPT-2 google openai CMU",
    license="Apache",
65
    url="https://github.com/huggingface/transformers",
Aymeric Augustin's avatar
Aymeric Augustin committed
66
    package_dir={"": "src"},
67
    packages=find_packages("src"),
68
69
    install_requires=[
        "numpy",
Aymeric Augustin's avatar
Aymeric Augustin committed
70
        # accessing files from S3 directly
71
        "boto3",
Aymeric Augustin's avatar
Aymeric Augustin committed
72
        # filesystem locks e.g. to prevent parallel downloads
73
        "filelock",
Aymeric Augustin's avatar
Aymeric Augustin committed
74
        # for downloading models over HTTPS
75
        "requests",
Aymeric Augustin's avatar
Aymeric Augustin committed
76
        # progress bars in model download and training scripts
77
        "tqdm",
Aymeric Augustin's avatar
Aymeric Augustin committed
78
        # for OpenAI GPT
79
        "regex != 2019.12.17",
Aymeric Augustin's avatar
Aymeric Augustin committed
80
        # for XLNet
81
        "sentencepiece",
Aymeric Augustin's avatar
Aymeric Augustin committed
82
        # for XLM
83
        "sacremoses",
thomwolf's avatar
thomwolf committed
84
    ],
85
86
    extras_require=extras,
    scripts=["transformers-cli"],
Aymeric Augustin's avatar
Aymeric Augustin committed
87
    python_requires=">=3.5.0",
thomwolf's avatar
thomwolf committed
88
    classifiers=[
Aymeric Augustin's avatar
Aymeric Augustin committed
89
90
91
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Intended Audience :: Education",
92
93
        "Intended Audience :: Science/Research",
        "License :: OSI Approved :: Apache Software License",
Aymeric Augustin's avatar
Aymeric Augustin committed
94
        "Operating System :: OS Independent",
95
        "Programming Language :: Python :: 3",
Aymeric Augustin's avatar
Aymeric Augustin committed
96
97
98
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
99
        "Topic :: Scientific/Engineering :: Artificial Intelligence",
thomwolf's avatar
thomwolf committed
100
101
    ],
)