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 120 121 122 123 124
|
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "python-multipart"
dynamic = ["version"]
description = "A streaming multipart parser for Python"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.8"
authors = [
{ name = "Andrew Dunham", email = "andrew@du.nham.ca" },
{ name = "Marcelo Trylesinski", email = "marcelotryle@gmail.com" },
]
classifiers = [
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Topic :: Software Development :: Libraries :: Python Modules',
]
dependencies = []
[tool.uv]
dev-dependencies = [
"atomicwrites==1.4.1",
"attrs==23.2.0",
"coverage==7.4.4",
"more-itertools==10.2.0",
"pbr==6.0.0",
"pluggy==1.4.0",
"py==1.11.0",
"pytest==8.1.1",
"pytest-cov==5.0.0",
"PyYAML==6.0.1",
"invoke==2.2.0",
"pytest-timeout==2.3.1",
"ruff==0.8.0",
"mypy",
"types-PyYAML",
"atheris==2.3.0; python_version <= '3.11'",
# Documentation
"mkdocs",
"mkdocs-material",
"mkdocstrings-python",
"mkdocs-autorefs",
]
[tool.uv.pip]
reinstall-package = ["python-multipart"]
[project.urls]
Homepage = "https://github.com/Kludex/python-multipart"
Documentation = "https://kludex.github.io/python-multipart/"
Changelog = "https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md"
Source = "https://github.com/Kludex/python-multipart"
[tool.hatch.version]
path = "python_multipart/__init__.py"
[tool.hatch.build.targets.sdist]
include = [
"/python_multipart",
"/tests",
"CHANGELOG.md",
"LICENSE.txt",
]
[tool.hatch.build.targets.wheel]
packages = ["python_multipart"]
[tool.mypy]
strict = true
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = ["E", "F", "I", "FA"]
ignore = ["B904", "B028", "F841", "E741"]
[tool.ruff.format]
skip-magic-trailing-comma = true
[tool.ruff.lint.isort]
combine-as-imports = true
split-on-trailing-comma = false
[tool.ruff.lint.per-file-ignores]
"multipart/*.py" = ["F403"]
"__init__.py" = ["F401"]
[tool.coverage.run]
branch = false
omit = ["tests/*"]
[tool.coverage.report]
fail_under = 100
skip_covered = true
show_missing = true
exclude_lines = [
"pragma: no cover",
"raise NotImplementedError",
"def __str__",
"def __repr__",
"if 0:",
"if False:",
"if __name__ == .__main__.:",
"if self\\.config\\['DEBUG'\\]:",
"if self\\.debug:",
"except ImportError:",
]
[tool.check-sdist]
git-only = ["docs", "fuzz", "scripts", "mkdocs.yml", "uv.lock", "SECURITY.md"]
|