summaryrefslogtreecommitdiff
path: root/pyproject.toml
diff options
context:
space:
mode:
authorHans-Christoph Steiner <hans@eds.org>2023-02-06 01:08:42 +0100
committergit-ubuntu importer <ubuntu-devel-discuss@lists.ubuntu.com>2024-01-31 22:47:14 +0000
commit13a9d937f4adafd5316e89b8a63d12b527c1f5c4 (patch)
treeeb2d7ad8a835fb35deeabbd071bb02d52dcbcdf5 /pyproject.toml
parent8cd82ca6df842ef4cac72b0885d466cdeb6e96c6 (diff)
Imported using git-ubuntu import.
Notes
Notes: * New upstream version 1.1.0
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml90
1 files changed, 86 insertions, 4 deletions
diff --git a/pyproject.toml b/pyproject.toml
index 9e36c93..6b8268d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,12 +1,46 @@
[build-system]
requires = [
- "setuptools >= 45.0.0", # required by pyproject+setuptools_scm integration
- "setuptools_scm >= 6.3.1", # required for "no-local-version" scheme
- "setuptools_scm_git_archive >= 1.0",
- "wheel",
+ "setuptools >= 61.0", # PEP-621
+ "setuptools_scm[toml] >= 7.0.0",
]
build-backend = "setuptools.build_meta"
+[project]
+# https://peps.python.org/pep-0621/#readme
+requires-python = ">=3.9"
+dynamic = ["version"]
+name = "python-vagrant"
+description = "Python bindings for interacting with Vagrant virtual machines."
+readme = "README.md"
+authors = [{ "name" = "Todd Francis DeLuca", "email" = "todddeluca@yahoo.com" }]
+maintainers = [
+ { "name" = "Sorin Sbarnea", "email" = "sorin.sbarnea@gmail.com" }
+]
+license = { text = "MIT" }
+classifiers = [
+ "Development Status :: 4 - Beta",
+ "License :: OSI Approved :: MIT License",
+ "Operating System :: OS Independent",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Topic :: Utilities",
+]
+keywords = ["box", "vagrant", "vagrantfile", "virtual-machine", "virtualbox"]
+
+[project.urls]
+homepage = "https://github.com/pycontribs/python-vagrant"
+repository = "https://github.com/pycontribs/python-vagrant"
+changelog = "https://github.com/pycontribs/python-vagrant/releases"
+
+[project.optional-dependencies]
+test = [
+ "coverage>=6.3",
+ "pytest-cov>=3.0.0",
+ "pytest>=7.0.0",
+ "pytest-plus>=0.2",
+]
+
[tool.coverage.run]
source = ["src"]
branch = true
@@ -17,10 +51,58 @@ exclude_lines = ["pragma: no cover", "if TYPE_CHECKING:"]
[tool.isort]
profile = "black"
+[tool.mypy]
+python_version = 3.9
+color_output = true
+error_summary = true
+check_untyped_defs = true
+disallow_untyped_calls = true
+# disallow_untyped_defs = True
+# disallow_any_generics = True
+# disallow_any_unimported = True
+# warn_redundant_casts = True
+# warn_return_any = True
+# warn_unused_configs = True
+# site-packages is here to help vscode mypy integration getting confused
+exclude = "(build|test/local-content|site-packages)"
+
+[tool.pylint.IMPORTS]
+preferred-modules = ["py:pathlib", "unittest:pytest"]
+
+[tool.pylint.MASTER]
+# pylint defaults + f,fh,v,id
+good-names = "i,j,k,_,f,fh,v,id,T"
+
+[tool.pylint."MESSAGES CONTROL"]
+disable = [
+ # On purpose disabled as we rely on black
+ "line-too-long",
+ # TODO(ssbarnea): remove temporary skips adding during initial adoption:
+ "consider-using-f-string",
+ "duplicate-code",
+ "invalid-name",
+ "missing-function-docstring",
+ "no-else-return",
+ "no-self-use",
+ "preferred-module",
+ "protected-access",
+ "too-many-arguments",
+ "too-many-branches",
+ "too-many-lines",
+ "too-many-public-methods",
+ "too-many-statements",
+ "unused-variable",
+]
+
[tool.pytest.ini_options]
# ensure we treat warnings as error
filterwarnings = ["error"]
+addopts = ["-p", "no:pytest_cov"]
+# https://code.visualstudio.com/docs/python/testing
+# coverage is re-enabled in `tox.ini`. That approach is safer than
+# `--no-cov` which prevents activation from tox.ini and which also fails
+# when plugin is effectively missing.
[tool.setuptools_scm]
local_scheme = "no-local-version"
write_to = "src/vagrant/_version.py"