Skip to content

Latest commit

 

History

History
124 lines (81 loc) · 2.22 KB

File metadata and controls

124 lines (81 loc) · 2.22 KB

Contributing

Getting started

  1. Fork toml-rs

  2. Clone your fork

via git:

git clone https://github.com/<USERNAME>/toml-rs.git
cd toml-rs

via GitHub CLI:

gh repo clone <USERNAME>/toml-rs
cd toml-rs
  1. Create and activate virtual environment:

on Linux / MacOS:

python3 -m venv .venv  # or uv venv .venv --seed
source .venv/bin/activate

on Windows:

py -m venv .venv  # or uv venv .venv --seed
.venv\scripts\activate
  1. Install development dependencies and project itself:

via pip:

pip install -e . --group dev

via uv:

uv pip install -e . --group dev

Running linters

We use ruff to check code. To run it do:

ruff check

We use rumdl to lint Markdown files. To run it do:

rumdl check

Running type checker

We use ty to check types. To run it do:

ty check

Running tests

We use nox for tests. To run it do:

nox

Running security audit for GitHub Actions

We use zizmor to audit our GitHub Actions workflows for security issues. To run it do:

zizmor .github/

Running spell check

We use typos to check our code for spelling mistakes. To run it locally:

typos

Building with alternative allocators

Project supports compilation with alternative memory allocators: mimalloc and snmalloc.

Mimalloc is used by default.

Building with mimalloc:

maturin develop --release --features mimalloc

Building with snmalloc:

maturin develop --release --features snmalloc

Building with default allocator:

maturin develop --release