1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
[build-system]
requires = [
"setuptools>=80",
"setuptools_scm>=8",
]
build-backend = "setuptools.build_meta"
[project]
dynamic = [
"readme",
"version",
]
name = "lazy-object-proxy"
license = "BSD-2-Clause"
license-files = ["LICENSE"]
description = "A fast and thorough lazy object proxy."
authors = [
{ name = "Ionel Cristian Mărieș", email = "contact@ionelmc.ro" },
]
classifiers = [
# complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Operating System :: Unix",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
# uncomment if you test on these interpreters:
# "Programming Language :: Python :: Implementation :: IronPython",
# "Programming Language :: Python :: Implementation :: Jython",
# "Programming Language :: Python :: Implementation :: Stackless",
"Topic :: Utilities",
]
keywords = [
# eg: "keyword1", "keyword2", "keyword3",
]
requires-python = ">=3.9"
dependencies = [
]
[project.optional-dependencies]
# rst = ["docutils>=0.11"]
[project.urls]
"Sources" = "https://github.com/ionelmc/python-lazy-object-proxy"
"Documentation" = "https://python-lazy-object-proxy.readthedocs.io/"
"Changelog" = "https://python-lazy-object-proxy.readthedocs.io/en/latest/changelog.html"
"Issue Tracker" = "https://github.com/ionelmc/python-lazy-object-proxy/issues"
[tool.setuptools.dynamic]
readme = { file = ["README.rst"] }
[tool.setuptools_scm]
local_scheme = "dirty-tag"
write_to = "src/lazy_object_proxy/_version.py"
fallback_version = "1.12.0"
[tool.ruff]
extend-exclude = ["static", "ci/templates"]
line-length = 140
src = ["src", "tests"]
target-version = "py39"
[tool.ruff.lint.per-file-ignores]
"ci/*" = ["S"]
[tool.ruff.lint]
ignore = [
"RUF001", # ruff-specific rules ambiguous-unicode-character-string
"S101", # flake8-bandit assert
"S308", # flake8-bandit suspicious-mark-safe-usage
"E501", # pycodestyle line-too-long
"DTZ001",
"PT011",
"PT012",
"B004",
"S102",
"PLC0415",
]
select = [
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"DTZ", # flake8-datetimez
"E", # pycodestyle errors
"EXE", # flake8-executable
"F", # pyflakes
"I", # isort
"INT", # flake8-gettext
"PIE", # flake8-pie
"PLC", # pylint convention
"PLE", # pylint errors
"PT", # flake8-pytest-style
"PTH", # flake8-use-pathlib
"RSE", # flake8-raise
"RUF", # ruff-specific rules
"S", # flake8-bandit
"UP", # pyupgrade
"W", # pycodestyle warnings
]
[tool.ruff.lint.flake8-pytest-style]
fixture-parentheses = false
mark-parentheses = false
[tool.ruff.lint.isort]
forced-separate = ["conftest"]
force-single-line = true
[tool.ruff.format]
quote-style = "single"
|