124 lines
4.6 KiB
Python
124 lines
4.6 KiB
Python
#
|
|
# Copyright (c) 2016, Arista Networks, Inc.
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
#
|
|
# Redistributions of source code must retain the above copyright notice,
|
|
# this list of conditions and the following disclaimer.
|
|
#
|
|
# Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# Neither the name of Arista Networks nor the names of its
|
|
# contributors may be used to endorse or promote products derived from
|
|
# this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ARISTA NETWORKS
|
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
|
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
""" This module provides a RESTful API client for Cloudvision(R) Portal (CVP)
|
|
which can be used for building applications that work with Arista CVP.
|
|
"""
|
|
import io
|
|
from os import path, walk
|
|
|
|
try:
|
|
from setuptools import setup
|
|
except ImportError:
|
|
from distutils.core import setup
|
|
|
|
from cvprac import __version__, __author__
|
|
|
|
|
|
def find_modules(pkg):
|
|
''' Return all modules from the pkg
|
|
'''
|
|
modules = [pkg]
|
|
for dirname, dirnames, _ in walk(pkg):
|
|
for subdirname in dirnames:
|
|
modules.append(path.join(dirname, subdirname))
|
|
return modules
|
|
|
|
|
|
def get_long_description():
|
|
''' Get the long description from README.rst if it exists.
|
|
Null string is returned if README.rst is non-existent
|
|
'''
|
|
long_description = ''
|
|
here = path.abspath(path.dirname(__file__))
|
|
try:
|
|
with io.open(path.join(here, 'README.md'), encoding='utf-8') as file_hdl:
|
|
long_description = file_hdl.read()
|
|
except IOError:
|
|
pass
|
|
return long_description
|
|
|
|
|
|
setup(
|
|
name='cvprac',
|
|
version=__version__,
|
|
description='Arista Cloudvision(R) Portal Rest API Client written in python',
|
|
long_description=get_long_description(),
|
|
long_description_content_type='text/markdown',
|
|
author=__author__,
|
|
author_email='eosplus-dev@arista.com',
|
|
url='https://github.com/aristanetworks/cvprac',
|
|
download_url='https://github.com/aristanetworks/cvprac/tarball/%s' % __version__,
|
|
license='BSD-3',
|
|
packages=find_modules('cvprac'),
|
|
|
|
# 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',
|
|
|
|
# Indicate who your project is intended for
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: System Administrators',
|
|
|
|
'Topic :: Software Development :: Libraries',
|
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
'Topic :: System :: Networking',
|
|
|
|
# Pick your license as you wish (should match "license" above)
|
|
'License :: OSI Approved :: BSD License',
|
|
|
|
# Specify the Python versions you support here. In particular, ensure
|
|
# that you indicate whether you support Python 2, Python 3 or both.
|
|
'Programming Language :: Python :: 2',
|
|
'Programming Language :: Python :: 2.7',
|
|
],
|
|
|
|
# What does your project relate to?
|
|
keywords='networking CloudVision development rest api',
|
|
|
|
# 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=['requests[socks]>=2.27.0'],
|
|
|
|
# List additional groups of dependencies here (e.g. development
|
|
# dependencies). You can install these using the following syntax,
|
|
# for example:
|
|
# $ pip install -e .[dev]
|
|
extras_require={
|
|
'dev': ['check-manifest', 'pep8', 'pyflakes', 'pylint', 'coverage',
|
|
'pyyaml'],
|
|
},
|
|
)
|