blob: cb49c3d57e7b608542e36f6a4f5950dfae69db78 [file] [log] [blame]
Masood Malekghassemiaff69362016-09-21 15:10:36 -07001# Copyright 2016, Google Inc.
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met:
7#
8# * Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# * Redistributions in binary form must reproduce the above
11# copyright notice, this list of conditions and the following disclaimer
12# in the documentation and/or other materials provided with the
13# distribution.
14# * Neither the name of Google Inc. nor the names of its
15# contributors may be used to endorse or promote products derived from
16# this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Masood Malekghassemiaff69362016-09-21 15:10:36 -070029"""Setup module for the GRPC Python package's optional reflection."""
30
31import os
32import sys
33
34import setuptools
35
36# Ensure we're in the proper directory whether or not we're being used by pip.
37os.chdir(os.path.dirname(os.path.abspath(__file__)))
38
39# Break import-style to ensure we can actually find our commands module.
40import reflection_commands
41import grpc_version
42
Ken Payson2fa5f2f2017-02-06 10:27:09 -080043PACKAGE_DIRECTORIES = {
44 '': '.',
45}
Masood Malekghassemiaff69362016-09-21 15:10:36 -070046
47SETUP_REQUIRES = (
Masood Malekghassemicc793702017-01-13 19:20:10 -080048 'grpcio-tools>={version}'.format(version=grpc_version.VERSION),)
Masood Malekghassemiaff69362016-09-21 15:10:36 -070049
Ken Payson02909062017-05-04 12:33:58 -070050INSTALL_REQUIRES = ('protobuf>=3.3.0',
Ken Payson2fa5f2f2017-02-06 10:27:09 -080051 'grpcio>={version}'.format(version=grpc_version.VERSION),)
Masood Malekghassemiaff69362016-09-21 15:10:36 -070052
53COMMAND_CLASS = {
54 # Run preprocess from the repository *before* doing any packaging!
55 'preprocess': reflection_commands.CopyProtoModules,
56 'build_package_protos': reflection_commands.BuildPackageProtos,
57}
58
59setuptools.setup(
60 name='grpcio-reflection',
61 version=grpc_version.VERSION,
62 license='3-clause BSD',
Ken Payson78354302017-03-06 09:28:16 -080063 description='Standard Protobuf Reflection Service for gRPC',
64 author='The gRPC Authors',
65 author_email='grpc-io@googlegroups.com',
66 url='http://www.grpc.io',
Masood Malekghassemiaff69362016-09-21 15:10:36 -070067 package_dir=PACKAGE_DIRECTORIES,
68 packages=setuptools.find_packages('.'),
Masood Malekghassemiaff69362016-09-21 15:10:36 -070069 install_requires=INSTALL_REQUIRES,
70 setup_requires=SETUP_REQUIRES,
Masood Malekghassemicc793702017-01-13 19:20:10 -080071 cmdclass=COMMAND_CLASS)