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 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 # 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 # many build packages like `setuptools`, `flit`, `poetry`, `hatchling`, etc. We will use
# `hatch`. # `hatchling`.
requires = ["hatchling"] # Our dependency to build RenderCV requires = ["hatchling"] # Our dependency to build RenderCV
# Python has a standard object format called build-backend object. Python standard asks # 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"] include = ["/README.md", "/rendercv"]
[project] [project]
# Under the `project` section, we specify the metadata about RenderCV.e will use # Under the `project` section, we specify the metadata about RenderCV.
# hatchling to generate the version number of RenderCV. It will go to the `path` below
# and get the version number from there.
name = 'rendercv' name = 'rendercv'
description = 'LaTeX CV generator from a YAML/JSON input file' description = 'LaTeX CV generator engine from a YAML input file'
dynamic = [ dynamic = [
"version", "version",
] # We will use hatchling to generate the version number ] # 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 # RenderCV depends on these packages. They will be installed automatically when RenderCV
# is installed: # is installed:
dependencies = [ dependencies = [
'annotated-types==0.6.0', 'Jinja2==3.1.3', # to generate LaTeX and Markdown files
'Jinja2==3.1.3', 'phonenumbers==8.13.30', # to validate phone numbers
'phonenumbers==8.13.28', 'email-validator==2.1.0.post1', # to validate email addresses
'pydantic==2.5.3', 'pydantic==2.6.1', # to validate and parse the input file
'pydantic-extra-types==2.4.1', 'pydantic-extra-types==2.5.0', # to validate some extra types
'typing_extensions==4.9.0', 'ruamel.yaml==0.18.6', # to parse YAML files
'ruamel.yaml==0.18.5', 'typer[all]==0.9.0', # to create the command-line interface
'email-validator==2.1.0.post1', "markdown==3.5.2", # to convert Markdown to HTML
'typer[all]==0.9.0',
"markdown==3.5.2",
] ]
classifiers = [ classifiers = [
"Intended Audience :: Science/Research", "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 # 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. # users of RenderCV will build the documentation, so these are optional dependencies.
# The documentation of RenderCV is built using MkDocs. docs = [
building_docs = ["mkdocs-material==9.5.4", "mkdocstrings-python==1.8.0"] "mkdocs-material==9.5.9", # to build docs
"mkdocstrings-python==1.8.0", # to build reference documentation from docstrings
# For tests, RenderCV uses pytest. Coverage package is used to generate coverage ]
# reports. tests = [
testing = [ "pytest==8.0.1", # to run the tests
"coverage==7.4.0", "coverage==7.4.1", # to generate coverage reports
"pytest==7.4.4", "time-machine==2.13.0", # to select an arbitrary date and time for testing
"time-machine==2.13.0", "pypdf==4.0.2", # to read PDF files
"pypdf==4.0.1", ]
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 # 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. # file automatically.
[tool.black] [tool.black]
line-length = 88 # The maximum line length line-length = 88 # maximum line length
preview = true preview = true # to allow enable-unstable-feature
enable-unstable-feature = ["string_processing"] enable-unstable-feature = [
"string_processing",
] # breaking strings into multiple lines
[tool.coverage.run] [tool.coverage.run]
source = ['rendercv'] 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