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
|
[build-system]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"
[project]
name = "cliff"
description = "Command Line Interface Formulation Framework"
authors = [
{name = "OpenStack", email = "openstack-discuss@lists.openstack.org"},
]
readme = {file = "README.rst", content-type = "text/x-rst"}
license = {text = "Apache-2.0"}
dynamic = ["version", "dependencies"]
requires-python = ">=3.10"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: POSIX :: Linux",
"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",
]
[project.urls]
Homepage = "https://docs.openstack.org/cliff/"
Repository = "https://opendev.org/openstack/cliff/"
[project.entry-points."cliff.formatter.list"]
table = "cliff.formatters.table:TableFormatter"
csv = "cliff.formatters.commaseparated:CSVLister"
value = "cliff.formatters.value:ValueFormatter"
yaml = "cliff.formatters.yaml_format:YAMLFormatter"
json = "cliff.formatters.json_format:JSONFormatter"
[project.entry-points."cliff.formatter.show"]
table = "cliff.formatters.table:TableFormatter"
shell = "cliff.formatters.shell:ShellFormatter"
value = "cliff.formatters.value:ValueFormatter"
yaml = "cliff.formatters.yaml_format:YAMLFormatter"
json = "cliff.formatters.json_format:JSONFormatter"
[project.entry-points."cliff.formatter.completion"]
bash = "cliff.complete:CompleteBash"
none = "cliff.complete:CompleteNoCode"
# NOTE(dhellmann): Duplicated from demoapp/setup.py for the documentation
# build.
[project.entry-points."cliff.demo"]
simple = "cliffdemo.simple:Simple"
two_part = "cliffdemo.simple:Simple"
error = "cliffdemo.simple:Error"
"list files" = "cliffdemo.list:Files"
files = "cliffdemo.list:Files"
file = "cliffdemo.show:File"
"show file" = "cliffdemo.show:File"
unicode = "cliffdemo.encoding:Encoding"
hooked = "cliffdemo.hook:Hooked"
[project.entry-points."cliff.demo.hooked"]
sample-hook = "cliffdemo.hook:Hook"
[tool.setuptools]
packages = [
"cliff"
]
[tool.mypy]
python_version = "3.10"
show_column_numbers = true
show_error_context = true
strict = true
# keep this in-sync with 'mypy.exclude' in '.pre-commit-config.yaml'
exclude = '''
(?x)(
doc
| demoapp
| releasenotes
)
'''
[[tool.mypy.overrides]]
module = ["cliff.tests.*"]
disallow_untyped_calls = false
disallow_untyped_defs = false
disallow_subclassing_any = false
[tool.ruff]
line-length = 79
target-version = "py310"
[tool.ruff.format]
quote-style = "preserve"
docstring-code-format = true
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "S", "UP"]
[tool.ruff.lint.per-file-ignores]
"cliff/tests/*" = ["S"]
|