Skip to content

Quick Start

Installation

pip install cimhub_distopf

Environment Setup

Two environment variables must be set before importing any CIM objects:

import os
os.environ['CIMG_USE_UNITS'] = 'TRUE'    # enable CIMUnit wrappers
os.environ['CIMG_CIM_PROFILE'] = 'cimhub_2026'

Or set them in your shell before running Python:

export CIMG_USE_UNITS=TRUE
export CIMG_CIM_PROFILE=cimhub_2026

Export a CIM Model to DistOPF

from cimhub_distopf.exporter.cim_to_distopf import cim_to_distopf

# Write CSV files to a directory...
cim_to_distopf(feeder, "/path/to/output/")

# ...or get DataFrames back in memory (output_dir=None)
frames = cim_to_distopf(feeder)   # dict: "bus_data" -> DataFrame, etc.

Read a DistOPF Case

from cimhub_distopf.importer.distopf_to_cim import distopf_to_cim

records = distopf_to_cim("/path/to/case/")   # dict: record class -> [records]

Note

distopf_to_cim currently returns parsed DistOPF LinkML records; full CIM object construction is being added. See Import.

Validation

Run the package test suite:

uv run pytest cimhub_distopf/tests/ -v