diff options
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..8c2c06b --- /dev/null +++ b/setup.py @@ -0,0 +1,124 @@ +# +# 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'], + }, +) |