forked from arista-eosplus/pyeapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
88 lines (68 loc) · 2.76 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
78
79
80
81
82
83
84
85
86
87
88
from setuptools import setup, find_packages
from codecs import open
from os import path, environ
import sys
here = path.abspath(path.dirname(__file__))
# Get the long description from the relevant file
with open(path.join(here, 'docs/description.rst'), encoding='utf-8') as f:
long_description = f.read()
with open(path.join(here, 'VERSION'), mode='r', encoding='utf-8') as version_file:
version = version_file.read().strip()
setup(
name='pyeapi',
# Versions should comply with PEP440. For a discussion on single-sourcing
# the version across setup.py and the project code, see
# https://packaging.python.org/en/latest/single_source_version.html
version=version,
description='Python Client for eAPI',
long_description=long_description,
# The project's main homepage.
url='https://github.com/arista-eosplus/pyeapi',
# Author details
author='Arista EOS+ CS',
author_email='[email protected]',
# Choose your license
license='BSD-3',
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=[
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 4 - Beta',
'Intended Audience :: System Administrators',
'Topic :: System :: Networking',
'License :: OSI Approved :: BSD License',
'Programming Language :: Python :: 3 :: Only'
],
keywords='networking arista eos eapi',
# You can just specify the packages manually here if your project is
# simple. Or you can use find_packages().
packages=find_packages(exclude=['contrib', 'docs', 'tests*']),
# List run-time dependencies here. These will be installed by pip when your
# project is installed. For an analysis of "install_requires" vs pip's
# requirements files see:
# https://packaging.python.org/en/latest/requirements.html
install_requires=['netaddr'],
# List additional dependencies here (e.g. development dependencies).
# You can install these using the following syntax, for example:
# $ pip install -e .[dev,test]
extras_require={
'dev': ['check-manifest', 'pep8', 'pyflakes', 'twine'],
'test': ['coverage', 'mock'],
},
)
def install():
if "install" in sys.argv:
return True
else:
return False
# Use the following to dynamically build pyeapi module documentation
if install() and environ.get('READTHEDOCS'):
print('This method is only called by READTHEDOCS.')
from subprocess import Popen
proc = Popen(['make', 'modules'], cwd='docs/')
(_, err) = proc.communicate()
return_code = proc.wait()
if return_code or err:
raise ('Failed to make modules.(%s:%s)' % (return_code, err))