InstantMesh / pixi.toml
Jeremy Leibs
Initial commit
344c16f unverified
# Pixi is a package management tool for developers.
# Before running a task, pixi ensures that all listed dependencies are installed first.echop
#
# Pixi is not required for rerun, but it is a convenient way to install the
# dependencies required for this example.
#
# https://prefix.dev/docs/pixi/overview
#
# Use `pixi task list` to list the available tasks,
# and `pixi run TASK` to run it (e.g. `pixi run example`).
[project]
name = "new_project_name"
authors = ["rerun.io <opensource@rerun.io>"]
channels = ["conda-forge"]
description = "new_project_name"
homepage = "https://rerun.io"
license = "MIT OR Apache-2.0"
platforms = ["linux-64", "linux-aarch64", "osx-arm64", "osx-64", "win-64"]
readme = "README.md"
repository = "https://github.com/rerun-io/new_repo_name"
version = "0.1.0"
[tasks]
# ------------------------------------------------------------------------------------------
# C++ stuff:
# Note: extra CLI argument after `pixi run TASK` are passed to the task cmd.
# Clean C++ build artifacts
clean = { cmd = "rm -rf build bin CMakeFiles/" }
print-env = { cmd = "echo $PATH" }
prepare = "cmake -G 'Ninja' -B build -S . -DCMAKE_BUILD_TYPE=RelWithDebInfo"
# Build C++ example
build = { cmd = "cmake --build build --config RelWithDebInfo --target all", depends_on = [
"prepare",
] }
# Run C++ example
example = { cmd = "build/PROJ_NAME", depends_on = ["build"] }
# Format C++ code
cpp-fmt = { cmd = "clang-format -i src/*.[hc]pp" }
# Check formatting of C++ code
cpp-fmt-check = { cmd = "clang-format --dry-run --Werror -i src/*.[hc]pp" }
# ------------------------------------------------------------------------------------------
# Python stuff:
# Run first ruff fix, then ruff format, order is important see also https://twitter.com/charliermarsh/status/1717229721954799727
py-fmt = "ruff check --fix --config pyproject.toml . && ruff format --config pyproject.toml ."
py-fmt-check = "ruff check --config pyproject.toml . && ruff format --check --config pyproject.toml"
py-lint = "mypy --install-types --non-interactive --no-warn-unused-ignore"
# ------------------------------------------------------------------------------------------
# General stuff:
lint-typos = "typos"
[dependencies]
# C++ build-tools:
cmake = "3.27.6"
clang-tools = ">=15,<16" # clang-format
cxx-compiler = "1.6.0.*"
ninja = "1.11.1"
# Python stuff:
mypy = "1.8.0"
ruff = "0.3.7"
types-requests = ">=2.31,<3" # mypy type hint stubs for generate_changelog.py
# General stuff:
typos = ">=1.16.20"