blob: ad1eb125dbbb1f0b9a68fa7e282b87903bbd075e [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.
#
[tool.poetry]
name = "streampipes"
version = "0.0.0" # gets overwritten in CI pipeline
description = "Python library for Apache StreamPipes"
license = "Apache 2.0"
authors = [
"Apache Software Foundation <dev@streampipes.apache.org>"
]
readme = "README.md"
homepage = "https://streampipes.apache.org/docs/docs/python/latest/"
repository = "https://github.com/apache/streampipes"
documentation = "https://streampipes.apache.org/docs/docs/python/latest/"
keywords = [
"streampipes",
"iot",
"iiot",
"analytics",
"stream-processing",
"apache",
]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Manufacturing",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering"
]
include = [
{ path = "streampipes/py.typed" }
]
[tool.poetry.dependencies]
python = ">3.8.1,<3.12"
confluent-kafka = "~2, >=2.0.2"
nats-py = "~2, >=2.2"
pandas = ">=1.5, <3"
pydantic = "~1, >=1.10,"
requests = "~2, >=2.28"
typing-extensions = "~4, >=4.5"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
autoflake = "2.2.0"
black = "23.10.0"
blacken-docs = "1.16.0"
flake8 = "6.1.0"
interrogate = { version = "1.5.0", extras = ["png"] }
isort = "5.12.0"
mypy = "1.6.0"
ruff = "0.1.0"
pre-commit = "3.5.0"
pytest = "7.4.0"
pytest-cov = "4.1.0"
pyupgrade = "3.15.0"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
mike = { git = "https://github.com/jimporter/mike.git", rev = "872f72def32f588908f8251fe512189e0c41f4e2" }
mkdocs = "1.5.2"
mkdocs-awesome-pages-plugin = "2.9.0"
mkdocs-gen-files = "0.5.0"
mkdocs-jupyter = "0.24.0"
mkdocs-literate-nav = "0.6.0"
mkdocs-material = "9.3.1"
mkdocstrings = { version = "0.23.0", extras = ["python"] }
numpydoc = "1.6.0"
pytkdocs = { version = "0.16.1", extras = ["numpy-style"] }
[tool.poetry.group.stubs]
optional = true
[tool.poetry.group.stubs.dependencies]
pandas-stubs = "2.0.0.230412"
types-Jinja2 = "2.11.9"
types-requests = "2.31.0.0"
[tool.poetry.group.deployment]
optional = true
[tool.poetry.group.deployment.dependencies]
twine = "4.0.2"
[[tool.poetry.source]]
name = "PyPI"
priority = "primary"
[tool.interrogate]
ignore-init-method = true
ignore-magic = true
ignore-module = true
fail-under = 100
ignore-regex = ["test_*", "Test*", ".*BaseClass.*"]
verbose = 2 # possible values: 0 (minimal output), 1 (-v), 2 (-vv)
omit-covered-files = true
generate-badge = "./streampipes-client-python/docs/img"
badge-style = "flat"
[tool.isort]
profile = "black"
src_paths = ["streampipes", "tests"]
[tool.mypy]
pretty = true
warn_redundant_casts = true
warn_unused_ignores = true
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"