update pyproject.toml

This commit is contained in:
Sina Atalay 2024-02-18 17:45:35 +01:00
parent abf9721b17
commit 9cdd7e5b0f
1 changed files with 31 additions and 34 deletions

View File

@ -14,8 +14,8 @@
# to PyPI. See https://packaging.python.org/en/latest/tutorials/packaging-projects/
# To build RenderCV, we need to specify which build package we want to use. There are
# many build packages like `setuptools`, `flit`, `poetry`, `hatch`, etc. We will use
# `hatch`.
# many build packages like `setuptools`, `flit`, `poetry`, `hatchling`, etc. We will use
# `hatchling`.
requires = ["hatchling"] # Our dependency to build RenderCV
# Python has a standard object format called build-backend object. Python standard asks
@ -37,11 +37,9 @@ path = "rendercv/__init__.py"
include = ["/README.md", "/rendercv"]
[project]
# Under the `project` section, we specify the metadata about RenderCV.e will use
# hatchling to generate the version number of RenderCV. It will go to the `path` below
# and get the version number from there.
# Under the `project` section, we specify the metadata about RenderCV.
name = 'rendercv'
description = 'LaTeX CV generator from a YAML/JSON input file'
description = 'LaTeX CV generator engine from a YAML input file'
dynamic = [
"version",
] # We will use hatchling to generate the version number
@ -51,16 +49,14 @@ readme = "README.md"
# RenderCV depends on these packages. They will be installed automatically when RenderCV
# is installed:
dependencies = [
'annotated-types==0.6.0',
'Jinja2==3.1.3',
'phonenumbers==8.13.28',
'pydantic==2.5.3',
'pydantic-extra-types==2.4.1',
'typing_extensions==4.9.0',
'ruamel.yaml==0.18.5',
'email-validator==2.1.0.post1',
'typer[all]==0.9.0',
"markdown==3.5.2",
'Jinja2==3.1.3', # to generate LaTeX and Markdown files
'phonenumbers==8.13.30', # to validate phone numbers
'email-validator==2.1.0.post1', # to validate email addresses
'pydantic==2.6.1', # to validate and parse the input file
'pydantic-extra-types==2.5.0', # to validate some extra types
'ruamel.yaml==0.18.6', # to parse YAML files
'typer[all]==0.9.0', # to create the command-line interface
"markdown==3.5.2", # to convert Markdown to HTML
]
classifiers = [
"Intended Audience :: Science/Research",
@ -96,21 +92,20 @@ rendercv = 'rendercv.__main__:app'
# documentation of RenderCV, we need to install some packages. However, not all the
# users of RenderCV will build the documentation, so these are optional dependencies.
# The documentation of RenderCV is built using MkDocs.
building_docs = ["mkdocs-material==9.5.4", "mkdocstrings-python==1.8.0"]
# For tests, RenderCV uses pytest. Coverage package is used to generate coverage
# reports.
testing = [
"coverage==7.4.0",
"pytest==7.4.4",
"time-machine==2.13.0",
"pypdf==4.0.1",
docs = [
"mkdocs-material==9.5.9", # to build docs
"mkdocstrings-python==1.8.0", # to build reference documentation from docstrings
]
tests = [
"pytest==8.0.1", # to run the tests
"coverage==7.4.1", # to generate coverage reports
"time-machine==2.13.0", # to select an arbitrary date and time for testing
"pypdf==4.0.2", # to read PDF files
]
dev = [
"ruff==0.2.2", # to lint the code
"black==24.2.0", # to format the code
]
# Ruff is a linter (a tool to flag stylistic errors, bugs, suspicious constructs, etc.)
# Black is a code formatter.
development = ["ruff==0.1.13", "black==24.1.1"]
# RenderCV uses different tools to check the code quality, format the code, build the
@ -120,10 +115,12 @@ development = ["ruff==0.1.13", "black==24.1.1"]
# file automatically.
[tool.black]
line-length = 88 # The maximum line length
preview = true
enable-unstable-feature = ["string_processing"]
line-length = 88 # maximum line length
preview = true # to allow enable-unstable-feature
enable-unstable-feature = [
"string_processing",
] # breaking strings into multiple lines
[tool.coverage.run]
source = ['rendercv']
relative_files = true
relative_files = true # use relative paths instead of absolute paths, this is useful for combining coverage reports from different OSes