arx.settings
arx.settings
Source: packages/arx/src/arx/settings.py
title: Parse and validate ``.arxproject.toml`` project settings.Functions
resolve_source_root(project: ArxProject) -> Path
title: Resolve the effective source root from manifest defaults.
parameters:
project:
type: ArxProject
returns:
type: Pathdump_settings(settings: ArxProject) -> str
title: Serialize settings into canonical ``.arxproject.toml`` text.
parameters:
settings:
type: ArxProject
returns:
type: strwrite_settings(settings: ArxProject, path: str | Path=DEFAULT_CONFIG_FILENAME) -> Path
title: Write canonical ``.arxproject.toml`` text to disk.
parameters:
settings:
type: ArxProject
path:
type: str | Path
returns:
type: Pathfind_config_file(start: Path | None=None) -> Path | None
title: Walk upward from ``start`` to locate ``.arxproject.toml``.
parameters:
start:
type: Path | None
returns:
type: Path | Noneload_settings_from_text(content: str, source_path: Path | None=None) -> ArxProject
title: Parse and validate one ``.arxproject.toml`` string.
parameters:
content:
type: str
source_path:
type: Path | None
returns:
type: ArxProjectload_settings(path: str | Path | None=None) -> ArxProject
title: Load and validate ``.arxproject.toml`` into a typed dataclass.
parameters:
path:
type: str | Path | None
returns:
type: ArxProjectClasses
ArxProjectError(Exception)
title: Raised when ``.arxproject.toml`` cannot be loaded or validated.Project
title: Parsed project section of .arxproject.toml.
attributes:
name:
type: str
version:
type: str
edition:
type: str | None
description:
type: str | None
license:
type: str | None
authors:
type: tuple[Author, Ellipsis]
dependencies:
type: tuple[str, Ellipsis]
requires_arx:
type: str | NoneDependencyGroupInclude
title: Include one named dependency group inside another group.
attributes:
include_group:
type: strEnvironment
title: Parsed environment section of .arxproject.toml.
attributes:
kind:
type: str | None
name:
type: str | None
path:
type: str | NoneBuild
title: Parsed build section of .arxproject.toml.
attributes:
src_dir:
type: str | None
package:
type: str | None
out_dir:
type: str | None
mode:
type: str | NoneBuildSystem
title: Parsed build-system section of .arxproject.toml.
attributes:
dependencies:
type: tuple[str, Ellipsis]ArxpmDependencyGroup
title: Legacy placeholder for removed ``[arxpm.*]`` sections.
attributes:
dependencies:
type: tuple[str, Ellipsis]Arxpm
title: Legacy placeholder for the removed ``[arxpm]`` section.
attributes:
dependencies:
type: ArxpmDependencyGroup | None
dependencies_dev:
type: ArxpmDependencyGroup | None
extras:
type: dict[str, Any]Tests
title: Parsed tests section of .arxproject.toml.
attributes:
paths:
type: tuple[str, Ellipsis] | None
exclude:
type: tuple[str, Ellipsis] | None
file_pattern:
type: str | None
function_pattern:
type: str | NoneArxProject
title: Full parsed ``.arxproject.toml`` document.
attributes:
project:
type: Project
environment:
type: Environment | None
build:
type: Build | None
build_system:
type: BuildSystem
dependency_groups:
type: dict[str, tuple[DependencyGroupEntry, Ellipsis]]
arxpm:
type: Arxpm | None
tests:
type: Tests | None
source_path:
type: Path | None