python-benedict/pyproject.toml

183 lines
3.9 KiB
TOML

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "python-benedict"
description = "python-benedict is a dict subclass with keylist/keypath/keyattr support, normalized I/O operations (base64, csv, ini, json, pickle, plist, query-string, toml, xls, xml, yaml) and many utilities... for humans, obviously."
authors = [
{ name = "Fabio Caccamo", email = "fabio.caccamo@gmail.com" },
]
keywords = [
"python",
"dictionary",
"dictionaries",
"dict",
"benedict",
"subclass",
"extended",
"keylist",
"keypath",
"utility",
"io",
"data",
"file",
"url",
"read",
"write",
"parse",
"configparser",
"config",
"cfg",
"pickle",
"plist",
"base64",
"csv",
"html",
"ini",
"json",
"query-string",
"toml",
"xml",
"yaml",
"clean",
"clone",
"deepclone",
"deepupdate",
"dump",
"filter",
"flatten",
"groupby",
"invert",
"merge",
"move",
"nest",
"remove",
"rename",
"search",
"standardize",
"subset",
"swap",
"traverse",
"unflatten",
"unique",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: MacOS X",
"Environment :: Other Environment",
"Environment :: Web Environment",
"Environment :: Win32 (MS Windows)",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Education :: Testing",
"Topic :: Software Development :: Build Tools",
"Topic :: System :: Filesystems",
"Topic :: Text Processing :: Markup :: XML",
"Topic :: Utilities",
]
dependencies = [
"python-fsutil >= 0.9.3, < 1.0.0",
"python-slugify >= 7.0.0, < 9.0.0",
"requests >= 2.26.0, < 3.0.0",
]
dynamic = ["version"]
maintainers = [
{ name = "Fabio Caccamo", email = "fabio.caccamo@gmail.com" },
]
[project.readme]
file = "README.md"
content-type = "text/markdown"
[project.license]
file = "LICENSE.txt"
content-type = "text/plain"
[project.urls]
Homepage = "https://github.com/fabiocaccamo/python-benedict"
Download = "https://github.com/fabiocaccamo/python-benedict/releases"
Documentation = "https://github.com/fabiocaccamo/python-benedict#readme"
Issues = "https://github.com/fabiocaccamo/python-benedict/issues"
Funding = "https://github.com/sponsors/fabiocaccamo/"
Twitter = "https://twitter.com/fabiocaccamo"
[project.optional-dependencies]
all = [
"python-benedict[io,parse,s3]",
]
html = [
"beautifulsoup4 >= 4.12.0, < 5.0.0",
"python-benedict[xml]",
]
io = [
"python-benedict[html,toml,xls,xml,yaml]",
]
parse = [
"ftfy >= 6.0.0, < 7.0.0",
"mailchecker >= 4.1.0, < 7.0.0",
"phonenumbers >= 8.12.0, < 9.0.0",
"python-dateutil >= 2.8.0, < 3.0.0",
]
s3 = [
"boto3 >= 1.24.89, < 2.0.0",
]
toml = [
"toml >= 0.10.2, < 1.0.0",
]
xls = [
"openpyxl >= 3.0.0, < 4.0.0",
"xlrd >= 2.0.0, < 3.0.0",
]
xml = [
"xmltodict >= 0.12.0, < 1.0.0",
]
yaml = [
"pyyaml >= 6.0, < 7.0",
]
[tool.black]
line-length = 88
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
| venv
)/
'''
[tool.ruff]
line-length = 88
[tool.ruff.lint]
ignore = ["B905", "E501"]
select = ["B", "B9", "C", "E", "F", "W"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.setuptools.packages.find]
include = ["benedict*"]
[tool.setuptools.dynamic.version]
attr = "benedict.metadata.__version__"