summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py124
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'],
+ },
+)