• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 The gRPC Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import os
16
17import setuptools
18
19_PACKAGE_PATH = os.path.realpath(os.path.dirname(__file__))
20_README_PATH = os.path.join(_PACKAGE_PATH, "README.rst")
21
22# Ensure we're in the proper directory whether or not we're being used by pip.
23os.chdir(os.path.dirname(os.path.abspath(__file__)))
24
25import python_version
26
27import grpc_version
28
29CLASSIFIERS = [
30    "Development Status :: 5 - Production/Stable",
31    "Programming Language :: Python",
32    "Programming Language :: Python :: 3",
33    "License :: OSI Approved :: Apache Software License",
34]
35
36PACKAGE_DIRECTORIES = {
37    "": ".",
38}
39
40INSTALL_REQUIRES = (
41    "opentelemetry-sdk>=1.25.0",
42    "opentelemetry-resourcedetector-gcp>=1.6.0a0",
43    "grpcio=={version}".format(version=grpc_version.VERSION),
44    "protobuf>=5.26.1,<6.0dev",
45)
46
47setuptools.setup(
48    name="grpcio-csm-observability",
49    version=grpc_version.VERSION,
50    description="gRPC Python CSM observability package",
51    long_description=open(_README_PATH, "r").read(),
52    author="The gRPC Authors",
53    author_email="grpc-io@googlegroups.com",
54    url="https://grpc.io",
55    project_urls={
56        "Source Code": "https://github.com/grpc/grpc/tree/master/src/python/grpcio_csm_observability",
57        "Bug Tracker": "https://github.com/grpc/grpc/issues",
58    },
59    license="Apache License 2.0",
60    classifiers=CLASSIFIERS,
61    package_dir=PACKAGE_DIRECTORIES,
62    packages=setuptools.find_packages("."),
63    python_requires=f">={python_version.MIN_PYTHON_VERSION}",
64    install_requires=INSTALL_REQUIRES,
65)
66