84 lines
3.0 KiB
Python
84 lines
3.0 KiB
Python
# Copyright 2018-Present The CloudEvents Authors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import codecs
|
|
import os
|
|
import pathlib
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
|
|
def read(rel_path):
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
|
with codecs.open(os.path.join(here, rel_path), "r") as fp:
|
|
return fp.read()
|
|
|
|
|
|
def get_version(rel_path):
|
|
for line in read(rel_path).splitlines():
|
|
if line.startswith("__version__"):
|
|
delim = '"' if '"' in line else "'"
|
|
return line.split(delim)[1]
|
|
else:
|
|
raise RuntimeError("Unable to find version string.")
|
|
|
|
|
|
# FORMAT: 1.x.x
|
|
pypi_config = {
|
|
"version_target": get_version("cloudevents/__init__.py"),
|
|
"package_name": "cloudevents",
|
|
}
|
|
|
|
here = pathlib.Path(__file__).parent.resolve()
|
|
long_description = (here / "README.md").read_text(encoding="utf-8")
|
|
|
|
if __name__ == "__main__":
|
|
setup(
|
|
name=pypi_config["package_name"],
|
|
summary="CloudEvents Python SDK",
|
|
long_description_content_type="text/markdown",
|
|
long_description=long_description,
|
|
description="CloudEvents Python SDK",
|
|
url="https://github.com/cloudevents/sdk-python",
|
|
author="The Cloud Events Contributors",
|
|
author_email="cncfcloudevents@gmail.com",
|
|
home_page="https://cloudevents.io",
|
|
classifiers=[
|
|
"Intended Audience :: Information Technology",
|
|
"Intended Audience :: System Administrators",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Operating System :: OS Independent",
|
|
"Natural Language :: English",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Typing :: Typed",
|
|
],
|
|
keywords="CloudEvents Eventing Serverless",
|
|
license="https://www.apache.org/licenses/LICENSE-2.0",
|
|
license_file="LICENSE",
|
|
packages=find_packages(exclude=["cloudevents.tests"]),
|
|
include_package_data=True,
|
|
version=pypi_config["version_target"],
|
|
install_requires=["deprecation>=2.0,<3.0"],
|
|
extras_require={"pydantic": "pydantic>=1.0.0,<3.0"},
|
|
zip_safe=True,
|
|
)
|