3.5 KiB
Developer Guide
All contributions to RenderCV are welcome!
The source code is thoroughly documented and well-commented, making it an enjoyable read and easy to understand. A detailed documentation of the source code is available in the reference.
Getting Started
-
Ensure that you have Python version 3.10 or higher.
-
Install Hatch, as it is the project manager for RenderCV. The installation guide for Hatch can be found here.
-
Clone the repository recursively (because TinyTeX is being used as a submodule) with the following command.
git clone --recursive https://github.com/sinaatalay/rendercv.git -
Go to the
rendercvdirectory.cd rendercv -
RenderCV uses three virtual environments:
default: For the development. It contains packages like Ruff, Black, etc.docs: For building the documentation.test: For testing RenderCV.
Create the virtual environments with the following commands.
hatch env create default hatch env create docs hatch env create test -
To use the virtual environments, either
-
Activate one of the virtual environments with the following command.
hatch shell default -
Select one of the virtual environments in your Integrated Development Environment (IDE).
=== "Visual Studio Code"
- Press `Ctrl+Shift+P`. - Type `Python: Select Interpreter`. - Select one of the virtual environments created by Hatch.=== "Other"
To be added.
-
Available Commands
These commands are defined in the pyproject.toml file.
- Format the code with Black:
hatch run default:format - Lint the code with Ruff:
hatch run default:lint - Sort the imports with isort:
hatch run default:sort-imports - Check the types with Pyright
hatch run default:check-types - Run the tests:
hatch run test:run - Run the tests and generate a coverage report:
hatch run test:run-and-report - Start the development server for the documentation:
hatch run docs:serve - Build the documentation:
hatch run docs:build - Update schema.json:
hatch run docs:update-schema - Update
examplesfolder:hatch run docs:update-examples - Update figures of the entry types in the "Structure of the YAML Input File":
hatch run docs:update-entry-figures
About pyproject.toml
pyproject.toml contains all the metadata, dependencies, and tools required for the project. Please read through the file to understand the project's technical details.