setup.py 3.21 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

extras = {
41
42
43
    "serving": ["pydantic", "uvicorn", "fastapi"],
    "serving-tf": ["pydantic", "uvicorn", "fastapi", "tensorflow"],
    "serving-torch": ["pydantic", "uvicorn", "fastapi", "torch"],
44
}
45
extras["all"] = [package for package in extras.values()]
46

thomwolf's avatar
thomwolf committed
47
setup(
48
    name="transformers",
Lysandre's avatar
Lysandre committed
49
    version="2.3.0",
thomwolf's avatar
thomwolf committed
50
    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
51
    author_email="thomas@huggingface.co",
thomwolf's avatar
thomwolf committed
52
    description="State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch",
53
    long_description=open("README.md", "r", encoding="utf-8").read(),
thomwolf's avatar
thomwolf committed
54
    long_description_content_type="text/markdown",
55
56
    keywords="NLP deep learning transformer pytorch tensorflow BERT GPT GPT-2 google openai CMU",
    license="Apache",
57
    url="https://github.com/huggingface/transformers",
Aymeric Augustin's avatar
Aymeric Augustin committed
58
    package_dir={"": "src"},
59
    packages=find_packages("src"),
60
61
62
63
64
65
66
67
68
    install_requires=[
        "numpy",
        "boto3",
        "filelock",
        "requests",
        "tqdm",
        "regex != 2019.12.17",
        "sentencepiece",
        "sacremoses",
thomwolf's avatar
thomwolf committed
69
    ],
70
71
    extras_require=extras,
    scripts=["transformers-cli"],
Aymeric Augustin's avatar
Aymeric Augustin committed
72
    python_requires=">=3.5.0",
thomwolf's avatar
thomwolf committed
73
    classifiers=[
Aymeric Augustin's avatar
Aymeric Augustin committed
74
75
76
        "Development Status :: 5 - Production/Stable",
        "Intended Audience :: Developers",
        "Intended Audience :: Education",
77
78
        "Intended Audience :: Science/Research",
        "License :: OSI Approved :: Apache Software License",
Aymeric Augustin's avatar
Aymeric Augustin committed
79
        "Operating System :: OS Independent",
80
        "Programming Language :: Python :: 3",
Aymeric Augustin's avatar
Aymeric Augustin committed
81
82
83
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
84
        "Topic :: Scientific/Engineering :: Artificial Intelligence",
thomwolf's avatar
thomwolf committed
85
86
    ],
)