crv.io.artifacts
Experimental API
crv.io.artifacts
Artifacts helpers for Run Bundle outputs (lab, world, mind).
Layout (file protocol baseline)
-
Notes - This module provides stdlib-only path/atomic write helpers for artifacts. - Parquet writing uses Polars if available (imported inside functions). - Atomicity: tmp write -> fsync -> os.replace (same FS) using io.fs helpers.
crv.io.artifacts.artifacts_root
Root directory for run artifacts.
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
" |
crv.io.artifacts.lab_dir
lab_dir(
settings: crv.io.config.IoSettings,
run_id: crv.core.ids.RunId,
subdir: typing.Literal["tidy", "policy", "probes", "audit"],
) -> str
Subdirectory path for lab artifacts.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subdir
|
typing.Literal['tidy', 'policy', 'probes', 'audit']
|
One of {"tidy","policy","probes","audit"}. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
" |
Source code in src/crv/io/artifacts.py
crv.io.artifacts.file_stat
Return basic file stats.
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, typing.Any]
|
{"path": path, "bytes": int, "created_at": ISO8601} |
Source code in src/crv/io/artifacts.py
crv.io.artifacts.write_text_atomic
Atomically write a small text/JSON payload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
Final destination path. |
required |
text
|
str
|
UTF-8 text. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, typing.Any]
|
file_stat(path) + {"wrote_text": True} |
Source code in src/crv/io/artifacts.py
crv.io.artifacts.write_parquet_atomic
Atomically write a Polars DataFrame to parquet with reasonable defaults.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
Final parquet path. |
required |
df
|
polars.DataFrame
|
Polars DataFrame (pl.DataFrame). Imported lazily to avoid module-level dependency. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, typing.Any]
|
file_stat(path) + {"rows": int} |