| # |
| # 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 = "~2, >=2.6.3" |
| requests = "~2, >=2.28" |
| typing-extensions = "~4, >=4.5" |
| |
| [tool.poetry.group.dev] |
| optional = true |
| |
| [tool.poetry.group.dev.dependencies] |
| autoflake = "2.3.0" |
| black = "24.8.0" |
| blacken-docs = "1.18.0" |
| flake8 = "7.1.0" |
| interrogate = { version = "1.7.0", extras = ["png"] } |
| isort = "5.13.0" |
| mypy = "1.11.0" |
| ruff = "0.6.1" |
| pre-commit = "3.5.0" |
| pytest = "8.3.1" |
| pytest-cov = "5.0.0" |
| pyupgrade = "3.16.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-git-revision-date-localized-plugin = "1.2.6" |
| mkdocs-jupyter = "0.24.0" |
| mkdocs-literate-nav = "0.6.0" |
| mkdocs-material = "9.3.2" |
| mkdocstrings = { version = "0.25.0", extras = ["python"] } |
| numpydoc = "1.7.0" |
| pytkdocs = { version = "0.16.1", extras = ["numpy-style"] } |
| |
| [tool.poetry.group.stubs] |
| optional = true |
| |
| [tool.poetry.group.stubs.dependencies] |
| pandas-stubs = "2.0.2.230605" # do not upgrade to keep compability with Python 3.8 |
| types-Jinja2 = "2.11.9" |
| types-requests = "2.32.0.20240521" |
| |
| [tool.poetry.group.deployment] |
| optional = true |
| |
| [tool.poetry.group.deployment.dependencies] |
| twine = "5.1.0" |
| |
| [[tool.poetry.source]] |
| name = "PyPI" |
| priority = "primary" |
| |
| [tool.autoflake] |
| remove-all-unused-imports = true |
| expand-star-imports = true |
| in-place = true |
| remove-unused-variables = true |
| remove-duplicate-keys = true |
| |
| [tool.black] |
| line-length = 120 |
| |
| [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" |