blob: 8a8d473a08ae6b99fe4604165324f1ebe91bec7d [file]
# 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 = "apache-skywalking"
version = "1.2.0"
description = "The Python Agent for Apache SkyWalking, which provides the native tracing/metrics/logging/profiling abilities for Python projects."
license = "Apache-2.0"
authors = ["Apache Software Foundation <dev@skywalking.apache.org>"]
maintainers = ["Apache SkyWalking Community <dev@skywalking.apache.org>"]
readme = "README.md"
homepage = "https://skywalking.apache.org/"
repository = "https://github.com/apache/skywalking-python"
documentation = "https://skywalking.apache.org/docs/skywalking-python/next/readme/"
keywords = [
"skywalking",
"tracing",
"metrics",
"logging",
"profiling",
"observability",
"distributed-tracing",
"apm",
"python",
]
classifiers = [
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14',
'Topic :: System :: Monitoring',
'Topic :: Software Development',
]
packages = [{ include = "skywalking" }, { include = "sw_python" }]
# poetry will ignore generated files as .gitignore, but we need them in package
include = ['skywalking/protocol/**/*']
exclude = ['tests']
[tool.poetry.build]
generate-setup-file = true
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/apache/skywalking/issues"
[tool.poetry.scripts]
sw-python = 'skywalking.bootstrap.cli.sw_python:start'
[tool.poetry.dependencies]
python = ">=3.10, <3.15"
grpcio = '>=1.83'
grpcio-tools = '>=1.83'
packaging = '*'
wrapt = '>=1.14'
psutil = '*'
requests = { version = ">=2.26.0", optional = true }
kafka-python = { version = "*", optional = true }
uvloop = { version = ">=0.17.0", optional = true }
aiokafka = { version = "^0.8.0", optional = true }
aiohttp = { version = "^3.7.4", optional = true }
[tool.poetry.extras]
all = ['requests', 'kafka-python', 'uvloop', 'aiokafka', 'aiohttp']
sync = ['requests', 'kafka-python']
http = ['requests']
kafka = ['kafka-python']
async = ['uvloop', 'aiokafka', 'aiohttp']
asynchttp = ['uvloop', 'aiohttp']
asynckafka = ['uvloop', 'aiokafka']
[tool.poetry.group.dev.dependencies]
pkginfo = "^1.8.3"
testcontainers = "*"
pyyaml = "*"
pytest = "*"
gunicorn = "*"
uvicorn = "*"
kafka-python = "*"
requests = "*"
pytest-benchmark = "^4.0"
[tool.poetry.group.plugins]
optional = true
# NOTE: These are for dev-machine installation only. Actual tested versions
# are defined in each plugin's support_matrix and enforced via Docker.
[tool.poetry.group.plugins.dependencies]
urllib3 = ">=1.26"
aiohttp = ">=3.7"
celery = ">=5.1"
django = ">=3.2"
elasticsearch = ">=7.15"
flask = ">=2.0"
gevent = ">=22.10"
pika = ">=1.2"
psycopg = { extras = ["binary"], version = ">=3.1.7" }
psycopg2-binary = ">=2.9"
pymongo = ">=3.12"
pymysql = ">=1.0"
mysqlclient = ">=2.1"
pyramid = ">=2.0"
pyyaml = ">=6.0"
redis = ">=3.5"
sanic = ">=21.9"
tornado = ">=6.1"
werkzeug = ">=2.0"
fastapi = ">=0.89"
uvicorn = ">=0.16"
gunicorn = ">=23.0"
bottle = ">=0.12"
aioredis = ">=2.0"
aiormq = ">=6.4"
asyncpg = ">=0.27"
happybase = ">=1.2"
websockets = ">=10.4"
loguru = ">=0.6"
httpx = ">=0.23"
confluent-kafka = ">=2.0"
neo4j = ">=5.9"
pulsar-client = ">=3.3"
grpcio = ">=1.49"
[tool.poetry.group.lint]
optional = true
[tool.poetry.group.lint.dependencies]
pylint = '>=2.13.9'
flake8 = "^5.0.4"
# isort = "^5.10.1"
unify = "^0.5"
flynt = "^0.76"
flake8-quotes = "^3.3.1"
flake8-use-fstring = "^1.4"
pep8-naming = "^0.13.2"
darglint = "^1.8.1"
flake8-eradicate = "^1.4.0"
flake8-docstrings = "^1.6.0"
flake8-bugbear = "^22.9.23"
flake8-comprehensions = "^3.10.0"
flake8-2020 = "^1.7.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"