blob: 71a4e3e6d6718bebe0c113cadb72b25f59d50351 [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.
[project]
name = "apache-otava"
version = "1.0.0"
description = "Apache Otava (Incubating): Change Detection for Continuous Performance Engineering"
readme = "README.md"
requires-python = ">=3.10,<3.15"
license = { text = "Apache-2.0" }
authors = [
{ name = "Apache Otava (Incubating)", email = "dev@otava.apache.org" }
]
maintainers = [
{ name = "Apache Otava (Incubating)", email = "dev@otava.apache.org" }
]
classifiers = [
"License :: OSI Approved :: Apache Software License",
"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",
]
dependencies = [
"dateparser>=1.0.0",
"numpy==2.2.0.*",
"python-dateutil>=2.9.0",
"ruamel.yaml==0.18.16",
"requests>=2.32.5",
"pystache>=0.6.8",
"tabulate>=0.9.0",
"validators>=0.35.0",
"slack-sdk>=3.39.0",
"google-cloud-bigquery>=3.38.0",
"pg8000>=1.31.5",
"configargparse>=1.7.1",
"expandvars>=0.12.0",
# For Python 3.10: last series that supports it
"scipy>=1.15,<1.16; python_version < '3.11'",
# For Python 3.11–3.14: newer series
"scipy>=1.16,<1.17; python_version >= '3.11'",
]
[project.optional-dependencies]
dev = [
"pytest>=9.0.1",
"pytest-benchmark>=5.2.3",
"pytz==2025.2",
"tox==4.32.0",
"flake8>=7.3.0",
"autoflake>=2.3.1",
"isort>=7.0.0",
"ruff>=0.14.8",
"pre-commit==4.5.0",
]
[project.scripts]
otava = "otava.main:main"
[project.urls]
Homepage = "https://otava.apache.org"
Documentation = "https://otava.apache.org/docs/overview"
Repository = "https://github.com/apache/otava"
"Bug Tracker" = "https://github.com/apache/otava/issues"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["otava"]
[tool.pytest.ini_options]
filterwarnings = [
"ignore::DeprecationWarning:future",
"ignore::pytest.PytestCollectionWarning",
]
[tool.ruff]
line-length = 100
[tool.isort]
profile = "black"