158 lines
4.2 KiB
TOML
158 lines
4.2 KiB
TOML
[build-system]
|
|
requires = ['hatchling']
|
|
build-backend = 'hatchling.build'
|
|
|
|
[tool.hatch.version]
|
|
path = 'pydantic_extra_types/__init__.py'
|
|
|
|
[project]
|
|
name = 'pydantic-extra-types'
|
|
description = 'Extra Pydantic types.'
|
|
authors = [
|
|
{ name = 'Samuel Colvin', email = 's@muelcolvin.com' },
|
|
{ name = 'Yasser Tahiri', email = 'hello@yezz.me' },
|
|
]
|
|
license = 'MIT'
|
|
readme = 'README.md'
|
|
classifiers = [
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3 :: Only',
|
|
'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',
|
|
'Programming Language :: Python :: 3.13',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: Information Technology',
|
|
'Intended Audience :: System Administrators',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Operating System :: Unix',
|
|
'Operating System :: POSIX :: Linux',
|
|
'Environment :: Console',
|
|
'Environment :: MacOS X',
|
|
'Framework :: Pydantic',
|
|
'Framework :: Pydantic :: 2',
|
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
'Topic :: Internet',
|
|
]
|
|
requires-python = '>=3.8'
|
|
dependencies = ['pydantic>=2.5.2','typing-extensions']
|
|
dynamic = ['version']
|
|
|
|
[project.optional-dependencies]
|
|
all = [
|
|
'phonenumbers>=8,<9',
|
|
'pycountry>=23',
|
|
'semver>=3.0.2',
|
|
'python-ulid>=1,<2; python_version<"3.9"',
|
|
'python-ulid>=1,<4; python_version>="3.9"',
|
|
'pendulum>=3.0.0,<4.0.0',
|
|
'pytz>=2024.1',
|
|
'semver~=3.0.2',
|
|
'tzdata>=2024.1',
|
|
]
|
|
phonenumbers = ['phonenumbers>=8,<9']
|
|
pycountry = ['pycountry>=23']
|
|
semver = ['semver>=3.0.2']
|
|
python_ulid = [
|
|
'python-ulid>=1,<2; python_version<"3.9"',
|
|
'python-ulid>=1,<4; python_version>="3.9"',
|
|
]
|
|
pendulum = ['pendulum>=3.0.0,<4.0.0']
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"coverage[toml]>=7.6.1",
|
|
"pytest-pretty>=1.2.0",
|
|
"dirty-equals>=0.7.1",
|
|
"pytest>=8.3.2",
|
|
]
|
|
lint = [
|
|
"ruff>=0.7.4",
|
|
"mypy>=0.910",
|
|
"annotated-types>=0.7.0",
|
|
"types-pytz>=2024.1.0.20240417",
|
|
]
|
|
extra = [
|
|
{ include-group = 'dev' },
|
|
{ include-group = 'lint' },
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = 'https://github.com/pydantic/pydantic-extra-types'
|
|
Source = 'https://github.com/pydantic/pydantic-extra-types'
|
|
Changelog = 'https://github.com/pydantic/pydantic-extra-types/releases'
|
|
Documentation = 'https://docs.pydantic.dev/latest/'
|
|
|
|
[tool.ruff.lint.pyupgrade]
|
|
keep-runtime-typing = true
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py39"
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = [
|
|
"Q",
|
|
"RUF100",
|
|
"C90",
|
|
"UP",
|
|
"I",
|
|
]
|
|
flake8-quotes = { inline-quotes = 'single', multiline-quotes = 'double' }
|
|
isort = {known-first-party = ['pydantic_extra_types', 'tests'] }
|
|
mccabe = { max-complexity = 14 }
|
|
pydocstyle = { convention = 'google' }
|
|
|
|
[tool.ruff.format]
|
|
docstring-code-format = true
|
|
quote-style = "single"
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
'pydantic_extra_types/color.py' = ['E741']
|
|
|
|
[tool.coverage.run]
|
|
source = ['pydantic_extra_types']
|
|
branch = true
|
|
context = '${CONTEXT}'
|
|
|
|
[tool.coverage.paths]
|
|
source = [
|
|
'pydantic_extra_types/',
|
|
'/Users/runner/work/pydantic-extra-types/pydantic-extra-types/pydantic_extra_types/',
|
|
'D:\a\pydantic-extra-types\pydantic-extra-types\pydantic_extra_types',
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
precision = 2
|
|
fail_under = 100
|
|
show_missing = true
|
|
skip_covered = true
|
|
exclude_lines = [
|
|
'pragma: no cover',
|
|
'raise NotImplementedError',
|
|
'if TYPE_CHECKING:',
|
|
'@overload',
|
|
]
|
|
|
|
[tool.mypy]
|
|
strict = true
|
|
plugins = 'pydantic.mypy'
|
|
|
|
[tool.pytest.ini_options]
|
|
filterwarnings = [
|
|
'error',
|
|
# This ignore will be removed when pycountry will drop py36 & support py311
|
|
'ignore:::pkg_resources',
|
|
# This ignore will be removed when pendulum fixes https://github.com/sdispater/pendulum/issues/834
|
|
'ignore:datetime.datetime.utcfromtimestamp.*:DeprecationWarning',
|
|
' ignore:Use from pydantic_extra_types.semver import SemanticVersion instead. Will be removed in 3.0.0.:DeprecationWarning'
|
|
]
|
|
|
|
# configuring https://github.com/pydantic/hooky
|
|
[tool.hooky]
|
|
reviewers = ['yezz123', 'Kludex']
|
|
require_change_file = false
|