Files
pipenv/pyproject.toml
T
2023-06-30 08:36:14 +02:00

195 lines
4.5 KiB
TOML

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[tool.black]
line-length = 90
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.github
| \.hg
| \.mypy_cache
| \.tox
| \.pyre_configuration
| \.venv
| _build
| buck-out
| build
| dist
| pipenv/vendor
| pipenv/patched
| tests/pypi
| tests/test_artifacts
| get-pipenv.py
| pyproject.toml
)
'''
[tool.mypy]
ignore_missing_imports = true
follow_imports = "skip"
html_report = "mypyhtml"
python_version = "3.7"
mypy_path = "typeshed/pyi:typeshed/imports"
[tool.pytest.ini_options]
addopts = "-ra"
plugins = "xdist"
testpaths = ["tests"]
# Add vendor and patched in addition to the default list of ignored dirs
# Additionally, ignore tasks, news, test subdirectories and peeps directory
norecursedirs = [
".*", "build",
"dist",
"CVS",
"_darcs",
"{arch}",
"*.egg",
"vendor",
"patched",
"news",
"tasks",
"docs",
"tests/test_artifacts",
"tests/pypi",
"peeps",
]
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::PendingDeprecationWarning",
]
# These are not all the custom markers, but most of the ones with repeat uses
# `pipenv run pytest --markers` will list all markers inlcuding these
markers = [
"install: tests having to do with `pipenv install`",
"update: tests having to do with `pipenv update`",
"needs_internet: integration tests that require internet to pass",
"basic: basic pipenv tests grouping",
"dev: tests having to do with dev and dev packages",
"system: related or interacting with the os",
"utils: grouping of pipenv utility functions",
"cli: test grouping that relate to command line like `pipenv --flag args`",
"requirements: tests that save and alter pip requirements",
"run: tests that run or execute python through pipenv",
"script: grouping of tests that execute scripts",
"keep_outdated: when an activity is supposed to keep something out of date",
"lock: tests that interact with pipenv lock",
"markers: pipenv environment markers",
"vcs: tests integration with pipenv and vertsion control systems",
"project: tests with the project object",
"sync: related to `pipenv sync`",
"rrule: relating to rrules (as in recurring time)",
"tzoffset: timezone offset",
"gettz: tests with gettz (get timezone) from dateutil lib",
"tzstr: timezone string",
"extras",
"extended",
"ext: extra non-categorized tests",
]
[tool.ruff]
exclude = [
"pipenv/patched/*",
"pipenv/vendor/*",
]
select = [
"ASYNC",
"B",
"C9",
"E",
"F",
"FLY",
"G",
"I",
"ISC",
"PIE",
"PL",
"TID",
"UP",
"W",
"YTT"
]
ignore = [
"B904",
"PIE790",
"PLR5501",
"PLW2901",
]
line-length = 137
target-version = "py37"
[tool.ruff.mccabe]
max-complexity = 44
[tool.ruff.pylint]
allow-magic-value-types = ["int", "str"]
max-args = 20
max-branches = 38
max-returns = 9
max-statements = 155
[tool.ruff.per-file-ignores]
"docs/conf.py" = ["E402", "E501"]
"get-pipenv.py" = ["E402"]
"pipenv/__init__.py" = ["E401"]
"pipenv/cli/command.py" = ["TID252"]
"pipenv/utils/internet.py" = ["PLW0603"]
"pipenv/utils/resolver.py" = ["B018"]
"tests/*" = ["E501", "F401", "I", "PLC1901", "S101"]
"tests/integration/conftest.py" = ["B003", "PIE800", "PLW0603"]
"tests/integration/test_pipenv.py" = ["E741"]
"tests/integration/test_requirements.py" = ["E741"]
"tests/unit/test_funktools.py" = ["B015"]
"tests/unit/test_utils.py" = ["F811"]
[tool.towncrier]
package = "pipenv"
filename = "CHANGELOG.rst"
issue_format = "`#{issue} <https://github.com/pypa/pipenv/issues/{issue}>`_"
directory = "news/"
title_format = "{version} ({project_date})"
template = "news/towncrier_template.rst"
[[tool.towncrier.type]]
directory = "feature"
name = "Features & Improvements"
showcontent = true
[[tool.towncrier.type]]
directory = "behavior"
name = "Behavior Changes"
showcontent = true
[[tool.towncrier.type]]
directory = "bugfix"
name = "Bug Fixes"
showcontent = true
[[tool.towncrier.type]]
directory = "vendor"
name = "Vendored Libraries"
showcontent = true
[[tool.towncrier.type]]
directory = "doc"
name = "Improved Documentation"
showcontent = true
[[tool.towncrier.type]]
directory = "trivial"
name = "Trivial Changes"
showcontent = false
[[tool.towncrier.type]]
directory = "removal"
name = "Removals and Deprecations"
showcontent = true
[[tool.towncrier.type]]
directory = "process"
name = "Relates to dev process changes"
showcontent = true