# 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.

[build-system]
requires = [
    "setuptools>=75.3,<80.11",
    "wheel~=0.45.1"
]
build-backend = "setuptools.build_meta"

[project]
name = "apache-libcloud"
description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see https://libcloud.apache.org"
authors = [
    {name = "Apache Software Foundation", email = "dev@libcloud.apache.org"},
]
keywords = [
    "cloud",
    "libcloud",
    "apache",
    "aws",
    "ec2",
]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "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",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
    "Topic :: Software Development :: Libraries :: Python Modules",
]
requires-python = ">=3.10"
dependencies = [
    "requests>=2.26.0",
]
license = {text = "Apache License (2.0)"}
dynamic = ["version", "readme"]

[project.urls]
# Threre seems to be known bug with homepage and pyproject.yaml https://github.com/pypa/packaging-problems/issues/606
Homepage = "https://libcloud.apache.org"
Documentation = "https://libcloud.readthedocs.io"
"Mailing list" = "https://libcloud.apache.org/community.html#mailing-lists"
Security = "https://libcloud.apache.org/security.html"
Repository = "https://github.com/apache/libcloud"
Tests = "https://github.com/apache/libcloud/tree/trunk/libcloud/test"
Coverage = "https://app.codecov.io/github/apache/libcloud"
Issues = "https://github.com/apache/libcloud/issues"
Distribution = "https://pypi.org/project/apache-libcloud"
Changelog = "https://github.com/apache/libcloud/blob/trunk/CHANGES.rst"


[dependency-groups]
build = [
    "build==1.2.2",
]
publish = [
    "twine==5.1.1",
]
test = [
    "coverage[toml]==7.2.7; python_version >= '3.10'",
    "requests>=2.33.0",
    "requests_mock==1.12.1",
    "pytest==9.1.1",
    "pytest-xdist==3.6.1",
    "pytest-timeout==2.4.0",
    "pytest-benchmark[histogram]==5.1.0; python_version >= '3.10'",
    "cryptography==49.0.0; python_version >= '3.11'",
    "pyopenssl==26.3.0; python_version >= '3.11'",
    "cryptography==46.0.7; python_version < '3.11'",
    "pyopenssl==26.0.0; python_version < '3.11'",
    "fasteners",
    "paramiko==5.0.0; platform_python_implementation != 'PyPy'",
    "libvirt-python==12.0.0"
]
lint = [
    "pep8==1.7.1",
    "flake8==5.0.4",
    "astroid==3.3.8; python_version >= '3.10'",
    "pylint==3.3.4; python_version >= '3.10'",
    "bandit[toml]==1.9.3; python_version >= '3.10'",
    "black==26.3.1; python_version >= '3.10' and implementation_name == \"cpython\"",
    "isort==6.0.1; python_version >= '3.10'",
    "pyupgrade==3.3.1",
    "rstcheck==6.2.5; python_version >= '3.10'",
    "codespell==2.4.1",
    "prek>=0.2.17",
    "requests>=2.27.1",
    "paramiko==5.0.0; platform_python_implementation != 'PyPy'",
]
docs = [
    "rstcheck==6.2.5; python_version >= '3.10'",
    "fasteners",
    "sphinx_rtd_theme==2.0.0",
    "sphinx==6.2.1",
    "pygments>=2.20.0,<3.0.0",
]
mypy = [
    "mypy==1.15.0; python_version >= '3.10' and implementation_name == \"cpython\"",
    "types-simplejson",
    "types-certifi",
    "types-requests",
    "types-urllib3",
]
ci = [
    "tox==4.24.1",
]
integration-compute = [
    "bottle",
]
integration-storage = [
    "azure-identity",
    "azure-mgmt-resource",
    "azure-mgmt-storage",
    "boto3",
    "docker",
    "requests",
]
dev = [
    {include-group = "test"},
    {include-group = "lint"},
    {include-group = "mypy"},
    {include-group = "ci"},
]

[tool.setuptools.packages.find]
where = ["./"]
include = ["libcloud", "libcloud.test*", "libcloud.*" ]

