blob: 5602360afed585a0a11dcc4603b05debd5233835 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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 io
import os
import setuptools
# Package meta-data.
NAME = "streampipes"
DESCRIPTION = "Python library for Apache StreamPipes"
LONG_DESCRIPTION_CONTENT_TYPE = "text/markdown"
URL = "https://streampipes.apache.org/docs/docs/python/latest/"
EMAIL = "dev@streampipes.apache.org"
AUTHOR = "Apache Software Foundation"
REQUIRES_PYTHON = ">=3.8.0"
PROJECT_URLS = {
"Documentation": "https://streampipes.apache.org/docs/docs/python/latest/",
"Bug Tracker": "https://github.com/apache/streampipes/issues",
"Source Code": "https://github.com/apache/streampipes",
}
# Package requirements.
base_packages = [
"pandas>=1.5.1",
"pydantic>=1.10.2",
"requests>=2.28.1",
"nats-py>=2.2.0",
"confluent-kafka>=2.0.2"
]
dev_packages = base_packages + [
"autoflake==2.1.0",
"black==23.3.0",
"blacken-docs==1.13.0",
"flake8==6.0.0",
"interrogate==1.5.0",
"isort==5.12.0",
"mypy==1.2.0",
"pandas-stubs==2.0.0.230412",
"pre-commit==3.2.0",
"pytest==7.3.0",
"pytest-cov==4.0.0",
"pyupgrade==3.3.1",
"types-Jinja2==2.11.9",
"types-requests==2.28.11.7",
]
docs_packages = [
"mkdocs==1.4.2",
"mkdocs-awesome-pages-plugin==2.9.0",
"mkdocs-material==9.1.3",
"mkdocstrings[python]==0.21.1",
"pytkdocs[numpy-style]>=0.16.1",
"mkdocs-gen-files==0.5.0",
"mkdocs-literate-nav==0.6.0",
"numpydoc==1.5.0",
"mkdocs-jupyter==0.24.0",
"mike @ git+https://github.com/jimporter/mike.git@872f72def32f588908f8251fe512189e0c41f4e2"
]
here = os.path.abspath(os.path.dirname(__file__))
# Import the README and use it as the long-description.
with io.open(os.path.join(here, "README.md"), encoding="utf-8") as f:
long_description = "\n" + f.read()
# Load the package's __version__.py module as a dictionary.
about = {}
with open(os.path.join(here, "streampipes", "__version__.py")) as f:
exec(f.read(), about)
# Where the magic happens:
setuptools.setup(
name=NAME,
version=about["__version__"],
description=DESCRIPTION,
long_description=long_description,
long_description_content_type=LONG_DESCRIPTION_CONTENT_TYPE,
author=AUTHOR,
author_email=EMAIL,
python_requires=REQUIRES_PYTHON,
url=URL,
project_urls=PROJECT_URLS,
packages=setuptools.find_packages(exclude=("tests",)),
install_requires=base_packages,
extras_require={
"dev": dev_packages,
"test": dev_packages,
"docs": docs_packages,
"all": dev_packages + docs_packages,
},
include_package_data=True,
license="Apache License 2.0",
classifiers=[
# Trove classifiers
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Manufacturing",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering"
],
ext_modules=[],
keywords='streampipes, iot, iiot, analytics, stream-processing, apache',
)