-
Notifications
You must be signed in to change notification settings - Fork 86
/
setup.py
77 lines (70 loc) · 2.49 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
from __future__ import annotations
from setuptools import find_namespace_packages, setup
version = "0.3.0.dev0"
# If this is a local development install, allow nightly fairseq2n builds to
# take precedence.
if version.endswith(".dev0"):
fairseq2n_version_spec = f">={version},<={version[:-5]}"
else:
p = version.split("+", maxsplit=1)
fairseq2n_version_spec = "==" + p[0]
setup(
name="fairseq2",
version=version,
description="FAIR Sequence Modeling Toolkit",
long_description="https://github.com/facebookresearch/fairseq2",
long_description_content_type="text/plain",
url="https://github.com/facebookresearch/fairseq2",
license="MIT",
author="Fundamental AI Research (FAIR) at Meta",
keywords=["machine learning"],
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
],
package_dir={"": "src"},
packages=find_namespace_packages(where="src"),
package_data={
"fairseq2": ["py.typed"],
"fairseq2.assets.cards": ["**/*.yaml"],
},
zip_safe=False,
python_requires=">=3.10",
install_requires=[
"editdistance~=0.8",
"fairseq2n" + fairseq2n_version_spec,
"importlib_metadata~=7.0",
"importlib_resources~=6.4",
"mypy-extensions~=1.0",
"numpy~=1.23",
"packaging~=24.1",
"psutil~=5.9",
"pyyaml~=6.0",
"rich~=13.7",
"sacrebleu~=2.4",
"tiktoken~=0.7",
"torcheval~=0.0.6",
"tqdm~=4.62",
"typing_extensions~=4.12",
# This dependency is required for tiktoken.load.read_file, but it's
# listed as optional in tiktoken's pyproject.toml
# (https://github.com/openai/tiktoken/blob/main/pyproject.toml#L9)
"blobfile~=3.0.0",
],
extras_require={
"arrow": ["pyarrow>=13.0.0", "pandas~=2.0.0"],
},
entry_points={"console_scripts": ["fairseq2=fairseq2.recipes:main"]},
)