Skip to main content

CSV Tree Exporter

CSV exporter plugin for vcti-tree-exporter: writes a vcti tree as a directory tree of CSV tables.

CsvExporter serializes any vcti-tree tree whose node payloads are vcti-datanode DataNodes as a directory of CSV tables mirroring the hierarchy, and ships a get_exporter_descriptor() factory so a consumer registers it in a catalog and resolves it by id ("csv") or by attribute lookup.

CSV suits light 2-D tables of settings and metadata that load straight into pandas — not heavy result arrays. Use HDF5 or NPZ for complete numeric data.

Tree → CSV mapping

The output path is a directory:

out/
  _attributes.json          # the root node's attributes
  info.attributes.json      # a metadata-only leaf -> sidecar only
  materials/                # a group node -> sub-directory
    props.csv               # a structured-array leaf -> table with a header row
    props.attributes.json   # its attributes
  vec.csv                   # a plain 1-D array -> one value per row
  grid.csv                  # a plain 2-D array -> rows
Tree node On disk
node with children sub-directory named after the node
data leaf <name>.csv (structured → header + rows; plain 1-D/2-D → rows)
a node's attributes <name>.attributes.json (leaf) or _attributes.json (group)
a group node's own array _data.csv inside its directory

Names are sanitized to filesystem-safe segments and de-collided case-insensitively (Mat, mat → Mat, mat~1) so nothing is silently overwritten. An array with more than two dimensions raises UnrepresentableNodeError. CSV does not preserve dtype and the export is one-way.

Usage

from pathlib import Path
from vcti.tree.exporter.core import build_registry, get_exporter
from vcti.tree.exporter.csv import get_exporter_descriptor

registry = build_registry([get_exporter_descriptor()])   # plus any other format plugins
get_exporter(registry, "csv").export(tree, Path("out_dir"), overwrite=True)

overwrite=True replaces the existing output directory — point it at a dedicated path.

Dependencies

  • vcti-tree-exporter — the Exporter protocol and the ExporterDescriptor catalog.
  • vcti-tree / vcti-datanode — the tree and payload types.
  • numpy. (CSV writing itself uses only the standard library.)

Metadata

Release files for vcti-tree-exporter-csv 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vcti-tree-exporter-csv 2.0.0
File Size Uploaded
vcti_tree_exporter_csv-2.0.0.tar.gz 9.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vcti-tree-exporter-csv 2.0.0
File Interpreter ABI Platform
vcti_tree_exporter_csv-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.8 kB

Release files / vcti_tree_exporter_csv-2.0.0.tar.gz

Download URL vcti_tree_exporter_csv-2.0.0.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b9017074583995028d8c9323467ef8d18131b87b45710c9f4938da7ec29fbc8e
BLAKE2b-256 checksum
How to use checksums
df96832310577a74ddcb8b6614de4878d9591336d5de51b4ea365344f9938da8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 27, 2026.

Transparency log

Release files / vcti_tree_exporter_csv-2.0.0-py3-none-any.whl

Download URL vcti_tree_exporter_csv-2.0.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57965fbaee3df30886f5d169e6c3425a20862ff80db070fffabe18ffc8c13442
BLAKE2b-256 checksum
How to use checksums
40b4c0052b7d3fd2dfeea3d3227cd5cb895e5964ce98ff061dab79cb8ab2d189
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page