[tool.setuptools.package-data]
"libcloud.data" = [
    "pricing.json"
]
"libcloud.test" = [
    "**/*.json",
    "**/*.xml",
    "**/*.pub",
    "**/*.key",
    "**/*.pem",
    "**/*.crt",
    "**/*.csv",
    "**/*.txt",
    "**/*.html",
]

[tool.setuptools]
include-package-data = true
exclude-package-data = { "*" = ["secrets.py"], "libcloud.test" = ["secrets.py"] }

[tool.setuptools.dynamic]
version = {attr = "libcloud.__version__"}
readme = {file = ["README.rst"], content-type = "text/x-rst"}

[tool.distutils.bdist_wheel]


[tool.black]
line_length = 100
target_version = ['py310', 'py311', 'py312', 'py313']
include = '\.pyi?$'
exclude = '''
(
    /(
        | \.git
        | \.virtualenv
        | __pycache__
        | secrets\.py
    )/
)
'''


[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 99
src_paths = ["libcloud", "contrib", "docs", "demos", "pylint_plugins", "integration"]
skip_glob = [".venv/*", ".tox/*", ".github/actions/*"]
length_sort = true


[tool.pytest.ini_options]
# Set options for pytest
python_classes = "*Test"
testpaths = "libcloud/test"
# Show slowest 10 tests in the output
addopts = "--durations=10"
# Ignore UserWarning's
filterwarnings = ["ignore::UserWarning"]


[tool.bandit]
exclude_dirs = [".tox", ".git", "build", "dist", "venv", "tests/*"]
skips = ["B411"]


[tool.pylint.MASTER]
ignore = "test,constants"
persistent = "yes"
load-plugins = ""

[tool.pylint.'MESSAGES CONTROL']
disable = "redefined-builtin,too-many-arguments,too-few-public-methods,missing-docstring,invalid-name,abstract-method"

[tool.pylint.TYPECHECK]
generated-members = "async_request,objects"

[tool.pylint.VARIABLES]
init-import = "no"
dummy-variables-rgx = "_|dummy"
additional-builtins = ""

[tool.pylint.FORMAT]
max-line-length = 100
max-module-lines = 1000
indent-string = "    "


[tool.mypy]
python_version = "3.12"
platform = "linux"
show_error_context = true
show_column_numbers = true

[[tool.mypy.overrides]]
module = [
    "lxml",
    "xml.dom",
    "xmlrpc.*",
    "paramiko.*",
    "cryptography.*",
    "lockfile.*",
]
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = [
    "libcloud.utils.py3",
    "libcloud.compute.drivers.*",
    "libcloud.storage.drivers.*",
    "libcloud.dns.drivers.*",
    "libcloud.container.drivers.*",
]
ignore_errors = true

[tool.coverage.run]
parallel = false
branch = true
source = ["libcloud"]

[tool.coverage.paths]
source = [
   "libcloud/",
]
tests = [
   "libcloud/test/",
]

[tool.coverage.report]
show_missing = true
skip_covered = true
exclude_lines = [
    # Have to re-enable the standard pragma
    "pragma: no cover",
    # Don't complain about missing debug-only code:
    "def __repr__",
    "def __str__",
    "if self\\.debug",
    # Don't complain if tests don't hit defensive assertion code:
    "raise AssertionError",
    "raise NotImplementedError",
    # Don't complain if non-runnable code isn't run:
    "if 0:",
    "if __name__ == .__main__.:",
    "__all__",
    "import",
    "deprecated_warning",
    "in_development_warning",
    "@abc.abstractmethod",
    # Type checking related code,
    "^if (False|TYPE_CHECKING):",
    "if typing.TYPE_CHECKING",
]
ignore_errors = true

[tool.coverage.html]
directory = "coverage_html_report"


[tool.codespell]
skip = 'venvs,.venv,.git,build,*.egg-info,*.lock,libcloud/test/*/fixtures/*'
# fo - file object, hda - hda mount point, nd - node, doesnt - inside the path,
# ags - agreements
ignore-words-list = 'fo,hda,nd,doesnt,ags'
count = ''
quiet-level = 3
