forked from fastai/fastai
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.py
More file actions
119 lines (98 loc) · 3.11 KB
/
setup.py
File metadata and controls
119 lines (98 loc) · 3.11 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""The setup script."""
import sys
from pathlib import Path
from setuptools import setup, find_packages
# note: version is maintained inside fastai/version.py
exec(open('fastai/version.py').read())
with open('README.md') as readme_file: readme = readme_file.read()
with open('CHANGES.md') as history_file: history = history_file.read()
def to_list(buffer): return list(filter(None, map(str.strip, buffer.splitlines())))
### normal dependencies ###
#
# these get resolved and installed via either of these two:
#
# pip install fastai
# pip install -e .
#
# XXX: require torch>=1.0.0 once it's released, for now get the user to install it explicitly
# XXX: using a workaround for torchvision, once torch-1.0.0 is out and a new torchvision depending on it is released switch to torchvision>=0.2.2
requirements = to_list("""
fastprogress>=0.1.10
ipython
jupyter
matplotlib
numpy>=1.12
pandas
Pillow
requests
scipy
spacy
torchvision-nightly
typing
""")
# dependencies to skip for now:
#
# cupy - is only required for QRNNs - sgguger thinks later he will get rid of this dep.
# fire - will be eliminated shortly
if sys.version_info < (3,7): requirements.append('dataclasses')
### developer dependencies ###
#
# anything else that's not required by a user to run the library, but
# either an enhancement or developer-build requirement goes here.
# https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies
#
# these get installed with:
#
# pip install -e .[dev]
#
dev_requirements = { 'dev' : to_list("""
bumpversion==0.5.3
distro
jupyter_contrib_nbextensions
nbconvert
nbformat
pip>=18.1
pipreqs>=0.4.9
traitlets
wheel>=0.30.0
""") }
### setup dependencies ###
setup_requirements = to_list("""
pytest-runner
""")
### test dependencies ###
test_requirements = to_list("""
pytest
""")
# list of classifiers: https://pypi.org/pypi?%3Aaction=list_classifiers
setup(
name = 'fastai',
version = __version__,
packages = find_packages(),
include_package_data = True,
install_requires = requirements,
setup_requires = setup_requirements,
extras_require = dev_requirements,
tests_require = test_requirements,
python_requires = '>=3.6',
test_suite = 'tests',
description = "fastai makes deep learning with PyTorch faster, more accurate, and easier",
long_description = readme + '\n\n' + history,
long_description_content_type = 'text/markdown',
keywords = 'fastai, deep learning, machine learning',
license = "Apache Software License 2.0",
url = 'https://github.com/fastai/fastai',
author = "Jeremy Howard",
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
],
zip_safe = False,
)