2025-02-05 14:02:36 +01:00
|
|
|
[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',
|
|
|
|
'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',
|
|
|
|
]
|
|
|
|
dynamic = ['version']
|
|
|
|
|
|
|
|
[project.optional-dependencies]
|
|
|
|
all = [
|
|
|
|
'phonenumbers>=8,<9',
|
|
|
|
'pycountry>=23',
|
|
|
|
'python-ulid>=1,<2; python_version<"3.9"',
|
|
|
|
'python-ulid>=1,<3; python_version>="3.9"',
|
|
|
|
'pendulum>=3.0.0,<4.0.0'
|
|
|
|
]
|
2025-02-05 14:04:19 +01:00
|
|
|
phonenumbers = ['phonenumbers>=8,<9']
|
|
|
|
pycountry = ['pycountry>=23']
|
|
|
|
python_ulid = [
|
|
|
|
'python-ulid>=1,<2; python_version<"3.9"',
|
|
|
|
'python-ulid>=1,<3; python_version>="3.9"',
|
|
|
|
]
|
|
|
|
pendulum = ['pendulum>=3.0.0,<4.0.0']
|
2025-02-05 14:02:36 +01:00
|
|
|
|
|
|
|
[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 = 'py38'
|
|
|
|
|
|
|
|
[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]
|
|
|
|
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',
|
|
|
|
]
|
|
|
|
|
|
|
|
# configuring https://github.com/pydantic/hooky
|
|
|
|
[tool.hooky]
|
|
|
|
reviewers = ['yezz123', 'Kludex']
|
|
|
|
require_change_file = false
|