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¶
There are two ways of developing RenderCV: locally or with GitHub Codespaces.
Develop Locally¶
- 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.
- Go to the
rendercv
directory. -
RenderCV uses three virtual environments:
default
: For the development and testing. It contains packages like Ruff, Black, pytest etc.test
: It's the same as thedefault
environment, but it's created with Python 3.10, 3.11, 3.12, and 3.13 for testing.docs
: For building the documentation.
Create the virtual environments with the following commands.
-
To use the virtual environments, either
-
Activate one of the virtual environments with one of the following commands.
-
Select one of the virtual environments in your Integrated Development Environment (IDE).
- Press
Ctrl+Shift+P
. - Type
Python: Select Interpreter
. - Select one of the virtual environments created by Hatch.
To be added.
- Press
-
Develop with GitHub Codespaces¶
- Fork the repository.
- Navigate to the forked repository.
- Click the <> Code button, then click the Codespaces tab, and then click Create codespace on main.
Then, Visual Studio Code for the Web will be opened with a ready-to-use development environment.
This is done with Development containers, and the environment is defined in the .devcontainer/devcontainer.json
file. Dev containers can also be run locally using various supporting tools and editors.
Available Commands¶
These commands are defined in the pyproject.toml
file.
- Format the code with Black and Ruff
- Lint the code with Ruff
- Run pre-commit
- Check the types with Pyright
- Run the tests with Python 3.13
- Run the tests with Python 3.10, 3.11, 3.12, and 3.13
- Run the tests with Python 3.13 and generate a coverage report
- Start the development server for the documentation
- Build the documentation
- Update schema.json
- Update
examples
folder - Update figures of the entry types in the "Structure of the YAML Input File"
About pyproject.toml
¶
pyproject.toml
contains the metadata, dependencies, and tools required for the project. Please read through the file to understand the project's technical details.