setup.py 3.05 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
18
19
   (this will build a wheel for the python version you use to build it - make sure you use python 3.x).

   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.

"""
thomwolf's avatar
thomwolf committed
36
from io import open
thomwolf's avatar
thomwolf committed
37
38
from setuptools import find_packages, setup

39
40

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

thomwolf's avatar
thomwolf committed
47
setup(
48
    name="transformers",
Lysandre's avatar
Lysandre committed
49
    version="2.2.2",
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",
thomwolf's avatar
thomwolf committed
55
    keywords='NLP deep learning transformer pytorch tensorflow BERT GPT GPT-2 google openai CMU',
thomwolf's avatar
thomwolf committed
56
    license='Apache',
57
    url="https://github.com/huggingface/transformers",
thomwolf's avatar
thomwolf committed
58
59
    packages=find_packages(exclude=["*.tests", "*.tests.*",
                                    "tests.*", "tests"]),
thomwolf's avatar
thomwolf committed
60
    install_requires=['numpy',
thomwolf's avatar
thomwolf committed
61
                      'boto3',
thomwolf's avatar
thomwolf committed
62
                      'requests',
63
                      'tqdm',
64
                      'regex != 2019.12.17',
65
                      'sentencepiece',
66
                      'sacremoses'],
thomwolf's avatar
thomwolf committed
67
68
69
70
    extras_require=extras,
    scripts=[
        'transformers-cli'
    ],
thomwolf's avatar
thomwolf committed
71
    # python_requires='>=3.5.0',
thomwolf's avatar
thomwolf committed
72
73
74
75
76
77
78
    classifiers=[
          'Intended Audience :: Science/Research',
          'License :: OSI Approved :: Apache Software License',
          'Programming Language :: Python :: 3',
          'Topic :: Scientific/Engineering :: Artificial Intelligence',
    ],
)