[project]
name = 'rendercv'
description = 'LaTeX CV generator from a YAML/JSON file'
version = '0.3'
authors = [{ name = 'Sina Atalay' }]
requires-python = '>=3.10'
readme = "README.md"
dependencies = [
    'annotated-types==0.6.0',
    'Jinja2==3.1.2',
    'phonenumbers==8.13.22',
    'pydantic==2.4.2',
    'pydantic-extra-types==2.1.0',
    'pydantic_core==2.10.1',
    'typing_extensions==4.8.0',
    'pyspellchecker==0.7.2',
    'ruamel.yaml==0.17.35',
    'email-validator==2.0.0.post2',
    'typer[all]==0.9.0',
]
classifiers = [
    "Intended Audience :: Science/Research",
    "Intended Audience :: Education",
    "Topic :: Text Processing :: Markup :: LaTeX",
    "Topic :: Printing",
    "Development Status :: 5 - Production/Stable",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]

[project.urls]
Documentation = 'https://sinaatalay.github.io/rendercv/'
Source = 'https://github.com/sinaatalay/rendercv'

[project.scripts]
rendercv = 'rendercv.__main__:cli'

[project.optional-dependencies]
docs = ["mkdocs", "mkdocs-material", "mkdocstrings-python"]
testing = ["coverage", "pytest", "pytest-cov"]
linting = ["black", "ruff"]

[build-system]
# Use setuptools-scm to be able to include TinyTeX in the package
requires = ['setuptools>=68.2.2', "setuptools-scm>=8.0.4"]
build-backend = 'setuptools.build_meta'

[tool.ruff]
line-length = 88

[tool.coverage.run]
source = ['rendercv']
relative_files = true

# [tool.coverage.report]
# precision = 2
# exclude_lines = [
#     'pragma: no cover',
#     'raise NotImplementedError',
#     'if TYPE_CHECKING:',
#     'if typing.TYPE_CHECKING:',
#     '@overload',
#     '@typing.overload',
#     '\(Protocol\):$',
#     'typing.assert_never',
#     'assert_never',
# ]

[tool.black]
color = true
line-length = 88
experimental-string-processing = true
